dev: control build jobs with $ALIRE_BUILD_JOBS #962
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: CI self+toolchain | |
# Build Alire with `alr build` and using a toolchain installed from Alire | |
# The `alr` being tested is the one which is being submitted in the PR | |
on: | |
pull_request: | |
paths-ignore: | |
- 'doc/**' | |
- '**.md' | |
- '**.rst' | |
- '**.txt' | |
jobs: | |
build: | |
name: ${{ matrix.os }} gcc^${{ matrix.gcc_version }} | |
runs-on: ${{ matrix.os }} | |
strategy: | |
fail-fast: false | |
matrix: | |
os: | |
- macos-latest | |
- ubuntu-latest | |
- windows-latest | |
gcc_version: | |
- 10 | |
- 11 | |
- 12 | |
- 13 | |
steps: | |
- name: Check out | |
uses: actions/checkout@v3 | |
with: | |
submodules: true | |
# Use a stock alr to make the latest toolchain available | |
- name: Install FSF toolchain | |
uses: alire-project/alr-install@v1 | |
with: | |
crates: gnat_native^${{matrix.gcc_version}} gprbuild | |
- name: Build alr with default toolchain | |
shell: bash | |
run: dev/build.sh | |
# We can start using the alr we just built | |
- name: Update dependencies | |
run: ./bin/alr -d -n update | |
- name: Show dependencies/pins | |
run: ./bin/alr -d -n -q with --solve || ./bin/alr -n -v -d with --solve | |
- name: Show build environment, with debug fallback | |
run: ./bin/alr -d -n printenv || ./bin/alr -n -v -d printenv | |
- shell: bash | |
run: mv ./bin ./bin-old || { sleep 5s && mv ./bin ./bin-old; } | |
# Windows doesn't allow to replace a running exe so the next command | |
# fails otherwise. Also, this mv fails sometimes so we try twice JIC. | |
- name: SELF-BUILD | |
run: ./bin-old/alr -d -n build | |
- name: Show built version | |
run: ./bin/alr -d -n version | |
# Run the testsuite with the just build alr. The testsuite picks the proper | |
# alr in the ./bin/alr location. | |
- name: Install Python 3.x # required by testsuite | |
uses: actions/setup-python@v2 | |
with: | |
python-version: '3.x' | |
- name: Install e3 | |
run: pip install --upgrade -r testsuite/requirements.txt | |
- name: Run testsuite | |
run: cd testsuite; ./run.py -E | |
shell: bash |