Add macOS on Intel as a fully supported platform #428
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: 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. |