name: Build Crate on: pull_request: paths: - 'index/**.toml' jobs: build: name: ${{ matrix.os }}::${{ matrix.tag }} runs-on: ${{ matrix.os }} strategy: matrix: os: - macos-latest - ubuntu-latest - windows-latest tag: - centos-latest-community-latest - community-current - debian-stable - ubuntu-lts - "" exclude: # inclusions don't allow to add arrays of values to a scenario - os: ubuntu-latest tag: "" - os: macos-latest tag: centos-latest-community-latest - os: macos-latest tag: community-current - os: macos-latest tag: debian-stable - os: macos-latest tag: ubuntu-lts - os: windows-latest tag: centos-latest-community-latest - os: windows-latest tag: community-current - os: windows-latest tag: debian-stable - os: windows-latest tag: ubuntu-lts steps: - name: Check out alire-index uses: actions/checkout@v2 with: fetch-depth: 10 # Needed to be able to diff and obtain changed files. Changes beyond # that depth are not detected. Should be OK for crate submissions. - name: Set up GNAT toolchain (FSF) if: matrix.os == 'ubuntu-latest' uses: ada-actions/toolchain@dev with: distrib: fsf # faster install? - name: Set up GNAT toolchain (Community) if: matrix.os != 'ubuntu-latest' uses: ada-actions/toolchain@dev with: distrib: community - name: Set up `alr` uses: mosteo/setup-alire@exp - name: Test crate (Linux) if: matrix.os == 'ubuntu-latest' # docker testing only for linuxes uses: mosteo/actions@docker-run/v1 with: image: alire/gnat:${{matrix.tag}} command: scripts/gh-build-crate.sh - name: Set up msys2 (Windows) if: matrix.os == 'windows-latest' run: ./alire/bin/alr --non-interactive version - name: Install tar from msys2 (Windows) # Git tar in Actions VM does not seem to work) if: matrix.os == 'windows-latest' run: C:\Users\runneradmin\.cache\alire\msys64\usr\bin\pacman --noconfirm -S tar - name: Test crate (Windows/MacOS) if: matrix.os != 'ubuntu-latest' # native testing in Windows/MacOS run: scripts/gh-build-crate.sh shell: bash