diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml
index e86b0cd4..1b09aeb3 100644
--- a/.github/workflows/release.yml
+++ b/.github/workflows/release.yml
@@ -74,6 +74,19 @@ on:
type: string
default: "1"
+# #
+# environment variables
+# #
+
+env:
+ PROJECT_NAME: ${{ github.event.inputs.PROJECT_NAME || 'tvapp2' }}
+ CHANGELOG_MODE_COMMIT: true
+ SHOW_UNCATEGORIZED: false
+ PRERELEASE: false
+ VERSION_RC: '1'
+ BOT_NAME_1: EuropaServ
+ BOT_NAME_DEPENDABOT: dependabot[bot]
+
# #
# Jobs
# #
@@ -199,8 +212,8 @@ jobs:
- name: "🪪 NPM › Install"
id: task_release_npm_install
+ working-directory: ./tvapp2
run: |
- cd ./tvapp2
npm ci
env:
NODE_AUTH_TOKEN: ${{ secrets.SELF_TOKEN_CL }}
@@ -211,8 +224,8 @@ jobs:
- name: "🪪 Generate IDs"
id: task_release_npm_env_generate
+ working-directory: ./tvapp2
run: |
- cd ./tvapp2
npm run root:generate
# #
@@ -241,26 +254,338 @@ jobs:
# Build Project & Create Zip
# #
- - name: "🔨 Build › Stable ( ${{ inputs.PROJECT_NAME }}-${{ env.PACKAGE_VERSION }}.zip )"
+ - name: "🔨 Build › Stable ( ${{ env.PROJECT_NAME }}-${{ env.PACKAGE_VERSION }}.zip )"
id: task_release_build_st
if: ${{ startsWith( inputs.PRERELEASE, false ) }}
run: |
- ls
echo Building STABLE Package .zip ${{ env.PACKAGE_VERSION }}
- zip -r ${{ inputs.PROJECT_NAME }}-${{ env.PACKAGE_VERSION }}.zip package.json README.md LICENSE dist/**
- ls
+ zip -r ${{ env.PROJECT_NAME }}-${{ env.PACKAGE_VERSION }}.zip Dockerfile Dockerfile.aarch64 docker-entrypoint.sh root/ tvapp2/package.json README.md LICENSE
env:
NODE_AUTH_TOKEN: ${{ secrets.ADMINSERV_TOKEN_CL }}
- - name: "🔨 Build › RC ( ${{ inputs.PROJECT_NAME }}-${{ env.PACKAGE_VERSION }}-rc.${{ inputs.VERSION_RC }}.zip )"
+ - name: "🔨 Build › RC ( ${{ env.PROJECT_NAME }}-${{ env.PACKAGE_VERSION }}-rc.${{ inputs.VERSION_RC }}.zip )"
id: task_release_build_rc
if: ${{ startsWith( inputs.PRERELEASE, true ) }}
run: |
- cd ./tvapp2
- ls
echo Building PRE-RELEASE Package .zip ${{ env.PACKAGE_VERSION }}
- zip -r ${{ inputs.PROJECT_NAME }}-${{ env.PACKAGE_VERSION }}-rc.${{ inputs.VERSION_RC }}.zip package.json README.md LICENSE dist/**
- ls
+ zip -r ${{ env.PROJECT_NAME }}-${{ env.PACKAGE_VERSION }}-rc.${{ inputs.VERSION_RC }}.zip Dockerfile Dockerfile.aarch64 docker-entrypoint.sh root/ tvapp2/package.json README.md LICENSE
env:
NODE_AUTH_TOKEN: ${{ secrets.ADMINSERV_TOKEN_CL }}
+ # #
+ # [ Tag ]: Pre Create
+ #
+ # in order to use the changelog github action, you must pre-create the tag otherwise
+ # the changelog action will have no idea what tag you are going to be creating and
+ # the list of commits will not be for the correct release.
+ # #
+
+ - name: "🔖 Tag › Pre Create ${{ env.PACKAGE_VERSION }}"
+ id: task_release_tag_create
+ uses: rickstaa/action-create-tag@v1
+ with:
+ tag: ${{ env.PACKAGE_VERSION }}
+ tag_exists_error: false
+ message: "Latest release"
+ gpg_private_key: ${{ secrets.ADMINSERV_GPG_KEY_ASC }}
+ gpg_passphrase: ${{ secrets.ADMINSERV_GPG_PASSPHRASE }}
+
+ # #
+ # [ Tag ]: Confirm
+ #
+ # check if tag already exists
+ # #
+
+ - name: "🔖 Tag › Confirm ${{ env.PACKAGE_VERSION }}"
+ id: task_release_tag_get
+ run: |
+ echo "Tag already present: ${{ env.TAG_EXISTS }}"
+ echo "Tag already present: ${{ steps.task_release_tag_create.outputs.tag_exists }}"
+
+ # #
+ # Checksum › Generate
+ # #
+
+ - name: "🆔 Checksum › Stable"
+ id: task_release_checksum_st_set
+ if: ${{ startsWith( inputs.PRERELEASE, false ) }}
+ run: |
+ filename_zip="${{ env.PROJECT_NAME }}-${{ env.PACKAGE_VERSION }}.zip"
+ sha256="$(shasum --algorithm 256 ${filename_zip} | awk '{ print $1 }')"
+ shasum --algorithm 256 ${filename_zip} > SHA256SUMS.txt
+ echo "FILE_ZIP=${filename_zip}" >> $GITHUB_ENV
+ echo "SHA256SUM=${sha256}" >> $GITHUB_ENV
+
+ - name: "🆔 Checksum › RC"
+ id: task_release_checksum_rc_set
+ if: ${{ startsWith( inputs.PRERELEASE, true ) }}
+ run: |
+ filename_zip="${{ env.PROJECT_NAME }}-${{ env.PACKAGE_VERSION }}-rc.${{ inputs.VERSION_RC }}.zip"
+ sha256="$(shasum --algorithm 256 ${filename_zip} | awk '{ print $1 }')"
+ shasum --algorithm 256 ${filename_zip} > SHA256SUMS.txt
+ echo "FILE_ZIP=${filename_zip}" >> $GITHUB_ENV
+ echo "SHA256SUM=${sha256}" >> $GITHUB_ENV
+
+ # #
+ # Checksum › Print
+ # #
+
+ - name: "🆔 Checksum › Print"
+ id: task_release_checksum_st_get
+ run: |
+ echo ${{ env.SHA256SUM }}
+
+ # #
+ # Contributor Images
+ # #
+
+ - name: "🥸 Contributors › Generate"
+ id: task_release_contribs_generate
+ uses: jaywcjlove/github-action-contributors@main
+ with:
+ filter-author: (renovate\[bot\]|renovate-bot|dependabot\[bot\])
+ output: CONTRIBUTORS.svg
+ avatarSize: 42
+
+ # #
+ # Checksum › Add to ZIP file
+ # #
+
+ - name: "📦 Zip › Add Checksum › Stable"
+ id: task_release_zip_st
+ if: ${{ startsWith( inputs.PRERELEASE, false ) }}
+ run: |
+ echo Zipping STABLE Package .zip ${{ env.PROJECT_NAME }}-${{ env.PACKAGE_VERSION }}.zip
+ zip -jr ${{ env.PROJECT_NAME }}-${{ env.PACKAGE_VERSION }}.zip SHA256SUMS.txt
+ ls
+
+ - name: "📦 Zip › Add Checksum › RC"
+ id: task_release_zip_rc
+ if: ${{ startsWith( inputs.PRERELEASE, true ) }}
+ run: |
+ echo Zipping PRE-RELEASE Package .zip ${{ env.PROJECT_NAME }}-${{ env.PACKAGE_VERSION }}-rc.${{ inputs.VERSION_RC }}.zip
+ zip -jr ${{ env.PROJECT_NAME }}-${{ env.PACKAGE_VERSION }}-rc.${{ inputs.VERSION_RC }}.zip SHA256SUMS.txt
+ ls
+
+ # #
+ # Changelog › Generate
+ #
+ # generates a changelog from the github api. requires a PREVIOUS_TAG in order to figure
+ # out the changes made between the two versions.
+ #
+ # outputs:
+ # ${{ steps.changelog.outputs.changelog }}
+ # #
+
+ - name: "📝 Changelog › Pre Setup (Categorized Commits)"
+ id: task_release_changelog_categorized_sha_set
+ run: |
+ echo "TAG_LAST=$(git describe --tags --abbrev=0)" >> $GITHUB_ENV
+ echo "COMMIT_LAST=$(git rev-parse HEAD)" >> $GITHUB_ENV
+
+ - name: "📝 Changelog › Build (Categorized)"
+ id: task_release_changelog_categorized
+ if: ${{ startsWith( inputs.SHOW_UNCATEGORIZED, false ) }}
+ uses: mikepenz/release-changelog-builder-action@v5
+ with:
+ token: ${{ secrets.ADMINSERV_TOKEN }}
+ #fromTag: "${{ env.TAG_LAST }}"
+ #toTag: "${{ github.ref }}"
+ configuration: ".github/changelog-configuration.json"
+ ignorePreReleases: false
+ commitMode: ${{ inputs.CHANGELOG_MODE_COMMIT }}
+ fetchReleaseInformation: true
+ fetchViaCommits: true
+ configurationJson: |
+ {
+ "template": "## Release Info \n| Item | Value |\n| --- | --- |\n|📄 ${{ env.FILE_ZIP }}|Contains the latest version of the favicon cloudflare worker|\n|🏷️ SHA256|`${{ env.SHA256SUM }}`|\n|🏷️ GUID|`${{ steps.task_release_dotenv_get.outputs.GUID }}`|\n|🏷️ GUID|`${{ steps.task_release_dotenv_get.outputs.GUID }}`|\n|🕟 Stamp|`#{{FROM_TAG}}-#{{FROM_TAG_DATE}} 🔺 #{{TO_TAG}}-#{{TO_TAG_DATE}}`|\n|📅 Last Release|`#{{DAYS_SINCE}} days ago`|\n\n
\n\n---\n\n
\n\n### What's New\nThis release contains the following changes:\n\n
\n\n---\n\n
\n\n### Statistics\nHow the files have changed:\n