Skip to content

Commit

Permalink
Merge pull request #117 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
hadashiA authored Mar 29, 2024
2 parents 5d3b2b8 + 916df13 commit b36942e
Showing 1 changed file with 22 additions and 72 deletions.
94 changes: 22 additions & 72 deletions .github/workflows/build-release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,11 +12,6 @@ on:
default: false
type: boolean

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

jobs:
update-packagejson:
uses: Cysharp/Actions/.github/workflows/update-packagejson.yaml@main
Expand All @@ -26,8 +21,8 @@ jobs:
./src/MessagePipe.Unity/Assets/Plugins/MessagePipe.VContainer/package.json
./src/MessagePipe.Unity/Assets/Plugins/MessagePipe.Zenject/package.json
./src/MessagePipe.Unity/Assets/Plugins/MessagePipe.Interprocess/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 Down Expand Up @@ -60,9 +55,9 @@ jobs:
6.0.x
# build and pack
- run: dotnet build ./tools/PostBuildUtility/ -c Release
- run: dotnet build -c Release -p:Version=${{ env.GIT_TAG }}
- run: dotnet build -c Release -p:Version=${{ inputs.tag }}
- run: dotnet test -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 Down Expand Up @@ -108,75 +103,30 @@ jobs:
# Store artifacts.
- uses: actions/upload-artifact@v2
with:
name: MessagePipe.Unity.${{ env.GIT_TAG }}.unitypackage
path: ./src/MessagePipe.Unity/MessagePipe*.${{ env.GIT_TAG }}.unitypackage
name: MessagePipe.Unity.${{ inputs.tag }}.unitypackage
path: ./src/MessagePipe.Unity/MessagePipe*.${{ inputs.tag }}.unitypackage
if-no-files-found: error

# release
create-release:
if: github.event.inputs.dry-run == 'false'
needs: [update-packagejson, build-dotnet, build-unity]
runs-on: ubuntu-latest
steps:
- uses: Cysharp/Actions/.github/actions/setup-dotnet@main
# Create Releases
- 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: ./MessagePipe.Analyzer/MessagePipe.Analyzer.dll
asset_name: MessagePipe.Analyzer.dll
asset_content_type: application/octet-stream
- uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: ./MessagePipe.Unity.${{ env.GIT_TAG }}.unitypackage/MessagePipe.${{ env.GIT_TAG }}.unitypackage
asset_name: MessagePipe.${{ env.GIT_TAG }}.unitypackage
asset_content_type: application/octet-stream
- uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: ./MessagePipe.Unity.${{ env.GIT_TAG }}.unitypackage/MessagePipe.VContainer.${{ env.GIT_TAG }}.unitypackage
asset_name: MessagePipe.VContainer.${{ env.GIT_TAG }}.unitypackage
asset_content_type: application/octet-stream
- uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: ./MessagePipe.Unity.${{ env.GIT_TAG }}.unitypackage/MessagePipe.Zenject.${{ env.GIT_TAG }}.unitypackage
asset_name: MessagePipe.Zenject.${{ env.GIT_TAG }}.unitypackage
asset_content_type: application/octet-stream
- uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: ./MessagePipe.Unity.${{ env.GIT_TAG }}.unitypackage/MessagePipe.Interprocess.${{ env.GIT_TAG }}.unitypackage
asset_name: MessagePipe.Interprocess.${{ 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 }}
dry-run: ${{ inputs.dry-run }}
tag: ${{ inputs.tag }}
nuget-push: true
release-upload: true
release-asset-path: |
./MessagePipe.Analyzer/MessagePipe.Analyzer.dll
./MessagePipe.Unity.${{ inputs.tag }}.unitypackage/MessagePipe.${{ inputs.tag }}.unitypackage
./MessagePipe.Unity.${{ inputs.tag }}.unitypackage/MessagePipe.VContainer.${{ inputs.tag }}.unitypackage
./MessagePipe.Unity.${{ inputs.tag }}.unitypackage/MessagePipe.Zenject.${{ inputs.tag }}.unitypackage
./MessagePipe.Unity.${{ inputs.tag }}.unitypackage/MessagePipe.Interprocess.${{ 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-unity]
uses: Cysharp/Actions/.github/workflows/clean-packagejson-branch.yaml@main
with:
Expand Down

0 comments on commit b36942e

Please sign in to comment.