diff --git a/.github/workflows/Attach Artifacts.yml b/.github/workflows/Attach Artifacts.yml index 4ed4cce3a..001818198 100644 --- a/.github/workflows/Attach Artifacts.yml +++ b/.github/workflows/Attach Artifacts.yml @@ -1,5 +1,5 @@ -name: Attach Artifacts from Node Release or Manually ( If the automation fails ) -run-name: From Node Release or Manually Attach Artifacts against ${{ github.event.inputs.tag }} +name: Attach Artifacts Manually ( If the automation fails ) +run-name: Manually Attach Artifacts against ${{ github.event.inputs.tag }} on: repository_dispatch: @@ -21,10 +21,9 @@ jobs: with: node-version: 20.x - - name: Get previous tag - if: github.event.inputs.tag == '' - id: previoustag - uses: 'WyriHaximus/github-action-get-previous-tag@v1' + - name: Tag + id: tag + uses: JinoArch/get-latest-tag@latest # Sanity check to ensure that release tags don't start with a 'v' version prefix but adhere to the X.Y.Z format - name: Check for Tag name Format @@ -37,7 +36,7 @@ jobs: - name: Install package run: | export npm_config_prefix=$(pwd)/package - npm install -g homebridge-config-ui-x@${{ needs.analyze-tags.outputs.previous-tag || github.event.inputs.tag }} + npm install -g homebridge-config-ui-x@${{ steps.tag.outputs.latestTag || github.event.inputs.tag }} - name: Remove invalid node-pty node-gyp run run: | @@ -45,12 +44,12 @@ jobs: - name: Create Bundle run: | - tar -C $(pwd)/package --owner=0 --group=0 --format=posix -czvf homebridge-config-ui-x-${{ needs.analyze-tags.outputs.previous-tag || github.event.inputs.tag }}.tar.gz . - shasum -a 256 homebridge-config-ui-x-${{ needs.analyze-tags.outputs.previous-tag || github.event.inputs.tag }}.tar.gz > SHASUMS256.txt + tar -C $(pwd)/package --owner=0 --group=0 --format=posix -czvf homebridge-config-ui-x-${{ steps.tag.outputs.latestTag || github.event.inputs.tag }}.tar.gz . + shasum -a 256 homebridge-config-ui-x-${{ steps.tag.outputs.latestTag || github.event.inputs.tag }}.tar.gz > SHASUMS256.txt - name: Check Bundle run: | - if [ $(stat -c%s "homebridge-config-ui-x-${{ needs.analyze-tags.outputs.previous-tag || github.event.inputs.tag }}.tar.gz") -lt 10000000 ]; then + if [ $(stat -c%s "homebridge-config-ui-x-${{ steps.tag.outputs.latestTag || github.event.inputs.tag }}.tar.gz") -lt 10000000 ]; then echo "Bundle is under 10MB, stopping" exit 1 fi @@ -58,6 +57,6 @@ jobs: - name: Attach Bundle uses: AButler/upload-release-assets@v2.0 with: - files: 'homebridge-config-ui-x-${{ needs.analyze-tags.outputs.previous-tag || github.event.inputs.tag }}.tar.gz;SHASUMS256.txt' + files: 'homebridge-config-ui-x-${{ steps.tag.outputs.latestTag || github.event.inputs.tag }}.tar.gz;SHASUMS256.txt' repo-token: ${{ secrets.GITHUB_TOKEN }} - release-tag: ${{ github.event.inputs.tag }} + release-tag: ${{ steps.tag.outputs.latestTag || github.event.inputs.tag }} diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 171b7ec3b..1bfd972f3 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -1,5 +1,5 @@ name: Node Release -run-name: Production Release ${{ github.event.release.tag_name }} +run-name: Production Release on: # Removed publish on push, and forced manual release from github @@ -39,18 +39,22 @@ jobs: with: node-version: 20.x - # Sanity check to ensure that release tags don't start with a 'v' version prefix but adhere to the X.Y.Z format + - name: Tag + id: tag + uses: JinoArch/get-latest-tag@latest + + # Sanity check to ensure that release tags don't start with a 'v' version prefix but adhere to the X.Y.Z format - name: Check for Tag name Format # https://github.com/orgs/community/discussions/25017 - if: startsWith(github.event.release.tag_name, 'v') + if: startsWith(steps.tag.outputs.latestTag, 'v') run: | - echo "Release Tag name must not start with 'v', this was supplied ${{github.event.release.tag_name}}" + echo "Release Tag name must not start with 'v', this was supplied ${{steps.tag.outputs.latestTag}}" exit 1 - name: Install package run: | export npm_config_prefix=$(pwd)/package - npm install -g homebridge-config-ui-x@${{ github.event.release.tag_name }} + npm install -g homebridge-config-ui-x@${{ steps.tag.outputs.latestTag }} - name: Remove invalid node-pty node-gyp run run: | @@ -58,17 +62,19 @@ jobs: - name: Create Bundle run: | - tar -C $(pwd)/package --owner=0 --group=0 --format=posix -czvf homebridge-config-ui-x-${{ github.event.release.tag_name }}.tar.gz . - shasum -a 256 homebridge-config-ui-x-${{ github.event.release.tag_name }}.tar.gz > SHASUMS256.txt + tar -C $(pwd)/package --owner=0 --group=0 --format=posix -czvf homebridge-config-ui-x-${{ steps.tag.outputs.latestTag }}.tar.gz . + shasum -a 256 homebridge-config-ui-x-${{ steps.tag.outputs.latestTag }}.tar.gz > SHASUMS256.txt - name: Check Bundle run: | - if [ $(stat -c%s "homebridge-config-ui-x-${{ github.event.release.tag_name }}.tar.gz") -lt 10000000 ]; then + if [ $(stat -c%s "homebridge-config-ui-x-${{ steps.tag.outputs.latestTag }}.tar.gz") -lt 10000000 ]; then echo "Bundle is under 10MB, stopping" exit 1 fi - - name: Repository Dispatch - uses: peter-evans/repository-dispatch@v2 + - name: Attach Bundle + uses: AButler/upload-release-assets@v2.0 with: - event-type: attach-artifacts + files: 'homebridge-config-ui-x-${{ steps.tag.outputs.latestTag }}.tar.gz;SHASUMS256.txt' + repo-token: ${{ secrets.GITHUB_TOKEN }} + release-tag: ${{ steps.tag.outputs.latestTag }}