Nightlies #2047
This file contains hidden or 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: Nightlies | |
on: | |
schedule: | |
- cron: "0 0 * * *" | |
permissions: | |
packages: read | |
jobs: | |
# Currently, GitHub actions supplied by GH like checkout and cache do not work | |
# in musl libc environments on arm64. We can work around this by running | |
# those actions on the host and then "manually" doing our work that would | |
# normally be done "in the musl container" by starting the container ourselves | |
# for various steps by invoking docker directly. | |
# | |
# This is not in line with our standard pattern of "just do it all in the | |
# container" but is required to work around the GitHub actions limitation | |
# documented above. | |
arm64-unknown-linux-nightly: | |
name: Build and upload arm64-unknown-linux-nightly to Cloudsmith | |
runs-on: ubuntu-24.04-arm | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4.1.1 | |
- name: Pull Docker image | |
run: docker pull ghcr.io/ponylang/shared-docker-ci-arm64-unknown-linux-builder-with-libressl-4.0.0:latest | |
- name: Build and upload | |
run: | | |
docker run --rm \ | |
-v ${{ github.workspace }}:/root/project \ | |
-w /root/project \ | |
-e CLOUDSMITH_API_KEY=${{ secrets.CLOUDSMITH_API_KEY }} \ | |
-e GITHUB_REPOSITORY=${{ github.repository }} \ | |
ghcr.io/ponylang/shared-docker-ci-arm64-unknown-linux-builder-with-libressl-4.0.0:latest \ | |
bash .ci-scripts/release/arm64-unknown-linux-nightly.bash | |
- name: Send alert on failure | |
if: ${{ failure() }} | |
uses: zulip/github-actions-zulip/send-message@e4c8f27c732ba9bd98ac6be0583096dea82feea5 | |
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. | |
x86-64-unknown-linux-nightly: | |
name: Build and upload x86-64-unknown-linux-nightly to Cloudsmith | |
runs-on: ubuntu-latest | |
container: | |
image: ghcr.io/ponylang/shared-docker-ci-x86-64-unknown-linux-builder-with-libressl-4.0.0:release | |
steps: | |
- uses: actions/checkout@v4.1.1 | |
- name: Build and upload | |
run: bash .ci-scripts/release/x86-64-unknown-linux-nightly.bash | |
env: | |
CLOUDSMITH_API_KEY: ${{ secrets.CLOUDSMITH_API_KEY }} | |
- name: Send alert on failure | |
if: ${{ failure() }} | |
uses: zulip/github-actions-zulip/send-message@e4c8f27c732ba9bd98ac6be0583096dea82feea5 | |
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. | |
x86-64-pc-windows-msvc-nightly: | |
name: Build and upload x86-64-pc-windows-msvc-nightly to Cloudsmith | |
runs-on: windows-2025 | |
steps: | |
- uses: actions/checkout@v4.1.1 | |
- name: Build and upload | |
run: | | |
python.exe -m pip install --upgrade cloudsmith-cli | |
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 -Force -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 -Force -Path C:\corral.zip -DestinationPath C:\ponyc; | |
$env:PATH = 'C:\ponyc\bin;' + $env:PATH; | |
.\make.ps1 -Command fetch; | |
.\make.ps1 -Command build; | |
.\make.ps1 -Command install; | |
.\make.ps1 -Command package; | |
$version = (Get-Date).ToString("yyyyMMdd"); cloudsmith push raw --version $version --api-key $env:CLOUDSMITH_API_KEY --summary "The Pony toolchain multiplexer" --description "https://github.com/ponylang/ponyup" ponylang/nightlies build\ponyup-x86-64-pc-windows-msvc.zip | |
env: | |
CLOUDSMITH_API_KEY: ${{ secrets.CLOUDSMITH_API_KEY }} | |
- name: Send alert on failure | |
if: ${{ failure() }} | |
uses: zulip/github-actions-zulip/send-message@e4c8f27c732ba9bd98ac6be0583096dea82feea5 | |
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. | |
arm64-pc-windows-msvc-nightly: | |
name: Build and upload arm64-pc-windows-msvc-nightly to Cloudsmith | |
runs-on: windows-11-arm | |
steps: | |
- uses: actions/checkout@v4.1.1 | |
- name: Build and upload | |
run: | | |
python.exe -m pip install --upgrade cloudsmith-cli | |
Invoke-WebRequest https://dl.cloudsmith.io/public/ponylang/nightlies/raw/versions/latest/ponyc-arm64-pc-windows-msvc.zip -OutFile C:\ponyc.zip; | |
Expand-Archive -Force -Path C:\ponyc.zip -DestinationPath C:\ponyc; | |
Invoke-WebRequest https://dl.cloudsmith.io/public/ponylang/nightlies/raw/versions/latest/corral-arm64-pc-windows-msvc.zip -OutFile C:\corral.zip; | |
Expand-Archive -Force -Path C:\corral.zip -DestinationPath C:\ponyc; | |
$env:PATH = 'C:\ponyc\bin;' + $env:PATH; | |
.\make.ps1 -Command fetch; | |
.\make.ps1 -Command build; | |
.\make.ps1 -Command install; | |
.\make.ps1 -Command package; | |
$version = (Get-Date).ToString("yyyyMMdd"); cloudsmith push raw --version $version --api-key $env:CLOUDSMITH_API_KEY --summary "The Pony toolchain multiplexer" --description "https://github.com/ponylang/ponyup" ponylang/nightlies build\ponyup-arm64-pc-windows-msvc.zip | |
env: | |
CLOUDSMITH_API_KEY: ${{ secrets.CLOUDSMITH_API_KEY }} | |
- name: Send alert on failure | |
if: ${{ failure() }} | |
uses: zulip/github-actions-zulip/send-message@e4c8f27c732ba9bd98ac6be0583096dea82feea5 | |
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. | |
x86-64-apple-darwin-nightly: | |
name: Build and upload x86-64-apple-darwin-nightly to Cloudsmith | |
runs-on: macos-13 | |
steps: | |
- uses: actions/checkout@v4.1.1 | |
- name: install pony tools | |
run: bash .ci-scripts/macos-x86-install-pony-tools.bash release | |
- 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@e4c8f27c732ba9bd98ac6be0583096dea82feea5 | |
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. | |
arm64-apple-darwin-nightly: | |
name: Build and upload arm64-apple-darwin-nightly to Cloudsmith | |
runs-on: macos-15 | |
steps: | |
- uses: actions/checkout@v4.1.1 | |
- name: install pony tools | |
run: bash .ci-scripts/macos-arm64-install-pony-tools.bash release | |
- name: brew install dependencies | |
run: brew install coreutils | |
- name: pip install dependencies | |
run: pip3 install --upgrade --break-system-packages 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@e4c8f27c732ba9bd98ac6be0583096dea82feea5 | |
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. |