Build Release #3
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
name: Build Release | |
on: | |
workflow_dispatch: | |
jobs: | |
config: | |
runs-on: ubuntu-latest | |
outputs: | |
config_package: ${{ steps.config_package.outputs.configPackage }} | |
steps: | |
- name: Ensure that required repository variable has been created for the Package | |
id: config_package | |
run: | | |
if [ "${{ vars.PACKAGE_NAME }}" != "" ]; then | |
echo "configPackage=true" >> $GITHUB_OUTPUT; | |
else | |
echo "configPackage=false" >> $GITHUB_OUTPUT; | |
fi | |
build: | |
needs: config | |
runs-on: ubuntu-latest | |
permissions: | |
contents: write | |
env: | |
packagePath: Packages/${{ vars.PACKAGE_NAME }} | |
if: needs.config.outputs.config_package == 'true' | |
steps: | |
- name: Checkout Local Repository | |
uses: actions/checkout@v4 | |
- name: Get the Package version based on the package.json file | |
id: version | |
uses: zoexx/[email protected] | |
with: | |
file_path: "${{ env.packagePath }}/package.json" | |
prop_path: "version" | |
- name: Configure the Environment Variables needed for releasing the Package | |
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 | |
- name: Zip the Package for release | |
working-directory: "${{ env.packagePath }}" | |
run: zip -r "${{ github.workspace }}/${{ env.zipFile }}" . | |
- name: Build a list of .meta files for future use | |
run: find "${{ env.packagePath }}/" -name \*.meta >> metaList | |
- name: Make a UnityPackage version of the Package for release | |
uses: pCYSl5EDgo/create-unitypackage@v1 | |
with: | |
package-path: ${{ env.unityPackage }} | |
include-files: metaList | |
- name: Create a release tag of the version from the package.json file | |
id: tag_version | |
uses: rickstaa/action-create-tag@v1 | |
with: | |
tag: "${{ env.version }}" | |
- name: Publish the Release to GitHub | |
uses: softprops/action-gh-release@v2 | |
with: | |
files: | | |
${{ env.zipFile }} | |
${{ env.unityPackage }} | |
${{ env.packagePath }}/package.json | |
tag_name: ${{ env.version }} |