aboutsummaryrefslogtreecommitdiff
path: root/.github/workflows/release.yml
diff options
context:
space:
mode:
authorAlex <zuedev@gmail.com>2026-06-11 23:15:14 +0100
committerGitHub <noreply@github.com>2026-06-11 23:15:14 +0100
commit9ab4aa10b2e425df818957ffb2bc5cd6d2df4c51 (patch)
treeaa828d6eb0b8d88fe39afe12d77ca36ef81b6f56 /.github/workflows/release.yml
downloadVRCog-9ab4aa10b2e425df818957ffb2bc5cd6d2df4c51.tar
VRCog-9ab4aa10b2e425df818957ffb2bc5cd6d2df4c51.tar.gz
VRCog-9ab4aa10b2e425df818957ffb2bc5cd6d2df4c51.tar.bz2
VRCog-9ab4aa10b2e425df818957ffb2bc5cd6d2df4c51.tar.xz
VRCog-9ab4aa10b2e425df818957ffb2bc5cd6d2df4c51.zip
Initial commit
Diffstat (limited to '.github/workflows/release.yml')
-rw-r--r--.github/workflows/release.yml87
1 files changed, 87 insertions, 0 deletions
diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml
new file mode 100644
index 0000000..8037eae
--- /dev/null
+++ b/.github/workflows/release.yml
@@ -0,0 +1,87 @@
+name: Build Release
+
+on:
+ workflow_dispatch:
+
+jobs:
+
+ # Validate Repository Configuration
+ config:
+ runs-on: ubuntu-latest
+ outputs:
+ config_package: ${{ steps.config_package.outputs.configPackage }}
+ steps:
+
+ # Ensure that required repository variable has been created for the Package
+ - name: Validate Package Config
+ id: config_package
+ run: |
+ if [ "${{ vars.PACKAGE_NAME }}" != "" ]; then
+ echo "configPackage=true" >> $GITHUB_OUTPUT;
+ else
+ echo "configPackage=false" >> $GITHUB_OUTPUT;
+ fi
+
+ # Build and release the Package
+ # If the repository is not configured properly, this job will be skipped
+ build:
+ needs: config
+ runs-on: ubuntu-latest
+ permissions:
+ contents: write
+ env:
+ packagePath: Packages/${{ vars.PACKAGE_NAME }}
+ if: needs.config.outputs.config_package == 'true'
+ steps:
+
+ # Checkout Local Repository
+ - name: Checkout
+ uses: actions/checkout@3df4ab11eba7bda6032a0b82a6bb43b11571feac
+
+ # Get the Package version based on the package.json file
+ - name: Get Version
+ id: version
+ uses: zoexx/github-action-json-file-properties@b9f36ce6ee6fe2680cd3c32b2c62e22eade7e590
+ with:
+ file_path: "${{ env.packagePath }}/package.json"
+ prop_path: "version"
+
+ # Configure the Environment Variables needed for releasing the Package
+ - name: Set Environment Variables
+ run: |
+ echo "zipFile=${{ vars.PACKAGE_NAME }}-${{ steps.version.outputs.value }}".zip >> $GITHUB_ENV
+ echo "unityPackage=${{ vars.PACKAGE_NAME }}-${{ steps.version.outputs.value }}.unitypackage" >> $GITHUB_ENV
+ echo "version=${{ steps.version.outputs.value }}" >> $GITHUB_ENV
+
+ # Zip the Package for release
+ - name: Create Package Zip
+ working-directory: "${{ env.packagePath }}"
+ run: zip -r "${{ github.workspace }}/${{ env.zipFile }}" .
+
+ # Build a list of .meta files for future use
+ - name: Track Package Meta Files
+ run: find "${{ env.packagePath }}/" -name \*.meta >> metaList
+
+ # Make a UnityPackage version of the Package for release
+ - name: Create UnityPackage
+ uses: pCYSl5EDgo/create-unitypackage@v1.2.3
+ with:
+ package-path: ${{ env.unityPackage }}
+ include-files: metaList
+
+ # Make a release tag of the version from the package.json file
+ - name: Create Tag
+ id: tag_version
+ uses: rickstaa/action-create-tag@88dbf7ff6fe2405f8e8f6c6fdfd78829bc631f83
+ with:
+ tag: "${{ env.version }}"
+
+ # Publish the Release to GitHub
+ - name: Make Release
+ uses: softprops/action-gh-release@de2c0eb89ae2a093876385947365aca7b0e5f844
+ with:
+ files: |
+ ${{ env.zipFile }}
+ ${{ env.unityPackage }}
+ ${{ env.packagePath }}/package.json
+ tag_name: ${{ env.version }}