-
Notifications
You must be signed in to change notification settings - Fork 9
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* Replaced publish workflow with new release workflow modeled after other Chickensoft packages * Updated auto_release workflow to use the new release workflow * Updated GoDotTest csproj with fallback version number for release workflow * Updated dictionary to recognize "devbuild" from fallback version number
- Loading branch information
Showing
5 changed files
with
110 additions
and
102 deletions.
There are no files selected for viewing
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
This file was deleted.
Oops, something went wrong.
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,98 @@ | ||
name: '📦 Release' | ||
on: | ||
# Make a release whenever the developer wants. | ||
workflow_dispatch: | ||
inputs: | ||
bump: | ||
type: string | ||
description: "major, minor, or patch" | ||
required: true | ||
default: "patch" | ||
# Make a release whenever we're told to by another workflow. | ||
workflow_call: | ||
secrets: | ||
NUGET_API_KEY: | ||
description: "API key for Nuget" | ||
required: true | ||
GH_BASIC: | ||
description: "Personal access token (PAT) for GitHub" | ||
required: true | ||
# Input unifies with the workflow dispatch since it's identical. | ||
inputs: | ||
bump: | ||
type: string | ||
description: "major, minor, or patch" | ||
required: true | ||
default: "patch" | ||
jobs: | ||
release: | ||
name: '📦 Release' | ||
runs-on: ubuntu-latest | ||
env: | ||
DOTNET_CLI_TELEMETRY_OPTOUT: true | ||
DOTNET_NOLOGO: true | ||
steps: | ||
- name: 🧾 Checkout | ||
uses: actions/checkout@v4 | ||
with: | ||
lfs: true | ||
submodules: 'recursive' | ||
fetch-depth: 0 # So we can get all tags. | ||
|
||
- name: 🔎 Read Current Project Version | ||
id: current-version | ||
uses: WyriHaximus/github-action-get-previous-tag@v1 | ||
with: | ||
fallback: "0.0.0-devbuild" | ||
|
||
- name: 🖨 Print Current Version | ||
run: | | ||
echo "Current Version: ${{ steps.current-version.outputs.tag }}" | ||
- name: 🧮 Compute Next Version | ||
uses: chickensoft-games/next-godot-csproj-version@v1 | ||
id: next-version | ||
with: | ||
project-version: ${{ steps.current-version.outputs.tag }} | ||
godot-version: global.json | ||
bump: ${{ inputs.bump }} | ||
|
||
- uses: actions/setup-dotnet@v4 | ||
name: 💽 Setup .NET SDK | ||
with: | ||
# Use the .NET SDK from global.json in the root of the repository. | ||
global-json-file: global.json | ||
|
||
# Write version to file so .NET will build correct version. | ||
- name: 📝 Write Version to File | ||
uses: jacobtomlinson/gha-find-replace@v3 | ||
with: | ||
find: "0.0.0-devbuild" | ||
replace: ${{ steps.next-version.outputs.version }} | ||
regex: false | ||
include: Chickensoft.GoDotTest/Chickensoft.GoDotTest.csproj | ||
|
||
- name: 📦 Build | ||
working-directory: Chickensoft.GoDotTest | ||
run: dotnet build -c Release | ||
|
||
- name: 🔎 Get Package Path | ||
id: package-path | ||
run: | | ||
package=$(find ./Chickensoft.GoDotTest/nupkg -name "*.nupkg") | ||
echo "package=$package" >> "$GITHUB_OUTPUT" | ||
echo "📦 Found package: $package" | ||
- name: ✨ Create Release | ||
env: | ||
GITHUB_TOKEN: ${{ secrets.GH_BASIC }} | ||
run: | | ||
version="${{ steps.next-version.outputs.version }}" | ||
gh release create --title "v$version" --generate-notes "$version" \ | ||
"${{ steps.package-path.outputs.package }}" | ||
- name: 🛜 Publish to Nuget | ||
run: | | ||
dotnet nuget push "${{ steps.package-path.outputs.package }}" \ | ||
--api-key "${{ secrets.NUGET_API_KEY }}" \ | ||
--source "https://api.nuget.org/v3/index.json" --skip-duplicate |
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
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
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -25,6 +25,7 @@ | |
"contentfiles", | ||
"coreclr", | ||
"CYGWIN", | ||
"devbuild", | ||
"endregion", | ||
"Gamedev", | ||
"globaltool", | ||
|