Set up environment during build preparations #2353
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 macOS | |
on: | |
pull_request: | |
paths-ignore: | |
- 'doc/**' | |
- '**.md' | |
- '**.rst' | |
- '**.txt' | |
release: | |
types: [published] | |
workflow_dispatch: | |
env: | |
ARCH: x86_64 | |
jobs: | |
build: | |
name: CI on macOS | |
strategy: | |
fail-fast: false | |
matrix: | |
os: [macos-12, macos-14] | |
runs-on: ${{ matrix.os }} | |
steps: | |
- name: Check out repository | |
uses: actions/checkout@v2 | |
with: | |
submodules: true | |
- name: Install FSF toolchain (x86_64) | |
if: ${{ matrix.os != 'macos-14' }} | |
uses: alire-project/alr-install@v1 | |
with: | |
crates: gnat_native gprbuild | |
- name: Install FSF toolchain (AArch64) | |
if: ${{ matrix.os == 'macos-14' }} | |
run: | | |
curl -L -O https://github.com/alire-project/alire/releases/download/nightly/alr-nightly-bin-aarch64-macos.zip | |
unzip alr-nightly-bin-aarch64-macos.zip bin/alr | |
bin/alr index --reset-community | |
bin/alr install gnat_native gprbuild --prefix alire_prefix | |
echo $PWD/bin >> $GITHUB_PATH | |
echo $PWD/alire_prefix/bin >> $GITHUB_PATH | |
echo "ARCH=aarch64" >> $GITHUB_ENV | |
- name: Install Python 3.x (required for the testsuite) | |
uses: actions/setup-python@v2 | |
with: | |
python-version: '3.x' | |
- name: Run test script | |
run: scripts/ci-github.sh | |
shell: bash | |
env: | |
BRANCH: ${{ github.base_ref }} | |
INDEX: "" | |
- name: Upload binaries | |
uses: actions/upload-artifact@v4 | |
with: | |
name: alr-bin-${{ env.ARCH }}-macos.zip | |
path: | | |
bin/alr | |
LICENSE.txt | |
- name: Upload logs (if failed) | |
if: failure() | |
uses: actions/upload-artifact@v4 | |
with: | |
name: testsuite-log-macos.zip | |
path: testsuite/out | |
# Release steps start here. These only run during a release creation. | |
- name: Retrieve upload URL for the release | |
if: github.event_name == 'release' | |
id: get_release | |
uses: bruceadams/[email protected] | |
env: | |
GITHUB_TOKEN: ${{ github.token }} | |
- name: Get release version | |
id: get_version | |
if: github.event_name == 'release' | |
uses: battila7/get-version-action@v2 | |
- name: Package release binaries | |
if: github.event_name == 'release' | |
run: zip alr-bin-macos.zip bin/alr LICENSE.txt | |
- name: Upload release assets | |
if: github.event_name == 'release' | |
uses: actions/upload-release-asset@v1 | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
with: | |
upload_url: ${{ steps.get_release.outputs.upload_url }} | |
asset_path: alr-bin-macos.zip | |
asset_name: alr-${{ steps.get_version.outputs.version-without-v }}-bin-${{ env.ARCH }}-macos.zip | |
asset_content_type: application/zip |