From a61d942a99666128af2ae9e86de13137027d9b93 Mon Sep 17 00:00:00 2001 From: Phantomical Date: Mon, 4 May 2026 20:35:44 -0700 Subject: [PATCH 1/8] Initial release.yml workflow This just mirrors build.yml for the moment. I'll be adjusting this once I can get a look at the intermediate artifacts --- .github/workflows/release.yml | 12 ++++++++++++ 1 file changed, 12 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..eca17bb --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,12 @@ +name: Release + +on: + release: + types: [published] + pull_request: + paths: + - .github/workflows/release.yml + +jobs: + build: + uses: KSPModdingLibs/KSPBuildTools/.github/workflows/build.yml@1.1.1 From 168d07879bb339980a8fab351be896363874723f Mon Sep 17 00:00:00 2001 From: Phantomical Date: Mon, 4 May 2026 23:05:25 -0700 Subject: [PATCH 2/8] Add setup to actually build the release zip --- .github/workflows/build.yml | 3 +++ .github/workflows/release.yml | 29 +++++++++++++++++++++++++++++ 2 files changed, 32 insertions(+) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 623b4dc..8f47d59 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -18,3 +18,6 @@ on: jobs: build: uses: KSPModdingLibs/KSPBuildTools/.github/workflows/build.yml@1.1.1 + with: + artifacts: + GameData Extras LICENSE* README* CHANGELOG* diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index eca17bb..c881f1d 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -10,3 +10,32 @@ on: jobs: build: uses: KSPModdingLibs/KSPBuildTools/.github/workflows/build.yml@1.1.1 + with: + artifacts: + GameData Extras LICENSE* README* CHANGELOG* + + assemble-release-asset: + needs: build + runs-on: ubuntu-latest + steps: + - uses: actions/download-artifact@v8 + with: + name: SystemHeat-RELEASE + path: SystemHeat + + - name: Extract Version + run: + export VFILE=SystemHeat/GameData/SystemHeat/Versioning/SystemHeat.version + echo "MAJOR=$(cat $VFILE | jq -r .VERSION.MAJOR)" >> "$GITHUB_ENV" + echo "MINOR=$(cat $VFILE | jq -r .VERSION.MINOR)" >> "$GITHUB_ENV" + echo "PATCH=$(cat $VFILE | jq -r .VERSION.PATCH)" >> "$GITHUB_ENV" + + - name: Build Release Zip + run: + cd SystemHeat + zip -r '../SystemHeat_${{env.MAJOR}}_${{env.MINOR}}_${{env.PATCH}}.zip' * + + - uses: actions/upload-artifact@v7 + with: + name: SystemHeat-${{env.MAJOR}}.${{env.MINOR}}.${{env.PATH}} + path: SystemHeat_${{env.MAJOR}}_${{env.MINOR}}_${{env.PATH}}.zip From c4e976314e217b4accf8ca18bd89001e96b8e91d Mon Sep 17 00:00:00 2001 From: Phantomical Date: Mon, 4 May 2026 23:09:22 -0700 Subject: [PATCH 3/8] Fix artifact name --- .github/workflows/release.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index c881f1d..380a2c8 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -20,7 +20,7 @@ jobs: steps: - uses: actions/download-artifact@v8 with: - name: SystemHeat-RELEASE + name: SystemHeat-Release path: SystemHeat - name: Extract Version From e15eb73889c155774344304542367aa6c039f30f Mon Sep 17 00:00:00 2001 From: Phantomical Date: Mon, 4 May 2026 23:12:34 -0700 Subject: [PATCH 4/8] Properly use multiline blocks --- .github/workflows/release.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 380a2c8..8dd39dd 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -24,14 +24,14 @@ jobs: path: SystemHeat - name: Extract Version - run: + run: | export VFILE=SystemHeat/GameData/SystemHeat/Versioning/SystemHeat.version - echo "MAJOR=$(cat $VFILE | jq -r .VERSION.MAJOR)" >> "$GITHUB_ENV" - echo "MINOR=$(cat $VFILE | jq -r .VERSION.MINOR)" >> "$GITHUB_ENV" - echo "PATCH=$(cat $VFILE | jq -r .VERSION.PATCH)" >> "$GITHUB_ENV" + echo "MAJOR=$(cat "$VFILE" | jq -r .VERSION.MAJOR)" >> "$GITHUB_ENV" + echo "MINOR=$(cat "$VFILE" | jq -r .VERSION.MINOR)" >> "$GITHUB_ENV" + echo "PATCH=$(cat "$VFILE" | jq -r .VERSION.PATCH)" >> "$GITHUB_ENV" - name: Build Release Zip - run: + run: | cd SystemHeat zip -r '../SystemHeat_${{env.MAJOR}}_${{env.MINOR}}_${{env.PATCH}}.zip' * From 017ce1c0a8e132dff69bb45df77da66fc5f22b68 Mon Sep 17 00:00:00 2001 From: Phantomical Date: Mon, 4 May 2026 23:15:51 -0700 Subject: [PATCH 5/8] Fix a typo --- .github/workflows/release.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 8dd39dd..f8dd79a 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -37,5 +37,5 @@ jobs: - uses: actions/upload-artifact@v7 with: - name: SystemHeat-${{env.MAJOR}}.${{env.MINOR}}.${{env.PATH}} - path: SystemHeat_${{env.MAJOR}}_${{env.MINOR}}_${{env.PATH}}.zip + name: SystemHeat-${{env.MAJOR}}.${{env.MINOR}}.${{env.PATCH}} + path: SystemHeat_${{env.MAJOR}}_${{env.MINOR}}_${{env.PATCH}}.zip From b656db5d03164f858cbbaf2ef7b6907f7bcf034e Mon Sep 17 00:00:00 2001 From: Phantomical Date: Mon, 4 May 2026 23:20:34 -0700 Subject: [PATCH 6/8] Better compression --- .github/workflows/release.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index f8dd79a..85187ad 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -33,7 +33,7 @@ jobs: - name: Build Release Zip run: | cd SystemHeat - zip -r '../SystemHeat_${{env.MAJOR}}_${{env.MINOR}}_${{env.PATCH}}.zip' * + zip -9 -r '../SystemHeat_${{env.MAJOR}}_${{env.MINOR}}_${{env.PATCH}}.zip' * - uses: actions/upload-artifact@v7 with: From 3baa4d477adb183c0198909c875462668a43833f Mon Sep 17 00:00:00 2001 From: Phantomical Date: Mon, 4 May 2026 23:57:41 -0700 Subject: [PATCH 7/8] Upload SystemHeat.version as an artifact --- .github/workflows/release.yml | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 85187ad..e2c6dda 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -14,7 +14,7 @@ jobs: artifacts: GameData Extras LICENSE* README* CHANGELOG* - assemble-release-asset: + assemble-release-assets: needs: build runs-on: ubuntu-latest steps: @@ -39,3 +39,8 @@ jobs: with: name: SystemHeat-${{env.MAJOR}}.${{env.MINOR}}.${{env.PATCH}} path: SystemHeat_${{env.MAJOR}}_${{env.MINOR}}_${{env.PATCH}}.zip + + - uses: actions/upload-artifact@v7 + with: + name: SystemHeat.version + path: SystemHeat/GameData/SystemHeat/Versioning/SystemHeat.version From 180252490ef84f85b4ec49f7a16fca02bdb16de3 Mon Sep 17 00:00:00 2001 From: Phantomical Date: Tue, 5 May 2026 00:11:17 -0700 Subject: [PATCH 8/8] Simplify a few things --- .github/workflows/release.yml | 23 +++++++++++++++++++---- 1 file changed, 19 insertions(+), 4 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index e2c6dda..f92ebef 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -17,18 +17,23 @@ jobs: assemble-release-assets: needs: build runs-on: ubuntu-latest + permissions: + contents: write steps: - uses: actions/download-artifact@v8 with: name: SystemHeat-Release path: SystemHeat + - name: Copy Version File + run: | + cp SystemHeat/GameData/SystemHeat/Versioning/SystemHeat.version . + - name: Extract Version run: | - export VFILE=SystemHeat/GameData/SystemHeat/Versioning/SystemHeat.version - echo "MAJOR=$(cat "$VFILE" | jq -r .VERSION.MAJOR)" >> "$GITHUB_ENV" - echo "MINOR=$(cat "$VFILE" | jq -r .VERSION.MINOR)" >> "$GITHUB_ENV" - echo "PATCH=$(cat "$VFILE" | jq -r .VERSION.PATCH)" >> "$GITHUB_ENV" + echo "MAJOR=$(cat SystemHeat.version | jq -r .VERSION.MAJOR)" >> "$GITHUB_ENV" + echo "MINOR=$(cat SystemHeat.version | jq -r .VERSION.MINOR)" >> "$GITHUB_ENV" + echo "PATCH=$(cat SystemHeat.version | jq -r .VERSION.PATCH)" >> "$GITHUB_ENV" - name: Build Release Zip run: | @@ -44,3 +49,13 @@ jobs: with: name: SystemHeat.version path: SystemHeat/GameData/SystemHeat/Versioning/SystemHeat.version + + - name: Upload release assets + if: github.event_name == 'release' + env: + GH_TOKEN: ${{ github.token }} + GH_REPO: ${{ github.repository }} + run: | + gh release upload '${{ github.event.release.tag_name }}' \ + 'SystemHeat_${{env.MAJOR}}_${{env.MINOR}}_${{env.PATCH}}.zip' \ + SystemHeat.version