Update VERSION in preparation for 0.56.0 release #8
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: ponylang/release-bot-action@0.6.1 | |
with: | |
entrypoint: pre-artefact-changelog-check | |
x86_64-linux: | |
needs: | |
- pre-artefact-creation | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: false | |
matrix: | |
include: | |
- image: ponylang/ponyc-ci-x86-64-unknown-linux-ubuntu22.04-builder:20230806 | |
name: x86-64-unknown-linux-ubuntu22.04 | |
triple-os: linux-ubuntu22.04 | |
triple-vendor: unknown | |
- image: ponylang/ponyc-ci-x86-64-unknown-linux-ubuntu20.04-builder:20230807 | |
name: x86-64-unknown-linux-ubuntu20.04 | |
triple-os: linux-ubuntu20.04 | |
triple-vendor: unknown | |
- image: ponylang/ponyc-ci-x86-64-unknown-linux-musl-builder:20230822 | |
name: x86-64-unknown-linux-musl | |
triple-os: linux-musl | |
triple-vendor: unknown | |
name: ${{ matrix.name }} | |
container: | |
image: ${{ matrix.image }} | |
options: --user pony | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3 | |
- name: Restore Libs Cache | |
id: restore-libs | |
uses: actions/cache/restore@v3 | |
with: | |
path: build/libs | |
key: libs-${{ matrix.image }}-${{ hashFiles('Makefile', 'CMakeLists.txt', 'libs/CMakeLists.txt') }} | |
- name: Build Libs | |
if: steps.restore-libs.outputs.cache-hit != 'true' | |
run: make libs build_flags=-j8 | |
- name: Save Libs Cache | |
if: steps.restore-libs.outputs.cache-hit != 'true' | |
uses: actions/cache/save@v3 | |
with: | |
path: build/libs | |
key: libs-${{ matrix.image }}-${{ hashFiles('Makefile', 'CMakeLists.txt', 'libs/CMakeLists.txt') }} | |
- name: Release | |
run: bash .ci-scripts/x86-64-release.bash | |
env: | |
CLOUDSMITH_API_KEY: ${{ secrets.CLOUDSMITH_API_KEY }} | |
TRIPLE_VENDOR: ${{ matrix.triple-vendor }} | |
TRIPLE_OS: ${{ matrix.triple-os }} | |
x86_macos: | |
needs: | |
- pre-artefact-creation | |
runs-on: macos-13 | |
name: x86-64-apple-darwin | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3 | |
- name: Restore Libs Cache | |
id: restore-libs | |
uses: actions/cache/restore@v3 | |
with: | |
path: build/libs | |
key: libs-x86-macos-13-${{ hashFiles('Makefile', 'CMakeLists.txt', 'libs/CMakeLists.txt') }} | |
- name: Build Libs | |
if: steps.restore-libs.outputs.cache-hit != 'true' | |
run: make libs build_flags=-j8 | |
- name: Save Libs Cache | |
if: steps.restore-libs.outputs.cache-hit != 'true' | |
uses: actions/cache/save@v3 | |
with: | |
path: build/libs | |
key: libs-x86-macos-13-${{ hashFiles('Makefile', 'CMakeLists.txt', 'libs/CMakeLists.txt') }} | |
- name: Install Dependencies | |
run: | | |
brew install python | |
pip3 install --upgrade cloudsmith-cli | |
- name: Release | |
run: bash .ci-scripts/x86-64-release.bash | |
env: | |
CLOUDSMITH_API_KEY: ${{ secrets.CLOUDSMITH_API_KEY }} | |
TRIPLE_VENDOR: apple | |
TRIPLE_OS: darwin | |
x86_64-windows: | |
runs-on: windows-2022 | |
defaults: | |
run: | |
shell: pwsh | |
name: x86-64 Windows MSVC | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3 | |
- name: Install Dependencies | |
run: | | |
function msys() { C:\msys64\usr\bin\bash.exe @('-lc') + @Args }; msys ' '; msys 'pacman --noconfirm -Syuu'; msys 'pacman --noconfirm -Syuu'; msys 'pacman --noconfirm -S --needed base-devel mingw-w64-x86_64-lldb'; msys 'pacman --noconfirm -Scc' | |
python.exe -m pip install --upgrade cloudsmith-cli | |
- name: Restore Libs Cache | |
id: restore-libs | |
uses: actions/cache/restore@v3 | |
with: | |
path: build/libs | |
key: libs-windows-2022-${{ hashFiles('make.ps1', 'CMakeLists.txt', 'libs/CMakeLists.txt') }} | |
- name: Build Libs | |
if: steps.restore-libs.outputs.cache-hit != 'true' | |
run: .\make.ps1 -Command libs | |
- name: Save Libs Cache | |
if: steps.restore-libs.outputs.cache-hit != 'true' | |
uses: actions/cache/save@v3 | |
with: | |
path: build/libs | |
key: libs-windows-2022-${{ hashFiles('make.ps1', 'CMakeLists.txt', 'libs/CMakeLists.txt') }} | |
- name: Configure | |
run: .\make.ps1 -Command configure -Config Release -Prefix "build\install\release" -Version (Get-Content .\VERSION | |
- name: Build | |
run: \make.ps1 -Command build -Config Release -Prefix "build\install\release" -Version (Get-Content .\VERSION | |
- name: Install | |
run: .\make.ps1 -Command install -Config Release -Prefix "build\install\release" | |
- name: Package | |
run: .\make.ps1 -Command package -Config Release -Prefix "build\install\release" -Version (Get-Content .\VERSION | |
- name: Upload | |
run: $version = (Get-Content .\VERSION); cloudsmith push raw --version $version --api-key ${{ secrets.CLOUDSMITH_API_KEY }} --summary "Pony compiler" --description "https://github.com/ponylang/ponyc" ponylang/nightlies build\ponyc-x86-64-pc-windows-msvc.zip |