Skip to content

Commit

Permalink
Merge pull request #106 from Cysharp/feature/new_release
Browse files Browse the repository at this point in the history
ci: Cysharp/Actions/.github/workflows/create-release.yaml
  • Loading branch information
neuecc authored Mar 25, 2024
2 parents 05a181d + 3bcdf53 commit a0d7ac1
Showing 1 changed file with 17 additions and 41 deletions.
58 changes: 17 additions & 41 deletions .github/workflows/build-release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,17 +12,13 @@ on:
default: false
type: boolean

env:
GIT_TAG: ${{ github.event.inputs.tag }}
DRY_RUN: ${{ github.event.inputs.dry-run }}

jobs:
update-packagejson:
uses: Cysharp/Actions/.github/workflows/update-packagejson.yaml@main
with:
file-path: ./src/ZString.Unity/Assets/Scripts/ZString/package.json
tag: ${{ github.event.inputs.tag }}
dry-run: ${{ fromJson(github.event.inputs.dry-run) }}
tag: ${{ inputs.tag }}
dry-run: ${{ inputs.dry-run }}

build-dotnet:
needs: [update-packagejson]
Expand All @@ -35,9 +31,9 @@ jobs:
ref: ${{ needs.update-packagejson.outputs.sha }}
- uses: Cysharp/Actions/.github/actions/setup-dotnet@main
# pack nuget
- run: dotnet build -c Release -p:Version=${{ env.GIT_TAG }}
- run: dotnet build -c Release -p:Version=${{ inputs.tag }}
- run: dotnet test tests/ZString.Tests -c Release --no-build
- run: dotnet pack -c Release --no-build -p:Version=${{ env.GIT_TAG }} -o ./publish
- run: dotnet pack -c Release --no-build -p:Version=${{ inputs.tag }} -o ./publish
# Store artifacts.
- uses: actions/upload-artifact@v2
with:
Expand All @@ -63,7 +59,7 @@ jobs:
UNITY_EMAIL: ${{ secrets.UNITY_EMAIL }}
UNITY_PASSWORD: ${{ secrets.UNITY_PASSWORD }}
UNITY_SERIAL: ${{ secrets.UNITY_SERIAL }}
UNITY_PACKAGE_VERSION: ${{ env.GIT_TAG }}
UNITY_PACKAGE_VERSION: ${{ inputs.tag }}
with:
projectPath: src/ZString.Unity
unityVersion: ${{ matrix.unity }}
Expand All @@ -77,43 +73,23 @@ jobs:
# Store artifacts.
- uses: actions/upload-artifact@v2
with:
name: ZString.Unity.${{ env.GIT_TAG }}.unitypackage
path: ./src/ZString.Unity/ZString.Unity.${{ env.GIT_TAG }}.unitypackage
name: ZString.Unity.${{ inputs.tag }}.unitypackage
path: ./src/ZString.Unity/ZString.Unity.${{ inputs.tag }}.unitypackage

create-release:
if: github.event.inputs.dry-run == 'false'
needs: [update-packagejson, build-dotnet, build-unity]
runs-on: ubuntu-latest
timeout-minutes: 10
steps:
- uses: Cysharp/Actions/.github/actions/setup-dotnet@main
# Create Release
- uses: actions/create-release@v1
id: create_release
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
tag_name: ${{ env.GIT_TAG }}
release_name: Ver.${{ env.GIT_TAG }}
commitish: ${{ needs.update-packagejson.outputs.sha }}
draft: true
prerelease: false
# Download (All) Artifacts to current directory
- uses: actions/download-artifact@v2
# Upload to NuGet
- run: dotnet nuget push "./nuget/*.nupkg" --skip-duplicate -s https://www.nuget.org/api/v2/package -k ${{ secrets.NUGET_KEY }}
# Upload to Releases(unitypackage)
- uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: ./ZString.Unity.${{ env.GIT_TAG }}.unitypackage/ZString.Unity.${{ env.GIT_TAG }}.unitypackage
asset_name: ZString.Unity.${{ env.GIT_TAG }}.unitypackage
asset_content_type: application/octet-stream
uses: Cysharp/Actions/.github/workflows/create-release.yaml@main
with:
commit-id: ${{ needs.update-packagejson.outputs.sha }}
tag: ${{ inputs.tag }}
dry-run: ${{ inputs.dry-run }}
nuget-push: true
release-upload: true
release-asset-path: ./ZString.Unity.${{ inputs.tag }}.unitypackage/ZString.Unity.${{ inputs.tag }}.unitypackage
secrets: inherit

cleanup:
if: needs.update-packagejson.outputs.is-branch-created == 'true'
if: ${{ needs.update-packagejson.outputs.is-branch-created == 'true' }}
needs: [update-packagejson, build-dotnet, build-unity]
uses: Cysharp/Actions/.github/workflows/clean-packagejson-branch.yaml@main
with:
Expand Down

0 comments on commit a0d7ac1

Please sign in to comment.