name: Build libsm64 on: pull_request: push: branches: [master] jobs: Build: name: Build libsm64 for ${{ matrix.identifier }} runs-on: ubuntu-latest strategy: fail-fast: false matrix: include: - identifier: linux - identifier: windows steps: - name: Checkout project uses: actions/checkout@v3 - name: Set up Python uses: actions/setup-python@v4 with: python-version: '3.10' - name: (Windows) Set up MinGW if: ${{ startsWith(matrix.identifier, 'windows') }} uses: egor-tensin/setup-mingw@v2 - name: (Windows) Prepare cross compilation if: ${{ startsWith(matrix.identifier, 'windows') }} shell: sh run: | echo "OS=Windows_NT" >> $GITHUB_ENV - name: (Linux) Install SDL2 and GLEW if: ${{ startsWith(matrix.identifier, 'linux') }} run: | sudo add-apt-repository -y "deb http://archive.ubuntu.com/ubuntu `lsb_release -sc` main universe restricted multiverse" sudo apt-get update -y -qq sudo apt-get install libsdl2-dev libglew-dev - name: Build shared library run: | make lib -j`nproc` - name: (Linux) Build test executable if: ${{ startsWith(matrix.identifier, 'linux') }} run: | make test -j`nproc` - name: Upload build uses: actions/upload-artifact@v3 with: name: libsm64_${{ matrix.identifier }} path: | ./README.md ./dist ./run-test #Release: # name: "Snapshot Release" # runs-on: "ubuntu-latest" # needs: Build # steps: # - name: Download artifacts # uses: actions/download-artifact@v3 # - name: Create a Release # uses: "marvinpinto/action-automatic-releases@latest" # with: # repo_token: "${{ secrets.GITHUB_TOKEN }}" # automatic_release_tag: "latest" # prerelease: true # title: "Snapshot Build" # files: | # ./README.md # ./dist