Skip to content

Add macOS on Intel as a fully supported platform #428

Add macOS on Intel as a fully supported platform

Add macOS on Intel as a fully supported platform #428

Workflow file for this run

name: PR
on: pull_request
concurrency:
group: pr-${{ github.ref }}
cancel-in-progress: true
jobs:
superlinter:
name: Lint bash, docker, markdown, and yaml
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Lint codebase
uses: docker://github/super-linter:v3.8.3
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
VALIDATE_ALL_CODEBASE: true
VALIDATE_BASH: true
VALIDATE_DOCKERFILE: true
VALIDATE_MD: true
VALIDATE_YAML: true
validate-docker-image-builds:
name: Validate Docker image builds
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Docker build
run: "docker build --pull ."
verify-changelog:
name: Verify CHANGELOG is valid
runs-on: ubuntu-latest
container:
image: ponylang/changelog-tool:release
steps:
- uses: actions/checkout@v2
- 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: ponylang/shared-docker-ci-x86-64-unknown-linux-builder-with-libressl-3.7.2:release
steps:
- uses: actions/checkout@v2
- name: Test with the most recent ponyc release
run: make test
alpine-bootstrap:
name: Test bootstrapping on Alpine
runs-on: ubuntu-latest
container:
image: ponylang/ponyup-ci-alpine-bootstrap-tester:20200503
steps:
- uses: actions/checkout@v2
- name: Bootstrap test
run: SSL=0.9.0 .ci-scripts/test-bootstrap.sh
ubuntu20_04-bootstrap:
name: Test bootstrapping on Ubuntu 20.04
runs-on: ubuntu-latest
container:
image: ponylang/ponyup-ci-ubuntu20.04-bootstrap-tester:20230120
steps:
- uses: actions/checkout@v2
- name: Bootstrap test
run: .ci-scripts/test-bootstrap.sh
ubuntu22_04-bootstrap:
name: Test bootstrapping on Ubuntu 22.04
runs-on: ubuntu-latest
container:
image: ponylang/ponyup-ci-ubuntu22.04-bootstrap-tester:20230120
steps:
- uses: actions/checkout@v2
- name: Bootstrap test
run: SSL=3.0.x .ci-scripts/test-bootstrap.sh
macos:
name: Verify PR builds on macOS with most recent ponyc release
runs-on: macos-13
steps:
- uses: actions/checkout@v2
- name: install pony tools
run: bash .ci-scripts/macOS-install-release-pony-tools.bash
- name: Test with the most recent ponyc release
run: |
export PATH="/tmp/corral/bin:/tmp/ponyc/bin/:$PATH"
make test
macos-bootstrap:
name: Test bootstrapping on macOS
runs-on: macos-13
steps:
- uses: actions/checkout@v2
- name: update homebrew
run: brew update
- name: brew install dependencies
run:
brew install coreutils libressl
- 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
runs-on: windows-2022
steps:
- uses: actions/checkout@v2
- name: Test with most recent ponyc release
run: |
Invoke-WebRequest https://dl.cloudsmith.io/public/ponylang/releases/raw/versions/latest/ponyc-x86-64-pc-windows-msvc.zip -OutFile C:\ponyc.zip;
Expand-Archive -Path C:\ponyc.zip -DestinationPath C:\ponyc;
Invoke-WebRequest https://dl.cloudsmith.io/public/ponylang/releases/raw/versions/latest/corral-x86-64-pc-windows-msvc.zip -OutFile C:\corral.zip;
Expand-Archive -Path C:\corral.zip -DestinationPath C:\ponyc;
$env:PATH = 'C:\ponyc\bin;' + $env:PATH;
.\make.ps1 -Command fetch 2>&1
.\make.ps1 -Command build 2>&1
.\make.ps1 -Command test 2>&1
x86-64-apple-darwin-nightly:
name: Build and upload x86-64-apple-darwin-nightly to Cloudsmith
runs-on: macos-13
steps:
- uses: actions/checkout@v2
- name: install pony tools
run: bash .ci-scripts/macOS-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/x86-64-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.