From f6835b16a3646b8fdd6c533b0a18a3c2ac7cd471 Mon Sep 17 00:00:00 2001 From: "Sean T. Allen" Date: Wed, 31 Jan 2024 01:11:55 +0000 Subject: [PATCH] Add MacOS on Apple Silicon as a fully supported platform --- .github/workflows/nightlies.yml | 29 +++++++++++++++++++++++++++++ .github/workflows/pr.yml | 26 ++++++++++++++++++++------ .github/workflows/release.yml | 21 +++++++++++++++++++++ .release-notes/m1-again.md | 5 +++++ 4 files changed, 75 insertions(+), 6 deletions(-) create mode 100644 .release-notes/m1-again.md diff --git a/.github/workflows/nightlies.yml b/.github/workflows/nightlies.yml index 27c81ffc..555931d0 100644 --- a/.github/workflows/nightlies.yml +++ b/.github/workflows/nightlies.yml @@ -85,3 +85,32 @@ jobs: type: stream topic: ${{ github.repository }} scheduled job failure content: ${{ github.server_url}}/${{ github.repository }}/actions/runs/${{ github.run_id }} failed. + + arm64-apple-darwin-nightly: + name: Build and upload arm64-apple-darwin-nightly to Cloudsmith + runs-on: macos-14 + steps: + - uses: actions/checkout@v3 + - name: install ponyc + run: bash .ci-scripts/macOS-arm64-install-pony-tools.bash nightly + - name: brew install dependencies + run: brew install coreutils + - name: pip install dependencies + run: pip3 install --upgrade cloudsmith-cli + - name: Build and upload + run: | + export PATH="/tmp/ponyc/bin/:/Library/Frameworks/Python.framework/Versions/3.11/bin/:$PATH" + bash .ci-scripts/release/arm64-apple-darwin-nightly.bash + env: + CLOUDSMITH_API_KEY: ${{ secrets.CLOUDSMITH_API_KEY }} + - name: Send alert on failure + if: ${{ failure() }} + uses: zulip/github-actions-zulip/send-message@b62d5a0e48a4d984ea4fce5dd65ba691963d4db4 + with: + api-key: ${{ secrets.ZULIP_SCHEDULED_JOB_FAILURE_API_KEY }} + email: ${{ secrets.ZULIP_SCHEDULED_JOB_FAILURE_EMAIL }} + organization-url: 'https://ponylang.zulipchat.com/' + to: notifications + type: stream + topic: ${{ github.repository }} scheduled job failure + content: ${{ github.server_url}}/${{ github.repository }}/actions/runs/${{ github.run_id }} failed. diff --git a/.github/workflows/pr.yml b/.github/workflows/pr.yml index 29b472db..9f34e83a 100644 --- a/.github/workflows/pr.yml +++ b/.github/workflows/pr.yml @@ -40,8 +40,8 @@ jobs: - name: Verify CHANGELOG run: changelog-tool verify - linux: - name: Verify PR builds most recent ponyc release on Linux + x86_linux: + name: x86_64 Linux runs-on: ubuntu-latest container: image: ghcr.io/ponylang/shared-docker-ci-x86-64-unknown-linux-builder:release @@ -50,8 +50,8 @@ jobs: - name: Test with most recent ponyc release run: make test - windows: - name: Verify PR builds most recent ponyc release on Windows + x86_windows: + name: x86_64 Windows runs-on: windows-2022 steps: - uses: actions/checkout@v3 @@ -62,8 +62,8 @@ jobs: $env:PATH = 'C:\ponyc\bin;' + $env:PATH; .\make.ps1 -Command test 2>&1 - macos: - name: Verify PR builds most recent ponyc release on macOS + x86_macos: + name: x86_64 MacOS runs-on: macos-13 steps: - uses: actions/checkout@v3 @@ -75,3 +75,17 @@ jobs: run: | export PATH="/tmp/ponyc/bin/:$PATH" make test + + arm64_macos: + name: arm64 MacOS + runs-on: macos-14 + steps: + - uses: actions/checkout@v3 + - name: install ponyc + run: bash .ci-scripts/macOS-arm64-install-pony-tools.bash nightly + - name: brew install dependencies + run: brew install coreutils + - name: Test with most recent ponyc release + run: | + export PATH="/tmp/ponyc/bin/:$PATH" + make test diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index fcdb1214..6d2c5dc6 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -59,6 +59,26 @@ jobs: env: CLOUDSMITH_API_KEY: ${{ secrets.CLOUDSMITH_API_KEY }} + arm64-apple-darwin-release: + name: Build and upload arm64-apple-darwin-release to Cloudsmith + runs-on: macos-14 + needs: + - pre-artefact-creation + steps: + - uses: actions/checkout@v3 + - name: install ponyc + run: bash .ci-scripts/macOS-arm64-install-pony-tools.bash nightly + - name: brew install dependencies + run: brew install coreutils + - name: pip install dependencies + run: pip3 install --upgrade cloudsmith-cli + - name: Build and upload + run: | + export PATH="/tmp/ponyc/bin/:/Library/Frameworks/Python.framework/Versions/3.11/bin/:$PATH" + bash .ci-scripts/release/arm64-apple-darwin-release.bash + env: + CLOUDSMITH_API_KEY: ${{ secrets.CLOUDSMITH_API_KEY }} + x86-64-pc-windows-msvc-release: name: Build and upload x86-64-pc-windows-msvc-release to Cloudsmith runs-on: windows-2022 @@ -121,6 +141,7 @@ jobs: - x86-64-unknown-linux-release - x86-64-pc-windows-msvc-release - x86-64-apple-darwin-release + - arm64-apple-darwin-release - build-release-docker-images - generate-documentation steps: diff --git a/.release-notes/m1-again.md b/.release-notes/m1-again.md new file mode 100644 index 00000000..b0604d9e --- /dev/null +++ b/.release-notes/m1-again.md @@ -0,0 +1,5 @@ +## Add MacOS on Apple Silicon as a fully supported platform + +In August of 2023, we had to drop MacOS on Apple Silicon as we lost our build environment when we switched off of CirrusCI to GitHub Actions. GitHub just added MacOS Apple Silicon build environments, so we are bring back MacOS on Apple Silicon as a fully supported platform. + +corral is once again available as a compiled arm64 MacOS binary.