Skip to content

Update corral.json in preparation for 0.8.1 release #24

Update corral.json in preparation for 0.8.1 release

Update corral.json in preparation for 0.8.1 release #24

Workflow file for this run

name: Release
on:
push:
tags:
- '[0-9]+.[0-9]+.[0-9]+'
concurrency: release
jobs:
# validation to assure that we should in fact continue with the release should
# be done here. the primary reason for this step is to verify that the release
# was started correctly by pushing a `release-X.Y.Z` tag rather than `X.Y.Z`.
pre-artefact-creation:
name: Tasks to run before artefact creation
runs-on: ubuntu-latest
steps:
- name: Checkout main
uses: actions/checkout@v3
with:
ref: "main"
token: ${{ secrets.RELEASE_TOKEN }}
- name: Validate CHANGELOG
uses: docker://ghcr.io/ponylang/release-bot-action:0.6.3
with:
entrypoint: pre-artefact-changelog-check
x86-64-unknown-linux-release:
name: Build and upload x86-64-unknown-linux to Cloudsmith
runs-on: ubuntu-latest
needs:
- pre-artefact-creation
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: Build and upload
run: bash .ci-scripts/release/x86-64-unknown-linux-release.bash
env:
CLOUDSMITH_API_KEY: ${{ secrets.CLOUDSMITH_API_KEY }}
x86-64-apple-darwin-release:
name: Build and upload x86-64-apple-darwin to Cloudsmith
runs-on: macos-13
needs:
- pre-artefact-creation
steps:
- uses: actions/checkout@v3
- 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-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
needs:
- pre-artefact-creation
steps:
- uses: actions/checkout@v3
- 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-Content .\VERSION); cloudsmith push raw --version $version --api-key $env:CLOUDSMITH_API_KEY --summary "The Pony toolchain multiplexer" --description "https://github.com/ponylang/ponyup" ponylang/releases build\ponyup-x86-64-pc-windows-msvc.zip
env:
CLOUDSMITH_API_KEY: ${{ secrets.CLOUDSMITH_API_KEY }}
build-release-docker-images:
name: Build and push release Docker images
runs-on: ubuntu-latest
needs:
- pre-artefact-creation
steps:
- uses: actions/checkout@v3
- name: Login to GitHub Container Registry
# v2.2.0
uses: docker/login-action@465a07811f14bebb1938fbed4728c6a1ff8901fc
with:
registry: ghcr.io
username: ${{ github.repository_owner }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Build and push
run: bash .ci-scripts/release/build-docker-images-on-release.bash
update-latest-release-tag:
name: Update latest-release tag
runs-on: ubuntu-latest
needs:
- pre-artefact-creation
steps:
- uses: actions/checkout@v3
- name: Tag
run: |
git tag --force latest-release
git push --force "https://${TOKEN}@github.com/${GITHUB_REPOSITORY}.git" latest-release
env:
TOKEN: ${{ secrets.RELEASE_TOKEN }}
trigger-release-announcement:
name: Trigger release announcement
runs-on: ubuntu-latest
needs:
- x86-64-unknown-linux-release
- x86-64-pc-windows-msvc-release
- x86-64-apple-darwin-release
- build-release-docker-images
- update-latest-release-tag
steps:
- uses: actions/checkout@v3
with:
ref: "main"
token: ${{ secrets.RELEASE_TOKEN }}
- name: Trigger
uses: docker://ghcr.io/ponylang/release-bot-action:0.6.3
with:
entrypoint: trigger-release-announcement
env:
GIT_USER_NAME: "Ponylang Main Bot"
GIT_USER_EMAIL: "ponylang.main@gmail.com"