Bump the github-actions group with 6 updates #1780
Workflow file for this run
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
| name: CI Workflow | |
| on: [push, pull_request] | |
| jobs: | |
| linux: | |
| runs-on: ubuntu-latest | |
| strategy: | |
| matrix: | |
| config: [debug, release] | |
| platform: [x64] | |
| depsrc: [none, contrib, system] | |
| cc: [gcc, clang] | |
| timeout-minutes: 15 | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v6 | |
| - name: Install booststrap's dependencies | |
| run: | | |
| sudo apt-get update | |
| sudo apt-get -y install uuid-dev | |
| - name: Install dependencies | |
| if: matrix.depsrc == 'system' | |
| run: | | |
| sudo apt-get update | |
| sudo apt-get -y install libcurl4-openssl-dev libzip-dev liblua5.3-dev | |
| - name: Build | |
| run: PLATFORM=${{ matrix.platform }} CONFIG=${{ matrix.config }} PREMAKE_OPTS="--lib-src=${{ matrix.depsrc }} --cc=${{ matrix.cc }}" ./Bootstrap.sh | |
| - name: Test | |
| run: bin/${{ matrix.config }}/premake5 test --test-all | |
| - name: Docs check | |
| run: bin/${{ matrix.config }}/premake5 docs-check | |
| - name: Upload Artifacts | |
| if: matrix.config == 'release' && matrix.depsrc == 'contrib' && matrix.cc == 'gcc' | |
| uses: actions/upload-artifact@v6 | |
| with: | |
| name: premake-linux-${{ matrix.platform }} | |
| path: bin/${{ matrix.config }}/ | |
| macosx: | |
| runs-on: macos-latest | |
| strategy: | |
| matrix: | |
| config: [debug, release] | |
| platform: [x64, ARM64] | |
| timeout-minutes: 15 | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v6 | |
| - name: Build | |
| run: PLATFORM=${{ matrix.platform }} CONFIG=${{ matrix.config }} ./Bootstrap.sh | |
| - name: Test | |
| run: bin/${{ matrix.config }}/premake5 test --test-all | |
| - name: Docs check | |
| run: bin/${{ matrix.config }}/premake5 docs-check | |
| - name: Upload Artifacts | |
| if: matrix.config == 'release' | |
| uses: actions/upload-artifact@v6 | |
| with: | |
| name: premake-macosx-${{ matrix.platform }} | |
| path: bin/${{ matrix.config }}/ | |
| windows: | |
| runs-on: windows-latest | |
| strategy: | |
| matrix: | |
| config: [debug, release] | |
| platform: [Win32, x64] | |
| msdev: [vs2022] | |
| cc: [msc, clang] | |
| timeout-minutes: 15 | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v6 | |
| - name: Build | |
| shell: cmd | |
| env: | |
| PLATFORM: ${{ matrix.platform }} | |
| CONFIG: ${{ matrix.config }} | |
| run: ./Bootstrap.bat ${{ matrix.msdev }} "PREMAKE_OPTS=--cc=${{ matrix.cc }}" | |
| - name: Test | |
| run: bin\${{ matrix.config }}\premake5 test --test-all | |
| shell: cmd | |
| - name: Docs check | |
| run: bin\${{ matrix.config }}\premake5 docs-check | |
| shell: cmd | |
| - name: Upload Artifacts | |
| if: matrix.config == 'release' && matrix.cc == 'msc' | |
| uses: actions/upload-artifact@v6 | |
| with: | |
| name: premake-windows-${{ matrix.platform }} | |
| path: bin\${{ matrix.config }}\ | |
| mingw: | |
| runs-on: windows-2022 | |
| strategy: | |
| matrix: | |
| config: [debug, release] | |
| msystem: [mingw32, mingw64] | |
| depsrc: [none, contrib, system] | |
| cc: [gcc] | |
| include: | |
| - platform: x86 | |
| msystem: mingw32 | |
| - platform: x64 | |
| msystem: mingw64 | |
| timeout-minutes: 15 | |
| defaults: | |
| run: | |
| shell: msys2 {0} | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v6 | |
| - name: 'Setup MSYS2' | |
| uses: msys2/setup-msys2@v2 | |
| with: | |
| msystem: ${{ matrix.msystem }} | |
| update: true | |
| install: >- | |
| git | |
| make | |
| pacboy: >- | |
| toolchain:p | |
| - name: Install dependencies | |
| if: matrix.depsrc == 'system' && matrix.platform == 'x64' | |
| run: | | |
| pacman -Suy --noconfirm mingw-w64-x86_64-curl mingw-w64-x86_64-lua53 mingw-w64-x86_64-libzip mingw-w64-x86_64-zlib | |
| - name: Install dependencies | |
| if: matrix.depsrc == 'system' && matrix.platform == 'x86' | |
| run: | | |
| pacman -Suy --noconfirm mingw-w64-i686-curl mingw-w64-i686-lua53 mingw-w64-i686-libzip mingw-w64-i686-zlib | |
| - name: Build | |
| run: PLATFORM=${{ matrix.platform }} CONFIG=${{ matrix.config }} PREMAKE_OPTS="--lib-src=${{ matrix.depsrc }} --cc=${{ matrix.cc }}" ./Bootstrap.sh | |
| - name: Test | |
| run: bin/${{ matrix.config }}/premake5.exe test --test-all | |
| - name: Docs check | |
| run: bin/${{ matrix.config }}/premake5.exe docs-check | |
| - name: Upload Artifacts | |
| if: matrix.config == 'release' && matrix.depsrc == 'contrib' && matrix.cc == 'gcc' | |
| uses: actions/upload-artifact@v6 | |
| with: | |
| name: premake-${{ matrix.msystem }}-${{ matrix.platform }} | |
| path: bin\${{ matrix.config }}\ | |
| cosmopolitan: | |
| runs-on: ubuntu-latest | |
| strategy: | |
| matrix: | |
| config: [debug, release] | |
| platform: [x64] | |
| timeout-minutes: 15 | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v6 | |
| - uses: tritao/setup-cosmopolitan@v1.3 | |
| with: | |
| version: '3.9.2' | |
| - name: Build | |
| run: PLATFORM=${{ matrix.platform }} CONFIG=${{ matrix.config }} ./Bootstrap.sh -cosmo | |
| - name: Test | |
| run: bin/${{ matrix.config }}/premake5 test --test-all | |
| - name: Docs check | |
| run: bin/${{ matrix.config }}/premake5 docs-check | |
| - name: Upload Artifacts | |
| if: matrix.config == 'release' | |
| uses: actions/upload-artifact@v6 | |
| with: | |
| name: premake-cosmopolitan-universal | |
| path: bin/${{ matrix.config }}/premake5 | |
| freebsd: | |
| runs-on: ubuntu-latest | |
| strategy: | |
| matrix: | |
| config: [debug, release] | |
| platform: [x64] | |
| cc: [gcc, clang] | |
| timeout-minutes: 15 | |
| defaults: | |
| run: | |
| shell: freebsd {0} | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v6 | |
| - name: Start FreeBSD VM | |
| uses: vmactions/freebsd-vm@v1.3.4 | |
| with: | |
| usesh: true | |
| sync: sshfs | |
| prepare: | | |
| pkg install -y gmake ca_root_nss gcc | |
| - name: Build | |
| run: | | |
| cd $GITHUB_WORKSPACE | |
| PLATFORM=${{ matrix.platform }} CONFIG=${{ matrix.config }} PREMAKE_OPTS="--cc=${{ matrix.cc }}" ./Bootstrap.sh | |
| - name: Test | |
| run: | | |
| cd $GITHUB_WORKSPACE | |
| bin/${{ matrix.config }}/premake5 test --test-all | |
| - name: Docs check | |
| run: | | |
| cd $GITHUB_WORKSPACE | |
| bin/${{ matrix.config }}/premake5 docs-check | |
| - name: Upload Artifacts | |
| if: matrix.config == 'release' && matrix.cc == 'clang' | |
| uses: actions/upload-artifact@v6 | |
| with: | |
| name: premake-freebsd-${{ matrix.platform }} | |
| path: bin/${{ matrix.config }}/ | |
| openbsd: | |
| runs-on: ubuntu-latest | |
| strategy: | |
| matrix: | |
| config: [debug, release] | |
| platform: [x64] | |
| cc: [clang] | |
| timeout-minutes: 15 | |
| defaults: | |
| run: | |
| shell: openbsd {0} | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v6 | |
| - name: Start OpenBSD VM | |
| uses: vmactions/openbsd-vm@v1.3.1 | |
| with: | |
| usesh: true | |
| sync: sshfs | |
| prepare: | | |
| pkg_add gmake | |
| - name: Build | |
| run: | | |
| cd $GITHUB_WORKSPACE | |
| PLATFORM=${{ matrix.platform }} CONFIG=${{ matrix.config }} PREMAKE_OPTS="--cc=${{ matrix.cc }}" ./Bootstrap.sh | |
| - name: Test | |
| run: | | |
| cd $GITHUB_WORKSPACE | |
| bin/${{ matrix.config }}/premake5 test --test-all | |
| - name: Docs check | |
| run: | | |
| cd $GITHUB_WORKSPACE | |
| bin/${{ matrix.config }}/premake5 docs-check | |
| - name: Upload Artifacts | |
| if: matrix.config == 'release' && matrix.cc == 'clang' | |
| uses: actions/upload-artifact@v6 | |
| with: | |
| name: premake-openbsd-${{ matrix.platform }} | |
| path: bin/${{ matrix.config }}/ | |
| netbsd: | |
| runs-on: ubuntu-latest | |
| strategy: | |
| matrix: | |
| config: [debug, release] | |
| platform: [x64] | |
| cc: [gcc] | |
| timeout-minutes: 15 | |
| defaults: | |
| run: | |
| shell: netbsd {0} | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v6 | |
| - name: Build on NetBSD VM | |
| uses: vmactions/netbsd-vm@v1.3.1 | |
| with: | |
| usesh: true | |
| prepare: | | |
| set -e | |
| /usr/sbin/pkg_add pkgin | |
| pkgin -y install gmake | |
| run: | | |
| cd $GITHUB_WORKSPACE | |
| PLATFORM=${{ matrix.platform }} CONFIG=${{ matrix.config }} PREMAKE_OPTS="--cc=${{ matrix.cc }}" ./Bootstrap.sh | |
| bin/${{ matrix.config }}/premake5 test --test-all | |
| bin/${{ matrix.config }}/premake5 docs-check | |
| - name: Upload Artifacts | |
| if: matrix.config == 'release' | |
| uses: actions/upload-artifact@v6 | |
| with: | |
| name: premake-netbsd-${{ matrix.platform }} | |
| path: bin/${{ matrix.config }}/ | |
| dragonflybsd: | |
| runs-on: ubuntu-latest | |
| strategy: | |
| matrix: | |
| config: [debug, release] | |
| platform: [x64] | |
| cc: [gcc] | |
| timeout-minutes: 15 | |
| defaults: | |
| run: | |
| shell: dragonflybsd {0} | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v6 | |
| - name: Build on DragonflyBSD VM | |
| uses: vmactions/dragonflybsd-vm@v1.1.9 | |
| with: | |
| usesh: true | |
| prepare: | | |
| pkg install -y gmake | |
| run: | | |
| cd $GITHUB_WORKSPACE | |
| PLATFORM=${{ matrix.platform }} CONFIG=${{ matrix.config }} PREMAKE_OPTS="--cc=${{ matrix.cc }}" ./Bootstrap.sh | |
| bin/${{ matrix.config }}/premake5 test --test-all | |
| bin/${{ matrix.config }}/premake5 docs-check | |
| - name: Upload Artifacts | |
| if: matrix.config == 'release' && matrix.cc == 'gcc' | |
| uses: actions/upload-artifact@v6 | |
| with: | |
| name: premake-dragonflybsd-${{ matrix.platform }} | |
| path: bin/${{ matrix.config }}/ | |
| solaris: | |
| runs-on: ubuntu-latest | |
| strategy: | |
| matrix: | |
| config: [debug, release] | |
| platform: [x64] | |
| cc: [gcc] | |
| timeout-minutes: 15 | |
| defaults: | |
| run: | |
| shell: solaris {0} | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v6 | |
| - name: Build on Solaris VM | |
| uses: vmactions/solaris-vm@v1.2.3 | |
| with: | |
| usesh: true | |
| cpu: 4 | |
| mem: 8192 | |
| release: 11.4-gcc | |
| run: | | |
| cd $GITHUB_WORKSPACE | |
| CC=${{ matrix.cc }} PLATFORM=${{ matrix.platform }} CONFIG=${{ matrix.config }} PREMAKE_OPTS="--cc=${{ matrix.cc }}" ./Bootstrap.sh | |
| bin/${{ matrix.config }}/premake5 test --test-all | |
| bin/${{ matrix.config }}/premake5 docs-check | |
| - name: Upload Artifacts | |
| if: matrix.config == 'release' && matrix.cc == 'gcc' | |
| uses: actions/upload-artifact@v6 | |
| with: | |
| name: premake-solaris-${{ matrix.platform }} | |
| path: bin/${{ matrix.config }}/ | |
| omnios: | |
| runs-on: ubuntu-latest | |
| strategy: | |
| matrix: | |
| config: [debug, release] | |
| platform: [x64] | |
| cc: [gcc] | |
| timeout-minutes: 15 | |
| defaults: | |
| run: | |
| shell: omnios {0} | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v6 | |
| - name: Build on OmniOS VM | |
| uses: vmactions/omnios-vm@v1.2.0 | |
| with: | |
| usesh: true | |
| prepare: | | |
| pkg install build-essential web/ca-bundle | |
| run: | | |
| cd $GITHUB_WORKSPACE | |
| CC=${{ matrix.cc }} PLATFORM=${{ matrix.platform }} CONFIG=${{ matrix.config }} PREMAKE_OPTS="--cc=${{ matrix.cc }}" ./Bootstrap.sh | |
| bin/${{ matrix.config }}/premake5 test --test-all | |
| bin/${{ matrix.config }}/premake5 docs-check | |
| - name: Upload Artifacts | |
| if: matrix.config == 'release' && matrix.cc == 'gcc' | |
| uses: actions/upload-artifact@v6 | |
| with: | |
| name: premake-omnios-${{ matrix.platform }} | |
| path: bin/${{ matrix.config }}/ | |
| # This job will be required for PRs to be merged. | |
| # This should depend on (via needs) all jobs that need to be successful for the PR to be merged. | |
| ci: | |
| runs-on: ubuntu-latest | |
| needs: [linux, macosx, windows] | |
| if: always() | |
| steps: | |
| - name: All builds ok | |
| if: ${{ !(contains(needs.*.result, 'failure')) }} | |
| run: exit 0 | |
| - name: Some builds failed | |
| if: ${{ contains(needs.*.result, 'failure') }} | |
| run: exit 1 |