Merge pull request #471 from karaoke-dev/dependabot/nuget/osu-related… #81
Workflow file for this run
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
# There is no manual way to call this out to run this on tags via UI. | |
# See: https://github.community/t/workflow-dispatch-from-a-tag-in-actions-tab/130561 | |
name: Tagged Release | |
on: | |
push: | |
tags: ['*'] | |
jobs: | |
check-if-tag: | |
name: Set Package Version | |
runs-on: ubuntu-latest | |
outputs: | |
version: ${{steps.deployment.outputs.version}} | |
steps: | |
- name: Checkout | |
run: | | |
REPOSITORY="https://${{ github.actor }}:${{ github.token }}@github.com/${{ github.repository }}.git" | |
BRANCH="${GITHUB_REF/#refs\/heads\//}" | |
git version | |
git clone --no-checkout ${REPOSITORY} . | |
git config --local gc.auto 0 | |
git -c protocol.version=2 fetch --no-tags --prune --progress --depth=2 origin +${GITHUB_SHA}:refs/remotes/origin/${BRANCH} | |
git checkout --progress --force -B $BRANCH refs/remotes/origin/$BRANCH | |
- name: Set Variables | |
id: deployment | |
shell: bash | |
run: | | |
if [ $(git describe --exact-match --tags HEAD &> /dev/null; echo $?) == 0 ]; then | |
echo "::set-output name=VERSION::$(git describe --exact-match --tags HEAD)" | |
else | |
echo "fatal: no tag detected for HEAD. Workflow will now stop." | |
exit 128; | |
fi | |
pack-framework: | |
name: Pack (Framework) | |
runs-on: windows-latest | |
needs: [check-if-tag] | |
defaults: | |
run: | |
shell: powershell | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v2 | |
- name: Set Artifacts Directory | |
id: artifactsPath | |
run: echo "::set-output name=NUGET_ARTIFACTS::${{github.workspace}}\artifacts" | |
- name: Install .NET 8.0.x | |
uses: actions/setup-dotnet@v1 | |
with: | |
dotnet-version: "8.0.x" | |
- name: Build (Framework) | |
run: dotnet build -c Release osu.Framework.Font /p:Version=${{needs.check-if-tag.outputs.version}} /p:GenerateDocumentationFile=true | |
- name: Pack (Framework) | |
run: dotnet pack -c Release osu.Framework.Font /p:Version=${{needs.check-if-tag.outputs.version}} /p:GenerateDocumentationFile=true -o ${{steps.artifactsPath.outputs.nuget_artifacts}} | |
- name: Upload Artifacts | |
uses: actions/upload-artifact@v2 | |
with: | |
name: osu-framework | |
path: ${{steps.artifactsPath.outputs.nuget_artifacts}}\*.nupkg | |
release: | |
name: Release | |
runs-on: ubuntu-latest | |
needs: [ check-if-tag, pack-framework ] | |
steps: | |
- name: Create Artifact Directory | |
run: mkdir ${{github.workspace}}/artifacts/ | |
- name: Download Artifacts | |
uses: actions/download-artifact@v2 | |
with: | |
path: ${{github.workspace}}/artifacts/ | |
# Artifacts create their own directories. Let's fix that! | |
# https://github.com/actions/download-artifact#download-all-artifacts | |
- name: Move Artifacts to root of subdirectory | |
working-directory: ${{github.workspace}}/artifacts/ | |
run: | | |
mv -v **/*.nupkg $(pwd) | |
rm -rfv */ | |
- name: Deploy | |
run: | | |
dotnet nuget push ${{github.workspace}}/artifacts/*.nupkg --skip-duplicate --source https://api.nuget.org/v3/index.json -k ${{secrets.NUGET_AUTH_TOKEN}} |