-
Notifications
You must be signed in to change notification settings - Fork 0
139 lines (120 loc) · 4.4 KB
/
release.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
name: Build Release
on:
workflow_dispatch:
push:
branch: "main"
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: |
echo "configPackage=true" >> $GITHUB_OUTPUT;
# Get Version
GetTargetVersion:
needs: config
runs-on: ubuntu-latest
outputs:
TargetVersion: ${{ steps.version.outputs.value }}
TagExist: ${{ steps.contains_tag.outputs.retval }}
env:
packagePath: .
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"
# Check Exist
- uses: actions/checkout@v3
with:
fetch-depth: 0
- uses: rickstaa/action-contains-tag@v1
id: contains_tag
with:
reference: "main"
tag: "${{ steps.version.outputs.value }}"
frail: false
# Build and release the Package
# If the repository is not configured properly, this job will be skipped
build:
needs: GetTargetVersion
runs-on: ubuntu-latest
permissions:
contents: write
env:
packagePath: .
if: always() && (needs.GetTargetVersion.outputs.TagExist == 'false')
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"
#Get VersionEnv
- name : Set VersionEnv
run: echo "version=${{ needs.GetTargetVersion.outputs.TargetVersion.value }}" >> $GITHUB_ENV
# Configure the Environment Variables needed for releasing the Package
- name: Set Environment Variables
run: |
echo "zipFile=${{ vars.PACKAGE_NAME }}-${{ env.version }}".zip >> $GITHUB_ENV
echo "unityPackage=${{ vars.PACKAGE_NAME }}-${{ env.version }}.unitypackage" >> $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@cfcd3cf0391a5ef1306342794866a9897c32af0b
with:
package-path: ${{ env.unityPackage }}
include-files: metaList
#if: needs.config.outputs.config_package == 'false'
#step:
# # 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 }}
vpmWebsiteUpload:
needs: build
runs-on: ubuntu-latest
permissions:
contents: write
steps:
- name: Trigger build-listing workflow
run: |
curl -X POST \
-H "Authorization: token ${{ secrets.GITHUB_TOKEN }}" \
-H "Accept: application/vnd.github.v3+json" \
https://api.github.com/repos/pandrabox/vpm/dispatches \
-d '{"event_type": "trigger-build-listing"}'