From 31c625a8c1d4c0f905f04397e804ba7b2c1b36eb Mon Sep 17 00:00:00 2001 From: Noah Pilarski Date: Tue, 11 Jun 2024 17:33:37 -0400 Subject: [PATCH 1/2] Add workflow release action --- .github/workflows/release.yml | 87 +++++++++++++++++++++++++++++++++++ 1 file changed, 87 insertions(+) create mode 100644 .github/workflows/release.yml diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 0000000..415828c --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,87 @@ +name: Create Release + +on: + workflow_dispatch: + inputs: + prerelease: + description: Prerelease + type: boolean + bypassCheck: + description: Bypass Version Check + type: boolean + +env: + PROJ_USERNAME: dgarro + PROJ_NAME: SuitLog + +jobs: + pre_job: + name: Check For Other Releases + outputs: + version: ${{ steps.out.outputs.version }} + exists: ${{ steps.out.outputs.exists }} + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: "actions/checkout@v3" + + - name: Fetch + run: git fetch + + - name: Read Manifest + id: read-manifest + run: echo "manifest=$(< ./${{ env.PROJ_NAME }}/manifest.json sed ':a;N;$!ba;s/\n/ /g')" >> $GITHUB_OUTPUT + + - name: Check For Release + id: check-tag + run: echo "exists=$(git ls-remote --exit-code --tags origin ${{ env.TAG }} >/dev/null 2>&1 && echo true || echo false)" >> $GITHUB_OUTPUT + env: + TAG: ${{fromJson(steps.read-manifest.outputs.manifest).version}} + + - name: Output Version Info + id: out + run: | + echo "version=${{fromJson(steps.read-manifest.outputs.manifest).version}}" >> $GITHUB_OUTPUT + echo "exists=${{steps.check-tag.outputs.exists}}" >> $GITHUB_OUTPUT + + - name: Error + if: ${{ steps.out.outputs.exists != 'false' && (!inputs.bypassCheck) }} + run: echo "::error file=manifest.json,title=Refusing to Release::Your mod was not released because there is already a release with the version in manifest.json" + release: + needs: pre_job + if: ${{ (needs.pre_job.outputs.version != '0.0.0') && (needs.pre_job.outputs.exists == 'false') || (inputs.bypassCheck) }} + name: Create Release + runs-on: windows-latest + steps: + - name: Checkout + uses: "actions/checkout@v3" + + - name: Setup .NET + uses: "actions/setup-dotnet@v3" + + - name: Remove .csproj.user + run: if (Test-Path ${{ env.PROJ_NAME }}/${{ env.PROJ_NAME }}.csproj.user) { rm ${{ env.PROJ_NAME }}/${{ env.PROJ_NAME }}.csproj.user } + + - name: Build Mod + run: dotnet build -c Release + + - name: Upload Artifact + uses: "actions/upload-artifact@v3" + with: + name: "${{ env.PROJ_USERNAME }}.${{ env.PROJ_NAME }}" + path: "${{ env.PROJ_NAME }}/bin/Release" + + - name: Zip For Release + run: 7z a ${{ env.PROJ_USERNAME }}.${{ env.PROJ_NAME }}.zip ./${{ env.PROJ_NAME }}/bin/Release/** + + - name: Create Release + uses: "ncipollo/release-action@v1" + with: + allowUpdates: true + commit: ${{ github.ref_name }} + tag: ${{ needs.pre_job.outputs.version }} + name: ${{ needs.pre_job.outputs.version }} + omitBodyDuringUpdate: true + artifacts: "${{ env.PROJ_USERNAME}}.${{ env.PROJ_NAME }}.zip" + draft: true + prerelease: ${{ inputs.prerelease }} \ No newline at end of file From 51673162372c86c7b8d30b160c7e025712471235 Mon Sep 17 00:00:00 2001 From: Noah Pilarski Date: Tue, 11 Jun 2024 17:35:56 -0400 Subject: [PATCH 2/2] Update to patch 15 --- SuitLog/SuitLog.csproj | 10 ++++------ SuitLog/manifest.json | 4 ++-- 2 files changed, 6 insertions(+), 8 deletions(-) diff --git a/SuitLog/SuitLog.csproj b/SuitLog/SuitLog.csproj index 5d7421f..88e2a35 100644 --- a/SuitLog/SuitLog.csproj +++ b/SuitLog/SuitLog.csproj @@ -2,18 +2,16 @@ net48 default - Copyright © 2020 + Copyright © 2022 true false false false - - - none + portable - - + + diff --git a/SuitLog/manifest.json b/SuitLog/manifest.json index d91dddf..14b67f8 100644 --- a/SuitLog/manifest.json +++ b/SuitLog/manifest.json @@ -3,6 +3,6 @@ "author": "Damián Garro", "name": "Suit Log", "uniqueName": "dgarro.SuitLog", - "version": "1.3.1", - "owmlVersion": "2.4.0" + "version": "1.4.0", + "owmlVersion": "2.13.0" }