Skip to content

Commit b4e07e0

Browse files
authored
Merge pull request #147 from mackysoft/ci/unify-release-asset-names
Unify release asset filenames using package ID and version
2 parents 4d507ab + 666f704 commit b4e07e0

3 files changed

Lines changed: 18 additions & 7 deletions

File tree

‎.github/RELEASING.md‎

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,4 +34,9 @@ Existing published versions remain unchanged. See [OpenUPM's signing workflow](h
3434
3. The **Release / publish-openupm** job requests publication through GitHub OIDC
3535
and checks that OpenUPM reports the version as signed. No OpenUPM token is needed.
3636

37+
Both release assets use `<package.json name>-<version>.<extension>`, for example:
38+
39+
- `com.mackysoft.serializereference-extensions-2.0.1.unitypackage`
40+
- `com.mackysoft.serializereference-extensions-2.0.1.tgz`
41+
3742
Keep the signed `.tgz` attached to the public Release so OpenUPM can retrieve it.

‎.github/scripts/release.sh‎

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ if [[ "$operation" == prepare ]]; then
2323
fi
2424

2525
source_sha="$(git rev-parse HEAD)"
26+
package_name="$(jq -er '.name' "$TARGET_FILE")"
2627
current_version="$(jq -er '.version | select(type == "string" and length > 0)' "$TARGET_FILE")"
2728
if [[ "$current_version" != "$VERSION" ]]; then
2829
manifest="$(mktemp "$RUNNER_TEMP/release-package-XXXXXX")"
@@ -58,8 +59,8 @@ if [[ "$operation" == prepare ]]; then
5859
git push --no-follow-tags --recurse-submodules=no \
5960
--force-with-lease="$RELEASE_REF:$source_sha" origin "$RELEASE_SHA:$RELEASE_REF"
6061
fi
61-
echo "version=$VERSION" >> "$GITHUB_OUTPUT"
62-
echo "sha=$RELEASE_SHA" >> "$GITHUB_OUTPUT"
62+
printf 'version=%s\nsha=%s\nasset_basename=%s-%s\n' \
63+
"$VERSION" "$RELEASE_SHA" "$package_name" "$VERSION" >> "$GITHUB_OUTPUT"
6364
elif [[ -z "$tag_commit" ]]; then
6465
git tag -- "$VERSION" "$RELEASE_SHA"
6566
# A non-forced tag push rejects a concurrent release for a different commit.

‎.github/workflows/release.yaml‎

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ jobs:
2626
outputs:
2727
sha: ${{ steps.metadata.outputs.sha }}
2828
version: ${{ steps.metadata.outputs.version }}
29+
asset_basename: ${{ steps.metadata.outputs.asset_basename }}
2930
steps:
3031
- name: Check signing credentials
3132
env:
@@ -148,12 +149,16 @@ jobs:
148149
tar -czf Build/StandaloneLinux64.tar.gz -C Build StandaloneLinux64
149150
150151
- name: Export unitypackage
152+
env:
153+
RELEASE_ASSET_BASENAME: ${{ needs.prepare.outputs.asset_basename }}
151154
run: |
152155
unity --non-interactive run . \
153156
--editor-version 2021.3.45f2 \
154157
--log-file Logs/package.log \
155158
--timeout 900 \
156159
-- -nographics -executeMethod MackySoft.PackageTools.Editor.UnityPackageExporter.Export
160+
mv -- Build/SerializeReference-Extensions.unitypackage \
161+
"Build/$RELEASE_ASSET_BASENAME.unitypackage"
157162
158163
- name: check all .meta is commited
159164
run: |
@@ -184,8 +189,8 @@ jobs:
184189

185190
- uses: actions/upload-artifact@v7
186191
with:
187-
name: SerializeReference-Extensions.unitypackage
188-
path: ./Build/SerializeReference-Extensions.unitypackage
192+
name: ${{ needs.prepare.outputs.asset_basename }}.unitypackage
193+
path: ./Build/${{ needs.prepare.outputs.asset_basename }}.unitypackage
189194
if-no-files-found: error
190195

191196
- name: Upload Unity logs
@@ -224,8 +229,8 @@ jobs:
224229
# Download the package artifact for the release.
225230
- uses: actions/download-artifact@v8
226231
with:
227-
name: SerializeReference-Extensions.unitypackage
228-
path: SerializeReference-Extensions.unitypackage
232+
name: ${{ needs.prepare.outputs.asset_basename }}.unitypackage
233+
path: UnityPackage
229234

230235
- uses: actions/download-artifact@v8
231236
with:
@@ -244,7 +249,7 @@ jobs:
244249
prerelease: false
245250
fail_on_unmatched_files: true
246251
files: |
247-
SerializeReference-Extensions.unitypackage/SerializeReference-Extensions.unitypackage
252+
UnityPackage/${{ needs.prepare.outputs.asset_basename }}.unitypackage
248253
Signed-UPM/*.tgz
249254
250255
publish-openupm:

0 commit comments

Comments
 (0)