Nightly Build #89
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| # For available runners, see https://docs.github.com/en/enterprise-cloud@latest/actions/reference/runners/github-hosted-runners#standard-github-hosted-runners-for-public-repositories | |
| name: "Nightly Build" | |
| on: | |
| schedule: | |
| - cron: '22 1 * * *' | |
| workflow_dispatch: | |
| env: | |
| GOBO_DEFAULT_GC: no | |
| GOBO_CLI_THREAD: 0 | |
| jobs: | |
| # | |
| # Build Gobo delivery. | |
| # | |
| linux_x86_64_build: | |
| if: ${{ github.repository == 'gobo-eiffel/gobo' }} | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - name: build | |
| run: . "$env:GITHUB_WORKSPACE/.cicd/build_delivery.ps1" github gcc | |
| shell: pwsh | |
| - uses: actions/upload-artifact@v7 | |
| with: | |
| name: gobo_delivery_linux_x86_64 | |
| path: gobo-*.xz | |
| retention-days: 1 | |
| linux_arm64_build: | |
| if: ${{ github.repository == 'gobo-eiffel/gobo' }} | |
| runs-on: ubuntu-24.04-arm | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - name: build | |
| run: . "$env:GITHUB_WORKSPACE/.cicd/build_delivery.ps1" github gcc | |
| shell: pwsh | |
| - uses: actions/upload-artifact@v7 | |
| with: | |
| name: gobo_delivery_linux_arm64 | |
| path: gobo-*.xz | |
| retention-days: 1 | |
| macos_x86_64_build: | |
| if: ${{ github.repository == 'gobo-eiffel/gobo' }} | |
| runs-on: macos-15-intel | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - name: build | |
| run: . "$env:GITHUB_WORKSPACE/.cicd/build_delivery.ps1" github zig | |
| shell: pwsh | |
| - uses: actions/upload-artifact@v7 | |
| with: | |
| name: gobo_delivery_macos_x86_64 | |
| path: gobo-*.xz | |
| retention-days: 1 | |
| macos_arm64_build: | |
| if: ${{ github.repository == 'gobo-eiffel/gobo' }} | |
| runs-on: macos-14 | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - name: build | |
| run: . "$env:GITHUB_WORKSPACE/.cicd/build_delivery.ps1" github zig | |
| shell: pwsh | |
| - uses: actions/upload-artifact@v7 | |
| with: | |
| name: gobo_delivery_macos_arm64 | |
| path: gobo-*.xz | |
| retention-days: 1 | |
| windows_x86_64_build: | |
| if: ${{ github.repository == 'gobo-eiffel/gobo' }} | |
| runs-on: windows-latest | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - name: build | |
| run: . "$env:GITHUB_WORKSPACE/.cicd/build_delivery.ps1" github msc | |
| shell: pwsh | |
| - uses: actions/upload-artifact@v7 | |
| with: | |
| name: gobo_delivery_windows_x86_64 | |
| path: gobo-*.7z | |
| retention-days: 1 | |
| windows_arm64_build: | |
| if: ${{ github.repository == 'gobo-eiffel/gobo' }} | |
| runs-on: windows-11-arm | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - name: build | |
| run: . "$env:GITHUB_WORKSPACE/.cicd/build_delivery.ps1" github msc | |
| shell: pwsh | |
| - uses: actions/upload-artifact@v7 | |
| with: | |
| name: gobo_delivery_windows_arm64 | |
| path: gobo-*.7z | |
| retention-days: 1 | |
| # | |
| # Run tests. | |
| # | |
| linux_x86_64_test: | |
| runs-on: ubuntu-latest | |
| needs: linux_x86_64_build | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| c_compiler: [zig, gcc] | |
| eiffel_compiler: [ge, debug_ge, ise, debug_ise] | |
| system_under_test: [library, tool] | |
| exclude: | |
| - c_compiler: zig | |
| eiffel_compiler: ise | |
| - c_compiler: zig | |
| eiffel_compiler: debug_ise | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - uses: actions/download-artifact@v8 | |
| with: | |
| name: gobo_delivery_linux_x86_64 | |
| path: . | |
| - name: test | |
| run: . "$env:GITHUB_WORKSPACE/.cicd/test_delivery.ps1" github ${{ matrix.c_compiler }} ${{ matrix.eiffel_compiler }} ${{ matrix.system_under_test }} | |
| shell: pwsh | |
| linux_arm64_test: | |
| runs-on: ubuntu-24.04-arm | |
| needs: linux_arm64_build | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| c_compiler: [zig, gcc] | |
| eiffel_compiler: [ge, debug_ge, ise, debug_ise] | |
| system_under_test: [library, tool] | |
| exclude: | |
| - c_compiler: zig | |
| eiffel_compiler: ise | |
| - c_compiler: zig | |
| eiffel_compiler: debug_ise | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - uses: actions/download-artifact@v8 | |
| with: | |
| name: gobo_delivery_linux_arm64 | |
| path: . | |
| - name: test | |
| run: . "$env:GITHUB_WORKSPACE/.cicd/test_delivery.ps1" github ${{ matrix.c_compiler }} ${{ matrix.eiffel_compiler }} ${{ matrix.system_under_test }} | |
| shell: pwsh | |
| macos_x86_64_test: | |
| runs-on: macos-15-intel | |
| needs: macos_x86_64_build | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| c_compiler: [zig, clang] | |
| eiffel_compiler: [ge, debug_ge, ise, debug_ise] | |
| system_under_test: [library, tool] | |
| exclude: | |
| - c_compiler: zig | |
| eiffel_compiler: ise | |
| - c_compiler: zig | |
| eiffel_compiler: debug_ise | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - uses: actions/download-artifact@v8 | |
| with: | |
| name: gobo_delivery_macos_x86_64 | |
| path: . | |
| - name: test | |
| run: . "$env:GITHUB_WORKSPACE/.cicd/test_delivery.ps1" github ${{ matrix.c_compiler }} ${{ matrix.eiffel_compiler }} ${{ matrix.system_under_test }} | |
| shell: pwsh | |
| macos_arm64_test: | |
| runs-on: macos-14 | |
| needs: macos_arm64_build | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| c_compiler: [zig, clang] | |
| eiffel_compiler: [ge, debug_ge] | |
| system_under_test: [library, tool] | |
| exclude: | |
| - c_compiler: zig | |
| eiffel_compiler: ise | |
| - c_compiler: zig | |
| eiffel_compiler: debug_ise | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - uses: actions/download-artifact@v8 | |
| with: | |
| name: gobo_delivery_macos_arm64 | |
| path: . | |
| - name: test | |
| run: . "$env:GITHUB_WORKSPACE/.cicd/test_delivery.ps1" github ${{ matrix.c_compiler }} ${{ matrix.eiffel_compiler }} ${{ matrix.system_under_test }} | |
| shell: pwsh | |
| windows_x86_64_test: | |
| runs-on: windows-2022 | |
| needs: windows_x86_64_build | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| c_compiler: [zig, msc] | |
| eiffel_compiler: [ge, debug_ge, ise, debug_ise] | |
| system_under_test: [library, tool] | |
| exclude: | |
| - c_compiler: zig | |
| eiffel_compiler: ise | |
| - c_compiler: zig | |
| eiffel_compiler: debug_ise | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - uses: actions/download-artifact@v8 | |
| with: | |
| name: gobo_delivery_windows_x86_64 | |
| path: . | |
| - name: test | |
| run: . "$env:GITHUB_WORKSPACE/.cicd/test_delivery.ps1" github ${{ matrix.c_compiler }} ${{ matrix.eiffel_compiler }} ${{ matrix.system_under_test }} | |
| windows_arm64_test: | |
| runs-on: windows-11-arm | |
| needs: windows_arm64_build | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| c_compiler: [zig, msc] | |
| eiffel_compiler: [ge, debug_ge, ise, debug_ise] | |
| system_under_test: [library, tool] | |
| exclude: | |
| - c_compiler: zig | |
| eiffel_compiler: ise | |
| - c_compiler: zig | |
| eiffel_compiler: debug_ise | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - uses: actions/download-artifact@v8 | |
| with: | |
| name: gobo_delivery_windows_arm64 | |
| path: . | |
| - name: test | |
| run: . "$env:GITHUB_WORKSPACE/.cicd/test_delivery.ps1" github ${{ matrix.c_compiler }} ${{ matrix.eiffel_compiler }} ${{ matrix.system_under_test }} | |
| # | |
| # Publish packages. | |
| # | |
| all_publish: | |
| runs-on: ubuntu-latest | |
| needs: [linux_x86_64_test, linux_arm64_test, macos_x86_64_test, macos_arm64_test, windows_x86_64_test, windows_arm64_test] | |
| steps: | |
| - uses: actions/download-artifact@v8 | |
| with: | |
| name: gobo_delivery_linux_x86_64 | |
| path: . | |
| - uses: actions/download-artifact@v8 | |
| with: | |
| name: gobo_delivery_linux_arm64 | |
| path: . | |
| - uses: actions/download-artifact@v8 | |
| with: | |
| name: gobo_delivery_macos_x86_64 | |
| path: . | |
| - uses: actions/download-artifact@v8 | |
| with: | |
| name: gobo_delivery_macos_arm64 | |
| path: . | |
| - uses: actions/download-artifact@v8 | |
| with: | |
| name: gobo_delivery_windows_x86_64 | |
| path: . | |
| - uses: actions/download-artifact@v8 | |
| with: | |
| name: gobo_delivery_windows_arm64 | |
| path: . | |
| - name: publish | |
| uses: pyTooling/Actions/releaser/composite@v1.0.5 | |
| with: | |
| token: ${{ secrets.GITHUB_TOKEN }} | |
| files: gobo-* | |
| tag: nightly | |
| rm: true |