64 lines
2.1 KiB
YAML
64 lines
2.1 KiB
YAML
# Please read the TESTING file before modifying this file
|
|
|
|
name: Build Crate (Distro toolchain)
|
|
# Build the crate on the platforms with a supported package manager
|
|
# and using the distro-supplied GNAT compiler (with Alire's FSF fallback).
|
|
|
|
on:
|
|
pull_request:
|
|
paths:
|
|
- 'index/**.toml'
|
|
|
|
concurrency:
|
|
group: ${{ github.workflow }}-${{ github.ref }}
|
|
cancel-in-progress: true
|
|
|
|
permissions:
|
|
contents: read
|
|
pull-requests: write
|
|
|
|
jobs:
|
|
|
|
build:
|
|
name: ${{ matrix.tag }}
|
|
env:
|
|
JOB_NAME: ${{ matrix.tag }}
|
|
|
|
runs-on: ubuntu-latest
|
|
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
tag:
|
|
- arch-rolling # Arch has its own recent GNAT and pacman
|
|
- centos-stream-fsf-latest # CentOS is used for unknown package manager
|
|
- debian-stable # Debian has very good Ada support and apt
|
|
- fedora-latest # Fedora has its own GNAT and dnf
|
|
# - gentoo-rolling # Gentoo has its own GNAT and emerge
|
|
# TODO: enable in the next major Alire version index
|
|
# - opensuse-leap # OpenSUSE has its own GNAT and zypper
|
|
# TODO: diagnose and reinstate problems with tar/compiler installation
|
|
- ubuntu-lts # Ubuntu LTS is a common Debian derivative
|
|
|
|
steps:
|
|
- name: Check out repos
|
|
uses: ./.github/actions/checkout-repos
|
|
|
|
- name: Set up `alr`
|
|
uses: ./.github/actions/setup-alr
|
|
with:
|
|
# External distro toolchain is used; skip Alire's own
|
|
toolchain: --disable-assistant
|
|
|
|
- name: Test crate (${{matrix.tag}})
|
|
uses: mosteo-actions/docker-run@v1
|
|
with:
|
|
image: ghcr.io/alire-project/docker/gnat:${{matrix.tag}}
|
|
command: ${{env.CHECKS_REPO}}/scripts/gh-build-crate.sh
|
|
params: >
|
|
-v ${{ github.workspace }}/alire_install/bin/alr:/usr/bin/alr
|
|
-v ${{ github.event_path}}:/etc/event.json
|
|
-e GITHUB_EVENT_PATH=/etc/event.json
|
|
-e GITHUB_REPOSITORY=${{ github.repository }}
|
|
-e GITHUB_TOKEN=${{ secrets.GITHUB_TOKEN }}
|