55 branches : ["main"]
66
77env :
8- G_DIST_ARTIFACT_NAME : " yscope-log-viewer-dist -${{github.sha}}"
8+ G_RELEASE_ARTIFACT_NAME : " yscope-log-viewer-release -${{github.sha}}"
99
1010permissions : {}
1111
@@ -18,6 +18,10 @@ concurrency:
1818jobs :
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