Skip to content

Commit 6726da5

Browse files
committed
update artifact naming and streamline release process with our own archive logic.
1 parent 341643e commit 6726da5

File tree

1 file changed

+39
-22
lines changed

1 file changed

+39
-22
lines changed

.github/workflows/release.yaml

Lines changed: 39 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ on:
55
branches: ["main"]
66

77
env:
8-
G_DIST_ARTIFACT_NAME: "yscope-log-viewer-dist-${{github.sha}}"
8+
G_RELEASE_ARTIFACT_NAME: "yscope-log-viewer-release-${{github.sha}}"
99

1010
permissions: {}
1111

@@ -18,6 +18,10 @@ concurrency:
1818
jobs:
1919
build:
2020
runs-on: "ubuntu-latest"
21+
outputs:
22+
DIST_TAR_NAME: "${{steps.names.outputs.DIST_TAR_NAME}}"
23+
VERSION: "${{steps.names.outputs.VERSION}}"
24+
VERSIONED_DIST_NAME: "${{steps.names.outputs.VERSIONED_DIST_NAME}}"
2125
steps:
2226
- uses: "actions/checkout@v4"
2327
with:
@@ -34,10 +38,37 @@ jobs:
3438

3539
- run: "npm run build"
3640

37-
- name: "Upload static files as artifact"
41+
- name: "Determine release names"
42+
id: "names"
43+
run: |
44+
PACKAGE_VERSION=$(jq -r ".version" "package.json")
45+
BRANCH_NAME=$(echo "${GITHUB_REF}" | sed 's|refs/heads/||')
46+
DATE=$(date --utc +'%Y%m%d')
47+
SHORT_SHA=$(git rev-parse --short HEAD)
48+
VERSION=${PACKAGE_VERSION}-${BRANCH_NAME}+${DATE}.${SHORT_SHA}
49+
VERSIONED_DIST_NAME=dist-${VERSION}
50+
51+
echo "DIST_TAR_NAME=${VERSIONED_DIST_NAME}.tar" >> "$GITHUB_OUTPUT"
52+
echo "VERSION=${VERSION}" >> "$GITHUB_OUTPUT"
53+
echo "VERSIONED_DIST_NAME=${VERSIONED_DIST_NAME}" >> "$GITHUB_OUTPUT"
54+
55+
- name: "Generate artifacts for GH Release"
56+
run: |
57+
tar --create \
58+
--gzip \
59+
--file "${{steps.names.outputs.DIST_TAR_NAME}}" \
60+
--transform="s|^dist|${{steps.names.outputs.VERSIONED_DIST_NAME}}|" \
61+
dist
62+
- uses: "actions/upload-artifact@v4"
63+
with:
64+
name: "${{env.G_RELEASE_ARTIFACT_NAME}}"
65+
path: "${{steps.names.outputs.DIST_TAR_NAME}}"
66+
if-no-files-found: "error"
67+
retention-days: 1
68+
69+
- name: "Upload static files as GH Pages artifact"
3870
uses: "actions/upload-pages-artifact@v3"
3971
with:
40-
name: "${{env.G_DIST_ARTIFACT_NAME}}"
4172
path: "./dist"
4273

4374
release:
@@ -52,34 +83,20 @@ jobs:
5283
persist-credentials: false
5384
submodules: "recursive"
5485

55-
- name: "Determine release names"
56-
id: "names"
57-
run: |
58-
PACKAGE_VERSION=$(jq -r ".version" "package.json")
59-
BRANCH_NAME=$(echo "${GITHUB_REF}" | sed 's|refs/heads/||')
60-
DATE=$(date --utc +'%Y%m%d')
61-
SHORT_SHA=$(git rev-parse --short HEAD)
62-
VERSION=${PACKAGE_VERSION}-${BRANCH_NAME}+${DATE}.${SHORT_SHA}
63-
64-
echo "VERSION=${VERSION}" >> "$GITHUB_OUTPUT"
65-
echo "DIST_TAR_NAME=dist-${VERSION}.tar" >> "$GITHUB_OUTPUT"
66-
6786
- uses: "actions/download-artifact@v4"
6887
with:
69-
name: "${{env.G_DIST_ARTIFACT_NAME}}"
70-
71-
- name: "Rename build artifact"
72-
run: "mv 'artifact.tar' '${{steps.names.outputs.DIST_TAR_NAME}}'"
88+
name: "${{env.G_RELEASE_ARTIFACT_NAME}}"
89+
path: "${{needs.build.outputs.DIST_TAR_NAME}}"
7390

7491
- name: "Create GitHub Release with automatically generated release notes"
7592
env:
7693
GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}}
7794
run: |
78-
gh release create "v${{steps.names.outputs.VERSION}}" \
79-
"${{steps.names.outputs.DIST_TAR_NAME}}" \
95+
gh release create "v${{needs.build.outputs.VERSION}}" \
96+
"${{needs.build.outputs.DIST_TAR_NAME}}" \
8097
--fail-on-no-commits \
8198
--generate-notes \
82-
--title "v${{steps.names.outputs.VERSION}}"
99+
--title "v${{needs.build.outputs.VERSION}}"
83100
84101
deploy:
85102
needs: "release"

0 commit comments

Comments
 (0)