diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index ff0c3014b4..a94aa7b702 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -21,75 +21,75 @@ jobs: - uses: actions/checkout@v6 - uses: gradle/actions/wrapper-validation@v5 - # build-examples: - - # strategy: - # fail-fast: false - # matrix: - # include: - # - os: windows-2022 - # artifact-name: Win64 - # - os: macos-14 - # artifact-name: macOS - # - os: ubuntu-24.04 - # artifact-name: Linux - - # name: "Photonlib - Build Examples - ${{ matrix.os }}" - # runs-on: ${{ matrix.os }} - # needs: [build-photonlib-host, build-photonlib-docker] - - # steps: - # - name: Checkout code - # uses: actions/checkout@v6 - # with: - # fetch-depth: 0 - # - name: Fetch tags - # run: git fetch --tags --force - # - uses: actions/setup-java@v5 - # with: - # java-version: 21 - # distribution: temurin - # - name: Install SystemCore Toolchain - # run: ./gradlew installSystemCoreToolchain - # - name: Delete duplicate toolchains - # run: | - # find ~/.gradle/cache/ -name *bookworm* -exec rm -rf {} + - # du -h . | sort -h - # if: matrix.os == 'ubuntu-24.04' - # # Download prebuilt photonlib artifacts - # - uses: actions/download-artifact@v7 - # with: - # name: maven-${{ matrix.artifact-name }} - # - uses: actions/download-artifact@v7 - # with: - # name: maven-Athena - # - name: Move to maven local - # run: | - # mkdir -p ~/.m2/repository/ - # mv maven/org ~/.m2/repository/ - # - name: Copy vendordeps - # shell: bash - # run: | - # for vendordep_folder in photonlib-*-examples/*/; do - # # Remove trailing slash for cross-platform compatibility - # vendordep_folder="${vendordep_folder%/}" - - # # Filter for projects only - # if [ -e "$vendordep_folder/build.gradle" ]; then - # mkdir -p "$vendordep_folder/vendordeps/" - # cp vendordeps/photonlib-json-1.0.json "$vendordep_folder/vendordeps/" - # fi - # done - # - name: Build Java examples - # working-directory: photonlib-java-examples - # run: | - # ./gradlew build - # ./gradlew clean - # - name: Build C++ examples - # working-directory: photonlib-cpp-examples - # run: | - # ./gradlew build - # ./gradlew clean + build-examples: + + strategy: + fail-fast: false + matrix: + include: + - os: windows-2022 + artifact-name: Win64 + - os: macos-14 + artifact-name: macOS + - os: ubuntu-24.04 + artifact-name: Linux + + name: "Photonlib - Build Examples - ${{ matrix.os }}" + runs-on: ${{ matrix.os }} + needs: [build-photonlib-host, build-photonlib-docker] + + steps: + - name: Checkout code + uses: actions/checkout@v6 + with: + fetch-depth: 0 + - name: Fetch tags + run: git fetch --tags --force + - uses: actions/setup-java@v5 + with: + java-version: 21 + distribution: temurin + - name: Install SystemCore Toolchain + run: ./gradlew installSystemCoreToolchain + - name: Delete duplicate toolchains + run: | + find ~/.gradle/cache/ -name *bookworm* -exec rm -rf {} + + du -h . | sort -h + if: matrix.os == 'ubuntu-24.04' + # Download prebuilt photonlib artifacts + - uses: actions/download-artifact@v7 + with: + name: maven-${{ matrix.artifact-name }} + - uses: actions/download-artifact@v7 + with: + name: maven-Athena + - name: Move to maven local + run: | + mkdir -p ~/.m2/repository/ + mv maven/org ~/.m2/repository/ + - name: Copy vendordeps + shell: bash + run: | + for vendordep_folder in photonlib-*-examples/*/; do + # Remove trailing slash for cross-platform compatibility + vendordep_folder="${vendordep_folder%/}" + + # Filter for projects only + if [ -e "$vendordep_folder/build.gradle" ]; then + mkdir -p "$vendordep_folder/vendordeps/" + cp vendordeps/photonlib-json-1.0.json "$vendordep_folder/vendordeps/" + fi + done + - name: Build Java examples + working-directory: photonlib-java-examples + run: | + ./gradlew build + ./gradlew clean + - name: Build C++ examples + working-directory: photonlib-cpp-examples + run: | + ./gradlew build + ./gradlew clean playwright-tests: name: "Playwright E2E tests"