release 0.6.0 #16
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: Build and publish stable branch | |
on: | |
workflow_dispatch: | |
push: | |
branches: [ 'main' ] | |
paths-ignore: | |
- "README.md" | |
- ".gitignore" | |
- ".editorconfig" | |
permissions: | |
contents: write | |
defaults: | |
run: | |
shell: bash | |
jobs: | |
release_info: | |
name: Create release | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
fetch-tags: true | |
# release commits should have a subject with `release X.Y.Z` in them, and | |
# the commit message body will be the body text of the github release. | |
- name: Get release version number | |
id: release_info | |
run: | | |
ver=$(git log -n1 --format=%s | grep -oP 'release\s+v?\K[0-9\.]+') || \ | |
ver=stable-$(git rev-parse --short HEAD) | |
echo "version=$ver" >> "$GITHUB_OUTPUT" | |
echo "COMMIT_BODY<<VERSIONEOF | |
$(git log -n1 --format=%b) | |
VERSIONEOF" >> "$GITHUB_ENV" | |
- name: Create draft release | |
uses: ncipollo/release-action@v1 | |
with: | |
tag: ${{ steps.release_info.outputs.version }} | |
commit: "${{ github.sha }}" | |
body: | | |
${{ env.COMMIT_BODY }} | |
# Instructions: | |
- Download and extract the zip file below according to your computer | |
- Run the Celeste64-Fuji application from the extracted files | |
# Requirements: | |
- **Windows:** 10 or later, x64 | |
- **Linux:** [Distro support list](https://github.com/dotnet/core/blob/main/release-notes/8.0/supported-os.md), x64 or arm | |
- **macOS:** Monterey or later, x64 or arm Intel-based or Apple Silicon with Rosetta | |
allowUpdates: true | |
name: "Fuji ${{ steps.release_info.outputs.version }}" | |
prerelease: false | |
makeLatest: true | |
draft: true | |
outputs: | |
version: ${{ steps.release_info.outputs.version }} | |
build: | |
name: Build artifacts | |
needs: release_info | |
strategy: | |
matrix: | |
include: | |
- { platform: macos-latest, rid: osx-arm64 } | |
- { platform: macos-latest, rid: osx-x64 } | |
- { platform: ubuntu-latest, rid: linux-arm } | |
- { platform: ubuntu-latest, rid: linux-arm64 } | |
- { platform: ubuntu-latest, rid: linux-x64 } | |
- { platform: windows-latest, rid: win-x64 } | |
runs-on: ${{ matrix.platform }} | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
fetch-tags: true | |
- name: Setup .NET | |
uses: actions/setup-dotnet@v3 | |
with: | |
dotnet-version: 8.0.x | |
- name: Build | |
run: | | |
dotnet publish Celeste64.Launcher/Celeste64.Launcher.csproj -c Release -r ${{ matrix.rid }} -p:ImportByWildcardBeforeSolution=false -o build | |
cp -r Content Mods build | |
- name: Compress | |
if: runner.os == 'Windows' | |
shell: pwsh | |
run: | | |
cd build && Compress-Archive * ../Celeste64-Fuji-${{ matrix.rid }}.zip | |
- name: Compress | |
if: runner.os != 'Windows' | |
run: | | |
cd build && zip -r ../Celeste64-Fuji-${{ matrix.rid }}.zip * | |
- name: Upload artifact to release | |
uses: ncipollo/release-action@v1 | |
with: | |
artifacts: Celeste64-Fuji-${{ matrix.rid }}.zip | |
commit: "${{ github.sha }}" | |
tag: ${{ needs.release_info.outputs.version }} | |
allowUpdates: true | |
omitNameDuringUpdate: true | |
omitBodyDuringUpdate: true | |
- name: Cancel release | |
if: ${{ failure() }} | |
run: gh release delete --cleanup-tag -y ${{ needs.release_info.outputs.version }} |