New shared builds mechanism (mockup) #628
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 }} | |
runs-on: ${{ matrix.os }} | |
strategy: | |
matrix: | |
os: | |
- macos-latest | |
- ubuntu-latest | |
- windows-latest | |
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 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 -n update | |
- name: Show dependencies/pins | |
run: ./bin/alr -n -q with --solve || ./bin/alr -n -v -d with --solve | |
- name: Show build environment | |
run: ./bin/alr -n printenv | |
- shell: bash | |
run: mv ./bin ./bin-old | |
# Windows doesn't allow to replace a running exe so the next command fails otherwise | |
- name: SELF-BUILD | |
run: ./bin-old/alr -n build | |
- name: Show built version | |
run: ./bin/alr -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 e3-testsuite | |
- name: Run testsuite | |
run: cd testsuite; ./run.py -E | |
shell: bash |