name: CI on: [ push, pull_request ] jobs: build: strategy: fail-fast: false matrix: include: - os: ubuntu-latest platform: x64 prefix: lnx - os: macos-latest platform: x64 prefix: osx - os: windows-latest platform: x64 prefix: win - os: windows-latest platform: x86 prefix: win runs-on: ${{ matrix.os }} env: PLATFORM: ${{ matrix.platform }} steps: - uses: actions/checkout@v3 with: fetch-depth: 0 - name: Install dependencies if: ${{ matrix.os == 'ubuntu-latest' }} run: sudo apt update && sudo apt install build-essential x11-utils mesa-common-dev libglu1-mesa-dev libasound2-dev zlib1g-dev - name: Calculate Version shell: bash run: .ci/calculate_version.sh - name: Bootstrap compiler Linux/OSX if: ${{ matrix.os == 'ubuntu-latest' || matrix.os == 'macos-latest' }} run: .ci/bootstrap.sh ${{ matrix.prefix }} - name: Bootstrap compiler Windows if: ${{ matrix.os == 'windows-latest' }} run: .ci/bootstrap.bat - name: Compile Linux/OSX if: ${{ matrix.os == 'ubuntu-latest' || matrix.os == 'macos-latest' }} run: .ci/compile.sh - name: Compile Windows if: ${{ matrix.os == 'windows-latest' }} run: .ci/compile.bat - name: Print QB64 Version run: ./qb64 -? - name: Create QB64 Artifact shell: bash run: .ci/deploy.sh ${{ matrix.os }} - uses: actions/upload-artifact@v3 with: name: qb64-${{ matrix.prefix }}-${{ matrix.platform }} path: | qb64_win-x86.7z qb64_win-x64.7z qb64_lnx.tar.gz qb64_osx.tar.gz