# 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 }}