Bump vmactions/freebsd-vm from 1.2.6 to 1.2.7 in the github-actions group #1667
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@v5 | |
| - 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@v5 | |
| 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@v5 | |
| - 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@v5 | |
| 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] | |
| timeout-minutes: 15 | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v5 | |
| - name: Build | |
| shell: cmd | |
| env: | |
| PLATFORM: ${{ matrix.platform }} | |
| CONFIG: ${{ matrix.config }} | |
| run: ./Bootstrap.bat ${{ matrix.msdev }} | |
| - 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' | |
| uses: actions/upload-artifact@v5 | |
| 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: [mingw] | |
| include: | |
| - platform: x86 | |
| msystem: mingw32 | |
| - platform: x64 | |
| msystem: mingw64 | |
| timeout-minutes: 15 | |
| defaults: | |
| run: | |
| shell: msys2 {0} | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v5 | |
| - 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 == 'mingw' | |
| uses: actions/upload-artifact@v5 | |
| 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@v5 | |
| - uses: tritao/[email protected] | |
| 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@v5 | |
| 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@v5 | |
| - name: Start FreeBSD VM | |
| uses: vmactions/[email protected] | |
| 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@v5 | |
| 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@v5 | |
| - name: Start OpenBSD VM | |
| uses: vmactions/[email protected] | |
| 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@v5 | |
| 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@v5 | |
| - name: Build on NetBSD VM | |
| uses: vmactions/[email protected] | |
| 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@v5 | |
| 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@v5 | |
| - name: Build on DragonflyBSD VM | |
| uses: vmactions/[email protected] | |
| 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@v5 | |
| 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@v5 | |
| - name: Build on Solaris VM | |
| uses: vmactions/[email protected] | |
| 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@v5 | |
| 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@v5 | |
| - name: Build on OmniOS VM | |
| uses: vmactions/[email protected] | |
| 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@v5 | |
| 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 |