ci: style workflows

This commit is contained in:
2025-03-17 19:30:01 -07:00
parent a45541f0b9
commit b8d6e4f538
7 changed files with 357 additions and 161 deletions

View File

@@ -1,16 +1,38 @@
# # # #
# @type github workflow # @type github workflow
# @desc builds mkdocs from the main branch /docs/ folder and puts the compiled version
# in the `gh-pages` branch. Is hosted using Github Pages.
#
# @update pip install --upgrade mkdocs
# pip install --upgrade --force-reinstall mkdocs-material
#
# @author Aetherinox # @author Aetherinox
# @url https://github.com/Aetherinox # @url https://github.com/Aetherinox
# @usage builds mkdocs from the main branch /docs/ folder and puts the compiled version
# in the `gh-pages` branch. Is hosted using Github Pages.
# #
# @secrets secrets.SELF_TOKEN_CL Github Access Token (Classic) # @update use the following commands to update mkdocs and the mkdocs-material theme:
# secrets.DISCORD_WEBHOOK_CHAN_GITHUB_TVAPP2_WORKfLOWS Discord Webbhook URL; right-click on channel, click "Integrations" # pip install --upgrade mkdocs
# pip install --upgrade --force-reinstall mkdocs-material
#
# @secrets secrets.SELF_TOKEN self github personal access token (fine-grained)
# secrets.SELF_TOKEN_CL self github personal access token (classic)
# secrets.NPM_TOKEN self npmjs access token
# secrets.PYPI_API_TOKEN self Pypi API token (production site) - https://pypi.org/
# secrets.PYPI_API_TEST_TOKEN self Pypi API token (test site) - https://test.pypi.org/
# secrets.SELF_DOCKERHUB_TOKEN self Dockerhub token
# secrets.ORG_BINARYNINJA_TOKEN org github personal access token (fine-grained)
# secrets.ORG_BINARYNINJA_TOKEN_CL org github personal access token (classic)
# secrets.ORG_BINARYNINJA_DOCKERHUB_TOKEN org dockerhub secret
# secrets.ORG_BINARYNINJA_GITEA_TOKEN org gitea personal access token (classic) with package:write permission
# secrets.BINARYSERV_GPG_KEY_ASC bot gpg private key (armored) | BEGIN PGP PRIVATE KEY BLOCK
# secrets.BINARYSERV_GPG_PASSPHRASE bot gpg private key passphrase
# secrets.DISCORD_WEBHOOK_CHAN_GITHUB_TVAPP2_RELEASES discord webhook to report release notifications from github to discord
# secrets.DISCORD_WEBHOOK_CHAN_GITHUB_TVAPP2_WORKFLOWS discord webhook to report workflow notifications from github to discord
# secrets.DISCORD_WEBHOOK_CHAN_GITHUB_TVAPP2_UPDATES discord webhook to report activity notifications from github to discord
#
# @local these workflows can be tested locally through the use of `act`
# https://github.com/nektos/act
# Extract act to folder
# Add system env var with path to act.exe
# Run the commands:
# git pull https://github.com/username/repo
# act -W .github/workflows/documentation.yml -P ubuntu-latest=catthehacker/ubuntu:full-22.04
# act -W .github/workflows/documentation.yml -s TOKEN_CL=XXXXXXXXXX --pull=false
# # # #
name: "📒 Docs Build" name: "📒 Docs Build"
@@ -38,7 +60,9 @@ on:
env: env:
ASSIGN_USER: Aetherinox ASSIGN_USER: Aetherinox
BOT_NAME_1: EuropaServ BOT_NAME_1: EuropaServ
BOT_NAME_2: BinaryServ
BOT_NAME_DEPENDABOT: dependabot[bot] BOT_NAME_DEPENDABOT: dependabot[bot]
BOT_NAME_RENOVATE: renovate[bot]
# # # #
# jobs # jobs

View File

@@ -1,15 +1,40 @@
# # # #
# @type github workflow # @type github workflow
# @desc searches a new issues title and body for certain keywords and assigns a label
# sets the assignee for the issue to the repository owner
# @author Aetherinox # @author Aetherinox
# @url https://github.com/Aetherinox # @url https://github.com/Aetherinox
# @usage searches a new issues title and body for certain keywords and assigns a label
# sets the assignee for the issue to the repository owner
# #
# requires the following labels to be created in your repo: # @notes requires the following labels to be created in your repo:
# - bug # - bug
# - feature # - feature
# - urgent # - urgent
# - roadmap # - roadmap
#
# @secrets secrets.SELF_TOKEN self github personal access token (fine-grained)
# secrets.SELF_TOKEN_CL self github personal access token (classic)
# secrets.NPM_TOKEN self npmjs access token
# secrets.PYPI_API_TOKEN self Pypi API token (production site) - https://pypi.org/
# secrets.PYPI_API_TEST_TOKEN self Pypi API token (test site) - https://test.pypi.org/
# secrets.SELF_DOCKERHUB_TOKEN self Dockerhub token
# secrets.ORG_BINARYNINJA_TOKEN org github personal access token (fine-grained)
# secrets.ORG_BINARYNINJA_TOKEN_CL org github personal access token (classic)
# secrets.ORG_BINARYNINJA_DOCKERHUB_TOKEN org dockerhub secret
# secrets.ORG_BINARYNINJA_GITEA_TOKEN org gitea personal access token (classic) with package:write permission
# secrets.BINARYSERV_GPG_KEY_ASC bot gpg private key (armored) | BEGIN PGP PRIVATE KEY BLOCK
# secrets.BINARYSERV_GPG_PASSPHRASE bot gpg private key passphrase
# secrets.DISCORD_WEBHOOK_CHAN_GITHUB_TVAPP2_RELEASES discord webhook to report release notifications from github to discord
# secrets.DISCORD_WEBHOOK_CHAN_GITHUB_TVAPP2_WORKFLOWS discord webhook to report workflow notifications from github to discord
# secrets.DISCORD_WEBHOOK_CHAN_GITHUB_TVAPP2_UPDATES discord webhook to report activity notifications from github to discord
#
# @local these workflows can be tested locally through the use of `act`
# https://github.com/nektos/act
# Extract act to folder
# Add system env var with path to act.exe
# Run the commands:
# git pull https://github.com/username/repo
# act -W .github/workflows/issues-new.yml -P ubuntu-latest=catthehacker/ubuntu:full-22.04
# act -W .github/workflows/issues-new.yml -s TOKEN_CL=XXXXXXXXXX --pull=false
# # # #
name: "🎫 Issue New" name: "🎫 Issue New"
@@ -50,8 +75,11 @@ env:
LABEL_INTERNAL: "Type ◦ Internal" LABEL_INTERNAL: "Type ◦ Internal"
LABEL_URGENT: "⚠ Urgent" LABEL_URGENT: "⚠ Urgent"
ASSIGN_USER: Aetherinox
BOT_NAME_1: EuropaServ BOT_NAME_1: EuropaServ
BOT_NAME_2: BinaryServ
BOT_NAME_DEPENDABOT: dependabot[bot] BOT_NAME_DEPENDABOT: dependabot[bot]
BOT_NAME_RENOVATE: renovate[bot]
LABELS_JSON: | LABELS_JSON: |
[ [

View File

@@ -65,6 +65,7 @@ env:
LABEL_TYPE_DEPENDENCY: Type ◦ Dependency LABEL_TYPE_DEPENDENCY: Type ◦ Dependency
LABEL_TYPE_GITACTION: Type ◦ Git Action LABEL_TYPE_GITACTION: Type ◦ Git Action
ASSIGN_USER: Aetherinox
BOT_NAME_1: EuropaServ BOT_NAME_1: EuropaServ
BOT_NAME_2: BinaryServ BOT_NAME_2: BinaryServ
BOT_NAME_DEPENDABOT: dependabot[bot] BOT_NAME_DEPENDABOT: dependabot[bot]

View File

@@ -1,16 +1,15 @@
# # # #
# @type github workflow # @type github workflow
# @desc creates repository labels if they are not yet installed # @author Aetherinox
# @url https://github.com/Aetherinox
# @usage creates repository labels if they are not yet installed
# issues marked as stale after 30 days, given tag Status 𐄂 Stale # issues marked as stale after 30 days, given tag Status 𐄂 Stale
# inactive issues closed after 180 days, given tag Status 𐄂 Locked # inactive issues closed after 180 days, given tag Status 𐄂 Locked
# inactive pr closed after 365 days, given tag Status 𐄂 Locked # inactive pr closed after 365 days, given tag Status 𐄂 Locked
# issues marked stale after 30 days, given tag Status 𐄂 Stale # issues marked stale after 30 days, given tag Status 𐄂 Stale
# issues marked closed 7 days after being marked stale, given tag Status 𐄂 Autoclosed # issues marked closed 7 days after being marked stale, given tag Status 𐄂 Autoclosed
# @author Aetherinox
# @url https://github.com/Aetherinox
# #
# This Github action must be activated manually. This workflow script will do the # @notes This Github action must be activated manually. This workflow script will do the following:
# following:
# #
# - Scan issues / pull requests and make sure they have properly assigned labels: # - Scan issues / pull requests and make sure they have properly assigned labels:
# - `Bug` # - `Bug`
@@ -22,6 +21,31 @@
# if they haven't had any replies in 30 days. # if they haven't had any replies in 30 days.
# #
# - Workflow will `autoclose` pr or issues which haven't had action in `365 days`. # - Workflow will `autoclose` pr or issues which haven't had action in `365 days`.
#
# @secrets secrets.SELF_TOKEN self github personal access token (fine-grained)
# secrets.SELF_TOKEN_CL self github personal access token (classic)
# secrets.NPM_TOKEN self npmjs access token
# secrets.PYPI_API_TOKEN self Pypi API token (production site) - https://pypi.org/
# secrets.PYPI_API_TEST_TOKEN self Pypi API token (test site) - https://test.pypi.org/
# secrets.SELF_DOCKERHUB_TOKEN self Dockerhub token
# secrets.ORG_BINARYNINJA_TOKEN org github personal access token (fine-grained)
# secrets.ORG_BINARYNINJA_TOKEN_CL org github personal access token (classic)
# secrets.ORG_BINARYNINJA_DOCKERHUB_TOKEN org dockerhub secret
# secrets.ORG_BINARYNINJA_GITEA_TOKEN org gitea personal access token (classic) with package:write permission
# secrets.BINARYSERV_GPG_KEY_ASC bot gpg private key (armored) | BEGIN PGP PRIVATE KEY BLOCK
# secrets.BINARYSERV_GPG_PASSPHRASE bot gpg private key passphrase
# secrets.DISCORD_WEBHOOK_CHAN_GITHUB_TVAPP2_RELEASES discord webhook to report release notifications from github to discord
# secrets.DISCORD_WEBHOOK_CHAN_GITHUB_TVAPP2_WORKFLOWS discord webhook to report workflow notifications from github to discord
# secrets.DISCORD_WEBHOOK_CHAN_GITHUB_TVAPP2_UPDATES discord webhook to report activity notifications from github to discord
#
# @local these workflows can be tested locally through the use of `act`
# https://github.com/nektos/act
# Extract act to folder
# Add system env var with path to act.exe
# Run the commands:
# git pull https://github.com/username/repo
# act -W .github/workflows/issues-stale.yml -P ubuntu-latest=catthehacker/ubuntu:full-22.04
# act -W .github/workflows/issues-stale.yml -s TOKEN_CL=XXXXXXXXXX --pull=false
# # # #
name: "🎫 Issues Stale" name: "🎫 Issues Stale"
@@ -61,8 +85,12 @@ env:
LABEL_INTERNAL: "Type ◦ Internal" LABEL_INTERNAL: "Type ◦ Internal"
LABEL_URGENT: "⚠ Urgent" LABEL_URGENT: "⚠ Urgent"
ASSIGN_USER: Aetherinox
BOT_NAME_1: EuropaServ BOT_NAME_1: EuropaServ
BOT_NAME_2: BinaryServ
BOT_NAME_DEPENDABOT: dependabot[bot] BOT_NAME_DEPENDABOT: dependabot[bot]
BOT_NAME_RENOVATE: renovate[bot]
LABELS_JSON: | LABELS_JSON: |
[ [
{ "name": "AC Changes Made", "color": "8F1784", "description": "Requested changes have been made and are pending a re-scan" }, { "name": "AC Changes Made", "color": "8F1784", "description": "Requested changes have been made and are pending a re-scan" },

View File

@@ -4,10 +4,33 @@
# @author Aetherinox # @author Aetherinox
# @url https://github.com/Aetherinox # @url https://github.com/Aetherinox
# #
# This Github action must be activated manually. This workflow script will do the # @notes This Github action must be activated manually. This workflow script will do the following:
# following:
#
# - Remove all existing labels in repository # - Remove all existing labels in repository
#
# @secrets secrets.SELF_TOKEN self github personal access token (fine-grained)
# secrets.SELF_TOKEN_CL self github personal access token (classic)
# secrets.NPM_TOKEN self npmjs access token
# secrets.PYPI_API_TOKEN self Pypi API token (production site) - https://pypi.org/
# secrets.PYPI_API_TEST_TOKEN self Pypi API token (test site) - https://test.pypi.org/
# secrets.SELF_DOCKERHUB_TOKEN self Dockerhub token
# secrets.ORG_BINARYNINJA_TOKEN org github personal access token (fine-grained)
# secrets.ORG_BINARYNINJA_TOKEN_CL org github personal access token (classic)
# secrets.ORG_BINARYNINJA_DOCKERHUB_TOKEN org dockerhub secret
# secrets.ORG_BINARYNINJA_GITEA_TOKEN org gitea personal access token (classic) with package:write permission
# secrets.BINARYSERV_GPG_KEY_ASC bot gpg private key (armored) | BEGIN PGP PRIVATE KEY BLOCK
# secrets.BINARYSERV_GPG_PASSPHRASE bot gpg private key passphrase
# secrets.DISCORD_WEBHOOK_CHAN_GITHUB_TVAPP2_RELEASES discord webhook to report release notifications from github to discord
# secrets.DISCORD_WEBHOOK_CHAN_GITHUB_TVAPP2_WORKFLOWS discord webhook to report workflow notifications from github to discord
# secrets.DISCORD_WEBHOOK_CHAN_GITHUB_TVAPP2_UPDATES discord webhook to report activity notifications from github to discord
#
# @local these workflows can be tested locally through the use of `act`
# https://github.com/nektos/act
# Extract act to folder
# Add system env var with path to act.exe
# Run the commands:
# git pull https://github.com/username/repo
# act -W .github/workflows/labels-clean.yml -P ubuntu-latest=catthehacker/ubuntu:full-22.04
# act -W .github/workflows/labels-clean.yml -s TOKEN_CL=XXXXXXXXXX --pull=false
# # # #
name: "🎫 Labels Remove" name: "🎫 Labels Remove"
@@ -25,8 +48,12 @@ on:
# # # #
env: env:
ASSIGN_USER: Aetherinox
BOT_NAME_1: EuropaServ BOT_NAME_1: EuropaServ
BOT_NAME_2: BinaryServ
BOT_NAME_DEPENDABOT: dependabot[bot] BOT_NAME_DEPENDABOT: dependabot[bot]
BOT_NAME_RENOVATE: renovate[bot]
LABELS_JSON: | LABELS_JSON: |
[ [
{ "name": "bug", "color": "8F1784", "description": "Default github label" }, { "name": "bug", "color": "8F1784", "description": "Default github label" },

View File

@@ -1,11 +1,10 @@
# # # #
# @type github workflow # @type github workflow
# @desc manually activated workflow to create issue labels
# @author Aetherinox # @author Aetherinox
# @url https://github.com/Aetherinox # @url https://github.com/Aetherinox
# @usage manually activated workflow to create issue labels
# #
# This Github action must be activated manually. This workflow script will do the # @notes This Github action must be activated manually. This workflow script will do the following:
# following:
# #
# - Scan issues / pull requests and make sure they have properly assigned labels: # - Scan issues / pull requests and make sure they have properly assigned labels:
# - `Bug` # - `Bug`
@@ -17,6 +16,31 @@
# if they haven't had any replies in 30 days. # if they haven't had any replies in 30 days.
# #
# - Workflow will `autoclose` pr or issues which haven't had action in `365 days`. # - Workflow will `autoclose` pr or issues which haven't had action in `365 days`.
#
# @secrets secrets.SELF_TOKEN self github personal access token (fine-grained)
# secrets.SELF_TOKEN_CL self github personal access token (classic)
# secrets.NPM_TOKEN self npmjs access token
# secrets.PYPI_API_TOKEN self Pypi API token (production site) - https://pypi.org/
# secrets.PYPI_API_TEST_TOKEN self Pypi API token (test site) - https://test.pypi.org/
# secrets.SELF_DOCKERHUB_TOKEN self Dockerhub token
# secrets.ORG_BINARYNINJA_TOKEN org github personal access token (fine-grained)
# secrets.ORG_BINARYNINJA_TOKEN_CL org github personal access token (classic)
# secrets.ORG_BINARYNINJA_DOCKERHUB_TOKEN org dockerhub secret
# secrets.ORG_BINARYNINJA_GITEA_TOKEN org gitea personal access token (classic) with package:write permission
# secrets.BINARYSERV_GPG_KEY_ASC bot gpg private key (armored) | BEGIN PGP PRIVATE KEY BLOCK
# secrets.BINARYSERV_GPG_PASSPHRASE bot gpg private key passphrase
# secrets.DISCORD_WEBHOOK_CHAN_GITHUB_TVAPP2_RELEASES discord webhook to report release notifications from github to discord
# secrets.DISCORD_WEBHOOK_CHAN_GITHUB_TVAPP2_WORKFLOWS discord webhook to report workflow notifications from github to discord
# secrets.DISCORD_WEBHOOK_CHAN_GITHUB_TVAPP2_UPDATES discord webhook to report activity notifications from github to discord
#
# @local these workflows can be tested locally through the use of `act`
# https://github.com/nektos/act
# Extract act to folder
# Add system env var with path to act.exe
# Run the commands:
# git pull https://github.com/username/repo
# act -W .github/workflows/labels-create.yml -P ubuntu-latest=catthehacker/ubuntu:full-22.04
# act -W .github/workflows/labels-create.yml -s TOKEN_CL=XXXXXXXXXX --pull=false
# # # #
name: "🎫 Labels Create" name: "🎫 Labels Create"
@@ -34,8 +58,12 @@ on:
# # # #
env: env:
ASSIGN_USER: Aetherinox
BOT_NAME_1: EuropaServ BOT_NAME_1: EuropaServ
BOT_NAME_2: BinaryServ
BOT_NAME_DEPENDABOT: dependabot[bot] BOT_NAME_DEPENDABOT: dependabot[bot]
BOT_NAME_RENOVATE: renovate[bot]
LABELS_JSON: | LABELS_JSON: |
[ [
{ "name": "AC Changes Made", "color": "8F1784", "description": "Requested changes have been made and are pending a re-scan" }, { "name": "AC Changes Made", "color": "8F1784", "description": "Requested changes have been made and are pending a re-scan" },

View File

@@ -1,12 +1,37 @@
# # # #
# @type github workflow # @type github workflow
# @desc publishes a new release on Github
# @author Aetherinox # @author Aetherinox
# @url https://github.com/Aetherinox # @url https://github.com/Aetherinox
# @usage publishes a new release on Github
#
# @secrets secrets.SELF_TOKEN self github personal access token (fine-grained)
# secrets.SELF_TOKEN_CL self github personal access token (classic)
# secrets.NPM_TOKEN self npmjs access token
# secrets.PYPI_API_TOKEN self Pypi API token (production site) - https://pypi.org/
# secrets.PYPI_API_TEST_TOKEN self Pypi API token (test site) - https://test.pypi.org/
# secrets.SELF_DOCKERHUB_TOKEN self Dockerhub token
# secrets.ORG_BINARYNINJA_TOKEN org github personal access token (fine-grained)
# secrets.ORG_BINARYNINJA_TOKEN_CL org github personal access token (classic)
# secrets.ORG_BINARYNINJA_DOCKERHUB_TOKEN org dockerhub secret
# secrets.ORG_BINARYNINJA_GITEA_TOKEN org gitea personal access token (classic) with package:write permission
# secrets.BINARYSERV_GPG_KEY_ASC bot gpg private key (armored) | BEGIN PGP PRIVATE KEY BLOCK
# secrets.BINARYSERV_GPG_PASSPHRASE bot gpg private key passphrase
# secrets.DISCORD_WEBHOOK_CHAN_GITHUB_TVAPP2_RELEASES discord webhook to report release notifications from github to discord
# secrets.DISCORD_WEBHOOK_CHAN_GITHUB_TVAPP2_WORKFLOWS discord webhook to report workflow notifications from github to discord
# secrets.DISCORD_WEBHOOK_CHAN_GITHUB_TVAPP2_UPDATES discord webhook to report activity notifications from github to discord
#
# @local these workflows can be tested locally through the use of `act`
# https://github.com/nektos/act
# Extract act to folder
# Add system env var with path to act.exe
# Run the commands:
# git pull https://github.com/username/repo
# act -W .github/workflows/labels-create.yml -P ubuntu-latest=catthehacker/ubuntu:full-22.04
# act -W .github/workflows/labels-create.yml -s TOKEN_CL=XXXXXXXXXX --pull=false
# # # #
name: "📦 Release Github" name: '📦 Release Github'
run-name: "📦 Release Github" run-name: '📦 Release Github'
# # # #
# Triggers # Triggers
@@ -22,7 +47,7 @@ on:
# # # #
PROJECT_NAME: PROJECT_NAME:
description: "📦 Name of App" description: '📦 Name of App'
required: true required: true
default: 'tvapp2' default: 'tvapp2'
type: string type: string
@@ -33,7 +58,7 @@ on:
# # # #
CHANGELOG_MODE_COMMIT: CHANGELOG_MODE_COMMIT:
description: "📑 Use Commits Instead of PRs" description: '📑 Use Commits Instead of PRs'
required: true required: true
default: true default: true
type: boolean type: boolean
@@ -46,7 +71,7 @@ on:
# # # #
SHOW_UNCATEGORIZED: SHOW_UNCATEGORIZED:
description: "🗂️ Show Uncategorized Commits" description: '🗂️ Show Uncategorized Commits'
required: true required: true
default: false default: false
type: boolean type: boolean
@@ -57,7 +82,7 @@ on:
# # # #
PRERELEASE: PRERELEASE:
description: "🧪 Build RC (Pre-release)" description: '🧪 Build RC (Pre-release)'
required: true required: true
default: false default: false
type: boolean type: boolean
@@ -69,10 +94,10 @@ on:
# # # #
VERSION_RC: VERSION_RC:
description: "🧪 RC (Pre-release) Ver (tvapp2-rc.v1)" description: '🧪 RC (Pre-release) Ver (tvapp2-rc.v1)'
required: false required: false
type: string type: string
default: "1" default: '1'
# # # #
# environment variables # environment variables
@@ -84,8 +109,11 @@ env:
SHOW_UNCATEGORIZED: false SHOW_UNCATEGORIZED: false
PRERELEASE: false PRERELEASE: false
VERSION_RC: '1' VERSION_RC: '1'
ASSIGN_USER: Aetherinox
BOT_NAME_1: EuropaServ BOT_NAME_1: EuropaServ
BOT_NAME_2: BinaryServ
BOT_NAME_DEPENDABOT: dependabot[bot] BOT_NAME_DEPENDABOT: dependabot[bot]
BOT_NAME_RENOVATE: renovate[bot]
# # # #
# Jobs # Jobs
@@ -112,7 +140,7 @@ jobs:
# Initialize Start # Initialize Start
# # # #
- name: "✅ Start" - name: '✅ Start'
id: task_initialize_start id: task_initialize_start
run: | run: |
echo "Starting build" echo "Starting build"
@@ -134,7 +162,7 @@ jobs:
# Initialize Checkout # Initialize Checkout
# # # #
- name: "☑️ Checkout" - name: '☑️ Checkout'
id: task_initialize_checkout id: task_initialize_checkout
uses: actions/checkout@v4 uses: actions/checkout@v4
with: with:
@@ -144,14 +172,14 @@ jobs:
# Initialize Get version from package.json VERSION value # Initialize Get version from package.json VERSION value
# # # #
- name: "👁️‍🗨️ Package Version Set" - name: '👁️‍🗨️ Package Version Set'
id: task_initialize_package_getversion id: task_initialize_package_getversion
working-directory: ./tvapp2 working-directory: ./tvapp2
run: | run: |
VER=$(cat package.json | jq -r '.version') VER=$(cat package.json | jq -r '.version')
echo "PACKAGE_VERSION=$VER" >> $GITHUB_OUTPUT echo "PACKAGE_VERSION=$VER" >> $GITHUB_OUTPUT
- name: "👁️‍🗨️ Package Version Get" - name: '👁️‍🗨️ Package Version Get'
id: task_initialize_package_version_get id: task_initialize_package_version_get
run: | run: |
echo "VERSION: ${{ steps.task_initialize_package_getversion.outputs.PACKAGE_VERSION }}" echo "VERSION: ${{ steps.task_initialize_package_getversion.outputs.PACKAGE_VERSION }}"
@@ -179,7 +207,7 @@ jobs:
# Release Checkout # Release Checkout
# # # #
- name: "☑️ Checkout" - name: '☑️ Checkout'
id: task_release_checkout id: task_release_checkout
uses: actions/checkout@v4 uses: actions/checkout@v4
with: with:
@@ -202,7 +230,7 @@ jobs:
# Release Print Version Debug # Release Print Version Debug
# # # #
- name: "🪪 Test Next Job Version" - name: '🪪 Test Next Job Version'
id: task_release_debug_print_ver id: task_release_debug_print_ver
run: | run: |
echo "VERSION: ${{ env.PACKAGE_VERSION }}" echo "VERSION: ${{ env.PACKAGE_VERSION }}"
@@ -211,7 +239,7 @@ jobs:
# Release Install package via NPM # Release Install package via NPM
# # # #
- name: "🪪 NPM Install" - name: '🪪 NPM Install'
id: task_release_npm_install id: task_release_npm_install
working-directory: ./tvapp2 working-directory: ./tvapp2
run: | run: |
@@ -223,7 +251,7 @@ jobs:
# Release Execute npm generate so that a uuid and guid can be created # Release Execute npm generate so that a uuid and guid can be created
# # # #
- name: "🪪 Generate IDs" - name: '🪪 Generate IDs'
id: task_release_npm_env_generate id: task_release_npm_env_generate
working-directory: ./tvapp2 working-directory: ./tvapp2
run: | run: |
@@ -234,7 +262,7 @@ jobs:
# Get guid and uuid from env variable generated by npm # Get guid and uuid from env variable generated by npm
# # # #
- name: "🪪 .ENV Get" - name: '🪪 .ENV Get'
id: task_release_dotenv_get id: task_release_dotenv_get
uses: falti/dotenv-action@v1 uses: falti/dotenv-action@v1
with: with:
@@ -245,7 +273,7 @@ jobs:
# Show guid and uuid from env variable generated by npm # Show guid and uuid from env variable generated by npm
# # # #
- name: "🪪 .ENV Read" - name: '🪪 .ENV Read'
id: task_dotenv_debug_print id: task_dotenv_debug_print
run: | run: |
echo "GUID: ${{ steps.task_release_dotenv_get.outputs.GUID }}" echo "GUID: ${{ steps.task_release_dotenv_get.outputs.GUID }}"
@@ -255,7 +283,7 @@ jobs:
# Build Project & Create Zip # Build Project & Create Zip
# # # #
- name: "🔨 Build Stable ( ${{ env.PROJECT_NAME }}-${{ env.PACKAGE_VERSION }}.zip )" - name: '🔨 Build Stable ( ${{ env.PROJECT_NAME }}-${{ env.PACKAGE_VERSION }}.zip )'
id: task_release_build_st id: task_release_build_st
if: ${{ startsWith( inputs.PRERELEASE, false ) }} if: ${{ startsWith( inputs.PRERELEASE, false ) }}
run: | run: |
@@ -267,7 +295,7 @@ jobs:
env: env:
NODE_AUTH_TOKEN: ${{ secrets.ADMINSERV_TOKEN_CL }} NODE_AUTH_TOKEN: ${{ secrets.ADMINSERV_TOKEN_CL }}
- name: "🔨 Build RC ( ${{ env.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 id: task_release_build_rc
if: ${{ startsWith( inputs.PRERELEASE, true ) }} if: ${{ startsWith( inputs.PRERELEASE, true ) }}
run: | run: |
@@ -287,7 +315,7 @@ jobs:
# the list of commits will not be for the correct release. # the list of commits will not be for the correct release.
# # # #
- name: "🔖 Tag Pre Create ${{ env.PACKAGE_VERSION }}" - name: '🔖 Tag Pre Create ${{ env.PACKAGE_VERSION }}'
id: task_release_tag_create id: task_release_tag_create
uses: rickstaa/action-create-tag@v1 uses: rickstaa/action-create-tag@v1
with: with:
@@ -303,7 +331,7 @@ jobs:
# check if tag already exists # check if tag already exists
# # # #
- name: "🔖 Tag Confirm ${{ env.PACKAGE_VERSION }}" - name: '🔖 Tag Confirm ${{ env.PACKAGE_VERSION }}'
id: task_release_tag_get id: task_release_tag_get
run: | run: |
echo "Tag already present: ${{ env.TAG_EXISTS }}" echo "Tag already present: ${{ env.TAG_EXISTS }}"
@@ -313,7 +341,7 @@ jobs:
# Checksum Generate # Checksum Generate
# # # #
- name: "🆔 Checksum Stable" - name: '🆔 Checksum Stable'
id: task_release_checksum_st_set id: task_release_checksum_st_set
if: ${{ startsWith( inputs.PRERELEASE, false ) }} if: ${{ startsWith( inputs.PRERELEASE, false ) }}
run: | run: |
@@ -327,7 +355,7 @@ jobs:
sha256_compose="$(shasum --algorithm 256 ${filename_compose_zip} | awk '{ print $1 }')" sha256_compose="$(shasum --algorithm 256 ${filename_compose_zip} | awk '{ print $1 }')"
echo "FILE_COMPOSE_ZIP=${filename_compose_zip}" >> $GITHUB_ENV echo "FILE_COMPOSE_ZIP=${filename_compose_zip}" >> $GITHUB_ENV
- name: "🆔 Checksum RC" - name: '🆔 Checksum RC'
id: task_release_checksum_rc_set id: task_release_checksum_rc_set
if: ${{ startsWith( inputs.PRERELEASE, true ) }} if: ${{ startsWith( inputs.PRERELEASE, true ) }}
run: | run: |
@@ -345,7 +373,7 @@ jobs:
# Checksum Print # Checksum Print
# # # #
- name: "🆔 Checksum Print" - name: '🆔 Checksum Print'
id: task_release_checksum_st_get id: task_release_checksum_st_get
run: | run: |
echo ${{ env.SHA256SUM }} echo ${{ env.SHA256SUM }}
@@ -354,7 +382,7 @@ jobs:
# Contributor Images # Contributor Images
# # # #
- name: "🥸 Contributors Generate" - name: '🥸 Contributors Generate'
id: task_release_contribs_generate id: task_release_contribs_generate
uses: jaywcjlove/github-action-contributors@main uses: jaywcjlove/github-action-contributors@main
with: with:
@@ -366,7 +394,7 @@ jobs:
# Checksum Add to ZIP file # Checksum Add to ZIP file
# # # #
- name: "📦 Zip Add Checksum Stable" - name: '📦 Zip Add Checksum Stable'
id: task_release_zip_st id: task_release_zip_st
if: ${{ startsWith( inputs.PRERELEASE, false ) }} if: ${{ startsWith( inputs.PRERELEASE, false ) }}
run: | run: |
@@ -374,7 +402,7 @@ jobs:
zip -jr ${{ env.PROJECT_NAME }}-${{ env.PACKAGE_VERSION }}.zip SHA256SUMS.txt zip -jr ${{ env.PROJECT_NAME }}-${{ env.PACKAGE_VERSION }}.zip SHA256SUMS.txt
ls ls
- name: "📦 Zip Add Checksum RC" - name: '📦 Zip Add Checksum RC'
id: task_release_zip_rc id: task_release_zip_rc
if: ${{ startsWith( inputs.PRERELEASE, true ) }} if: ${{ startsWith( inputs.PRERELEASE, true ) }}
run: | run: |
@@ -392,15 +420,17 @@ jobs:
# ${{ steps.changelog.outputs.changelog }} # ${{ steps.changelog.outputs.changelog }}
# # # #
- name: "📝 Changelog Pre Setup (Categorized Commits)" - name: '📝 Changelog Pre Setup (Categorized Commits)'
id: task_release_changelog_categorized_sha_set id: task_release_changelog_categorized_sha_set
run: | run: |
echo "TAG_LAST=$(git describe --tags --abbrev=0)" >> $GITHUB_ENV echo "TAG_LAST=$(git describe --tags --abbrev=0)" >> $GITHUB_ENV
echo "COMMIT_LAST=$(git rev-parse HEAD)" >> $GITHUB_ENV echo "COMMIT_LAST=$(git rev-parse HEAD)" >> $GITHUB_ENV
- name: "📝 Changelog Build (Categorized)" - name: '📝 Changelog Build (Categorized)'
id: task_release_changelog_categorized id: task_release_changelog_categorized
if: ${{ startsWith( inputs.SHOW_UNCATEGORIZED, false ) }} if: |
startsWith( inputs.SHOW_UNCATEGORIZED, false ) ||
startsWith( env.SHOW_UNCATEGORIZED, false )
uses: mikepenz/release-changelog-builder-action@v5 uses: mikepenz/release-changelog-builder-action@v5
with: with:
token: ${{ secrets.ADMINSERV_TOKEN }} token: ${{ secrets.ADMINSERV_TOKEN }}
@@ -408,7 +438,7 @@ jobs:
#toTag: "${{ github.ref }}" #toTag: "${{ github.ref }}"
configuration: ".github/changelog-configuration.json" configuration: ".github/changelog-configuration.json"
ignorePreReleases: false ignorePreReleases: false
commitMode: ${{ inputs.CHANGELOG_MODE_COMMIT }} commitMode: ${{ inputs.CHANGELOG_MODE_COMMIT || env.CHANGELOG_MODE_COMMIT }}
fetchReleaseInformation: true fetchReleaseInformation: true
fetchViaCommits: true fetchViaCommits: true
configurationJson: | configurationJson: |
@@ -424,9 +454,11 @@ jobs:
# type: description # type: description
# # # #
- name: "📝 Changelog Build (Uncategorized)" - name: '📝 Changelog Build (Uncategorized)'
id: task_release_changelog_uncategorized id: task_release_changelog_uncategorized
if: ${{ startsWith( inputs.SHOW_UNCATEGORIZED, true ) }} if: |
startsWith( inputs.SHOW_UNCATEGORIZED, true ) ||
startsWith( env.SHOW_UNCATEGORIZED, true )
uses: mikepenz/release-changelog-builder-action@v5 uses: mikepenz/release-changelog-builder-action@v5
with: with:
token: ${{ secrets.ADMINSERV_TOKEN }} token: ${{ secrets.ADMINSERV_TOKEN }}
@@ -434,7 +466,7 @@ jobs:
#toTag: "${{ github.ref }}" #toTag: "${{ github.ref }}"
configuration: ".github/changelog-configuration.json" configuration: ".github/changelog-configuration.json"
ignorePreReleases: false ignorePreReleases: false
commitMode: ${{ inputs.CHANGELOG_MODE_COMMIT }} commitMode: ${{ inputs.CHANGELOG_MODE_COMMIT || env.CHANGELOG_MODE_COMMIT }}
fetchReleaseInformation: true fetchReleaseInformation: true
fetchViaCommits: true fetchViaCommits: true
configurationJson: | configurationJson: |
@@ -444,19 +476,47 @@ jobs:
env: env:
GITHUB_TOKEN: ${{ secrets.ADMINSERV_TOKEN }} GITHUB_TOKEN: ${{ secrets.ADMINSERV_TOKEN }}
# #
# Changelog > Convert step into ENV
#
# This is a requirement in order for the action mikepenz/release-changelog-builder-action@v5 to work properly.
# If you use special characters like quotes and tildes in your push comments, bash will have no way of knowing
# if it's part of the changelog, or code itself.
#
# By converting the step into an env var, we quote the text, and it fixes the issue.
# #
- name: "🙊 Changelog Step to Env Categorized"
id: task_release_changelog_escape_categorized
env:
CHANGELOG_CATEGORIZED: ${{ steps.task_release_changelog_categorized.outputs.changelog }}
run: echo "CHANGELOG_CATEGORIZED"
- name: "🙊 Changelog Step to Env Uncategorized"
id: task_release_changelog_escape_uncategorized
env:
CHANGELOG_UNCATEGORIZED: ${{ steps.task_release_changelog_uncategorized.outputs.changelog }}
run: echo "CHANGELOG_UNCATEGORIZED"
# # # #
# Changelog Fetch # Changelog Fetch
# # # #
- name: "📝 Changelog Print (Categorized)" - name: '📝 Changelog Print (Categorized)'
if: ${{ startsWith( inputs.SHOW_UNCATEGORIZED, false ) }} id: task_release_changelog_print_categorized
if: |
startsWith( inputs.SHOW_UNCATEGORIZED, false ) ||
startsWith( env.SHOW_UNCATEGORIZED, false )
run: | run: |
echo "${{ steps.task_release_changelog_categorized.outputs.changelog }}" echo "${{ env.CHANGELOG_CATEGORIZED }}"
- name: "📝 Changelog Print (Uncategorized)" - name: '📝 Changelog Print (Uncategorized)'
if: ${{ startsWith( inputs.SHOW_UNCATEGORIZED, true ) }} id: task_release_changelog_print_uncategorized
if: |
startsWith( inputs.SHOW_UNCATEGORIZED, true ) ||
startsWith( env.SHOW_UNCATEGORIZED, true )
run: | run: |
echo "${{ steps.task_release_changelog_uncategorized.outputs.changelog }}" echo "${{ env.CHANGELOG_UNCATEGORIZED }}"
# # # #
# [ Release ]: Post Release # [ Release ]: Post Release
@@ -486,8 +546,8 @@ jobs:
SHA256SUMS.txt SHA256SUMS.txt
prerelease: false prerelease: false
body: | body: |
${{ steps.task_release_changelog_categorized.outputs.changelog }} ${{ env.CHANGELOG_CATEGORIZED }}
${{ steps.task_release_changelog_uncategorized.outputs.changelog }} ${{ env.CHANGELOG_UNCATEGORIZED }}
- name: "🏳️ Post Release Candidate" - name: "🏳️ Post Release Candidate"
if: ${{ startsWith( inputs.PRERELEASE, true ) }} if: ${{ startsWith( inputs.PRERELEASE, true ) }}
@@ -511,8 +571,8 @@ jobs:
> [!WARNING] > [!WARNING]
> This is a **release candidate**, which means it is not a stable release and could contain bugs. You should download it at your own risk. > This is a **release candidate**, which means it is not a stable release and could contain bugs. You should download it at your own risk.
${{ steps.task_release_changelog_categorized.outputs.changelog }} ${{ env.CHANGELOG_CATEGORIZED }}
${{ steps.task_release_changelog_uncategorized.outputs.changelog }} ${{ env.CHANGELOG_UNCATEGORIZED }}
# # # #
# Print Status # Print Status
@@ -524,8 +584,8 @@ jobs:
echo "Printing Variables" echo "Printing Variables"
echo echo
echo "---- CHANGELOG ---------------------------------------------------------------" echo "---- CHANGELOG ---------------------------------------------------------------"
echo "${{ steps.task_release_changelog_categorized.outputs.changelog }}" echo "${{ env.CHANGELOG_CATEGORIZED }}"
echo "${{ steps.task_changelog_uncategorized.outputs.changelog }}" echo "${{ env.CHANGELOG_UNCATEGORIZED }}"
echo "---- CHANGELOG ---------------------------------------------------------------" echo "---- CHANGELOG ---------------------------------------------------------------"
echo "" echo ""
echo "" echo ""