diff --git a/.github/workflows/ci-macos-arm64.yml b/.github/workflows/ci-macos-arm64.yml new file mode 100644 index 000000000..9ebdb4270 --- /dev/null +++ b/.github/workflows/ci-macos-arm64.yml @@ -0,0 +1,95 @@ +name: CI macOS ARM64 + +on: + pull_request: + paths-ignore: + - 'doc/**' + - '**.md' + - '**.rst' + - '**.txt' + release: + types: [published] + workflow_dispatch: + +jobs: + + build: + name: CI on macOS + + runs-on: macos-14 + + steps: + - name: Check out repository + uses: actions/checkout@v2 + with: + submodules: true + +# - name: Install FSF toolchain +# uses: alire-project/alr-install@v1 +# with: +# crates: gnat_native gprbuild + + - name: Install FSF toolchain + 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 + + - 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@v2 + with: + name: alr-bin-macos.zip + path: | + bin/alr + LICENSE.txt + + - name: Upload logs (if failed) + if: failure() + uses: actions/upload-artifact@master + 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/get-release@v1.3.2 + 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-arm64-macos.zip + asset_content_type: application/zip diff --git a/.github/workflows/ci-macos.yml b/.github/workflows/ci-macos.yml index 15025e11b..5c080f9eb 100644 --- a/.github/workflows/ci-macos.yml +++ b/.github/workflows/ci-macos.yml @@ -1,4 +1,4 @@ -name: CI macOS +name: CI macOS X64 on: pull_request: diff --git a/scripts/version-patcher.sh b/scripts/version-patcher.sh index 9e666d56e..d377825b0 100755 --- a/scripts/version-patcher.sh +++ b/scripts/version-patcher.sh @@ -19,7 +19,7 @@ elif (which gprbuild &>/dev/null); then gprbuild -P support/version_patcher/version_patcher.gpr elif (which alr &>/dev/null); then echo "Building patcher with alr..." - alr -C "$(dirname $bin)" build + alr -C "$(dirname $(dirname $bin))" build else echo "WARNING: No Ada tool available to build patcher, skipping." exit 0