Skip to content

Commit

Permalink
Add MacOS on Apple Silicon as a fully supported platform
Browse files Browse the repository at this point in the history
  • Loading branch information
SeanTAllen committed Jan 31, 2024
1 parent 3ffecf0 commit 88ff12b
Show file tree
Hide file tree
Showing 5 changed files with 108 additions and 29 deletions.
27 changes: 27 additions & 0 deletions .github/workflows/nightlies.yml
Original file line number Diff line number Diff line change
Expand Up @@ -86,3 +86,30 @@ 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 pony tools
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: 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.
84 changes: 56 additions & 28 deletions .github/workflows/pr.yml
Original file line number Diff line number Diff line change
Expand Up @@ -40,18 +40,8 @@ jobs:
- name: Verify CHANGELOG
run: changelog-tool verify

linux:
name: Verify PR builds on Linux with most recent ponyc release
runs-on: ubuntu-latest
container:
image: ghcr.io/ponylang/shared-docker-ci-x86-64-unknown-linux-builder-with-libressl-3.7.3:release
steps:
- uses: actions/checkout@v3
- name: Test with the most recent ponyc release
run: make test

alpine-bootstrap:
name: Test bootstrapping on Alpine
name: Alpine bootstrap
runs-on: ubuntu-latest
container:
image: ghcr.io/ponylang/ponyup-ci-alpine-bootstrap-tester:20230830
Expand All @@ -61,7 +51,7 @@ jobs:
run: SSL=0.9.0 .ci-scripts/test-bootstrap.sh

fedora39-bootstrap:
name: Test bootstrapping on Fedora 39
name: Fedora 39 bootstrap
runs-on: ubuntu-latest
container:
image: ghcr.io/ponylang/ponyup-ci-fedora39-bootstrap-tester:20240130
Expand All @@ -71,7 +61,7 @@ jobs:
run: SSL=3.0.x .ci-scripts/test-bootstrap.sh

ubuntu20_04-bootstrap:
name: Test bootstrapping on Ubuntu 20.04
name: Ubuntu 20.04 bootstrap
runs-on: ubuntu-latest
container:
image: ghcr.io/ponylang/ponyup-ci-ubuntu20.04-bootstrap-tester:20230830
Expand All @@ -81,7 +71,7 @@ jobs:
run: .ci-scripts/test-bootstrap.sh

ubuntu22_04-bootstrap:
name: Test bootstrapping on Ubuntu 22.04
name: Ubuntu 22.04 bootstrap
runs-on: ubuntu-latest
container:
image: ghcr.io/ponylang/ponyup-ci-ubuntu22.04-bootstrap-tester:20230830
Expand All @@ -90,20 +80,24 @@ jobs:
- name: Bootstrap test
run: SSL=3.0.x .ci-scripts/test-bootstrap.sh

macos:
name: Verify PR builds on x86-64 macOS with most recent ponyc release
runs-on: macos-13
steps:
- uses: actions/checkout@v3
- name: install pony tools
run: bash .ci-scripts/macOS-x86-install-pony-tools.bash release
- name: Test with the most recent ponyc release
run: |
export PATH="/tmp/corral/bin:/tmp/ponyc/bin/:$PATH"
make test
# turn on once we have a corral and ponyup nightly that can be used
# arm64-macos-bootstrap:
# name: arm64 MacOS bootstrap
# runs-on: macos-14
# steps:
# - uses: actions/checkout@v3
# - name: Install dependencies
# # libressl gets installed but is returning a non-zero exit code,
# # so we have to soldier on through the stupidity
# continue-on-error: true
# run: |
# brew update
# brew install libressl
# - name: Bootstrap test
# run: SSL=0.9.0 .ci-scripts/test-bootstrap.sh

x86-64-macos-bootstrap:
name: Test bootstrapping on macOS x86-64
name: x86_64 MacOS bootstrap
runs-on: macos-13
steps:
- uses: actions/checkout@v3
Expand All @@ -117,8 +111,42 @@ jobs:
- name: Bootstrap test
run: SSL=0.9.0 .ci-scripts/test-bootstrap.sh

windows:
name: Verify PR builds with most recent ponyc release on Windows
x86-64-linux:
name: Vx86-64 Linux tests
runs-on: ubuntu-latest
container:
image: ghcr.io/ponylang/shared-docker-ci-x86-64-unknown-linux-builder-with-libressl-3.7.3:release
steps:
- uses: actions/checkout@v3
- name: Test with the most recent ponyc release
run: make test

x86-64-macos:
name: x86-64 MacOS tests
runs-on: macos-13
steps:
- uses: actions/checkout@v3
- name: install pony tools
run: bash .ci-scripts/macOS-x86-install-pony-tools.bash release
- name: Test with the most recent ponyc release
run: |
export PATH="/tmp/corral/bin:/tmp/ponyc/bin/:$PATH"
make test
arm64-macos:
name: arm64 MacOS tests
runs-on: macos-14
steps:
- uses: actions/checkout@v3
- name: install pony tools
run: bash .ci-scripts/macOS-arm64-install-pony-tools.bash nightly
- name: Test with the most recent ponyc release
run: |
export PATH="/tmp/corral/bin:/tmp/ponyc/bin/:$PATH"
make test
x86-64-windows:
name: x86-64 Windows tests
runs-on: windows-2022
steps:
- uses: actions/checkout@v3
Expand Down
19 changes: 19 additions & 0 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,24 @@ jobs:
env:
CLOUDSMITH_API_KEY: ${{ secrets.CLOUDSMITH_API_KEY }}

arm64-apple-darwin-release:
name: Build and upload arm64-apple-darwin to Cloudsmith
runs-on: macos-14
needs:
- pre-artefact-creation
steps:
- uses: actions/checkout@v3
- name: install pony tools
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: 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
Expand Down Expand Up @@ -118,6 +136,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
- update-latest-release-tag
steps:
Expand Down
5 changes: 5 additions & 0 deletions .release-notes/m1-again.md
Original file line number Diff line number Diff line change
@@ -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 a fully supported platform. We had to move off of CirrusCI and in the process, lost access to Apple Silicon builders.

GitHub Actions has introduced M1 MacOS builders and as such, we are happy to announce that ponyup again supports MacOS on Apple Silicon.
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ This project is currently beta software.

### Install dependencies

#### macOS (x86-64 only)
#### macOS

```bash
brew install libressl
Expand Down

0 comments on commit 88ff12b

Please sign in to comment.