44 lines
1.2 KiB
YAML
44 lines
1.2 KiB
YAML
name: build-release
|
|
|
|
on:
|
|
workflow_dispatch:
|
|
inputs:
|
|
tag:
|
|
description: "tag: git tag you want create. (sample 1.0.0)"
|
|
required: true
|
|
dry-run:
|
|
description: "dry-run: true will never create relase/nuget."
|
|
required: true
|
|
default: false
|
|
type: boolean
|
|
|
|
jobs:
|
|
build-dotnet:
|
|
runs-on: ubuntu-latest
|
|
timeout-minutes: 10
|
|
steps:
|
|
- uses: actions/checkout@v3
|
|
- uses: Cysharp/Actions/.github/actions/setup-dotnet@main
|
|
# build and pack
|
|
- 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=${{ inputs.tag }} -o ./publish
|
|
# Store artifacts.
|
|
- uses: Cysharp/Actions/.github/actions/upload-artifact@main
|
|
with:
|
|
name: nuget
|
|
path: ./publish/
|
|
retention-days: 1
|
|
|
|
# release
|
|
create-release:
|
|
needs: [build-dotnet]
|
|
uses: Cysharp/Actions/.github/workflows/create-release.yaml@main
|
|
with:
|
|
commit-id: ${{ github.sha }}
|
|
dry-run: ${{ inputs.dry-run }}
|
|
tag: ${{ inputs.tag }}
|
|
nuget-push: true
|
|
release-upload: false
|
|
secrets: inherit
|