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 new file mode 100644 index 0000000..f92ebef --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,61 @@ +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 + with: + artifacts: + GameData Extras LICENSE* README* CHANGELOG* + + 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: | + 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: | + cd SystemHeat + zip -9 -r '../SystemHeat_${{env.MAJOR}}_${{env.MINOR}}_${{env.PATCH}}.zip' * + + - uses: actions/upload-artifact@v7 + 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 + + - 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