Files
alire-index-community/.github/workflows/build-crate.yml
T
2020-05-18 17:55:09 +02:00

89 lines
2.5 KiB
YAML

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