Update corral.json in preparation for 0.8.1 release #24
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: 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" |