From 4ff15c7613734acc9984cf3797b4891cf1b1d254 Mon Sep 17 00:00:00 2001 From: Aetherinox Date: Wed, 11 Jun 2025 18:03:02 -0700 Subject: [PATCH] ci: update deployment workflows --- .github/workflows/deploy-docker-dockerhub.yml | 357 ++++++++++++---- .github/workflows/deploy-docker-gitea.yml | 401 +++++++++++++----- .github/workflows/deploy-docker-github.yml | 4 +- 3 files changed, 572 insertions(+), 190 deletions(-) diff --git a/.github/workflows/deploy-docker-dockerhub.yml b/.github/workflows/deploy-docker-dockerhub.yml index a3891784..9f1cf626 100755 --- a/.github/workflows/deploy-docker-dockerhub.yml +++ b/.github/workflows/deploy-docker-dockerhub.yml @@ -124,7 +124,7 @@ on: IMAGE_ALPINE_VERSION: description: 'πŸ“€ Alpine Version' required: true - default: '3.21' + default: '3.22' type: string # # @@ -162,17 +162,21 @@ on: # # env: - IMAGE_NAME: ${{ github.event.inputs.IMAGE_NAME || 'tvapp2' }} - IMAGE_VERSION: ${{ github.event.inputs.IMAGE_VERSION || '1.0.0' }} - IMAGE_REGISTRY: ${{ github.event.inputs.IMAGE_VERSION || 'dockerhub' }} - IMAGE_DOCKERHUB_AUTHOR: ${{ github.event.inputs.IMAGE_DOCKERHUB_AUTHOR || 'thebinaryninja' }} - IMAGE_DOCKERHUB_USERNAME: ${{ github.event.inputs.IMAGE_DOCKERHUB_USERNAME || 'thebinaryninja' }} - IMAGE_ALPINE_VERSION: ${{ github.event.inputs.IMAGE_ALPINE_VERSION || '3.21' }} + IMAGE_NAME: ${{ github.event.inputs.IMAGE_NAME || 'tvapp2' }} + IMAGE_VERSION: ${{ github.event.inputs.IMAGE_VERSION || '1.0.0' }} + IMAGE_REGISTRY: ${{ github.event.inputs.IMAGE_VERSION || 'dockerhub' }} + IMAGE_DOCKERHUB_AUTHOR: ${{ github.event.inputs.IMAGE_DOCKERHUB_AUTHOR || 'thebinaryninja' }} + IMAGE_DOCKERHUB_USERNAME: ${{ github.event.inputs.IMAGE_DOCKERHUB_USERNAME || 'thebinaryninja' }} + IMAGE_ALPINE_VERSION: ${{ github.event.inputs.IMAGE_ALPINE_VERSION || '3.22' }} + DISCORD_BOT_NAME: 'Europa' + DISCORD_BOT_AVATAR: 'https://i.imgur.com/UqwMom1.jpeg' + DISCORD_BOT_EMBED_AUTHOR_ICON: 'https://avatars.githubusercontent.com/u/200161462' + DISCORD_BOT_EMBED_THUMBNAIL: 'https://avatars.githubusercontent.com/u/200161462' - BOT_NAME_1: EuropaServ - BOT_NAME_2: BinaryServ - BOT_NAME_DEPENDABOT: dependabot[bot] - BOT_NAME_RENOVATE: renovate[bot] + BOT_NAME_1: EuropaServ + BOT_NAME_2: BinaryServ + BOT_NAME_DEPENDABOT: dependabot[bot] + BOT_NAME_RENOVATE: renovate[bot] # # # Jobs @@ -201,25 +205,124 @@ jobs: id-token: write steps: - # # - # Release β€Ί Tags β€Ί Start - # # - - - name: '🏳️ Start' - id: task_release_tags_start - run: | - echo "Creating Tag" - # # # Release β€Ί Tags β€Ί Checkout # # - - name: 'βœ… Checkout' - id: task_release_tags_checkout + - name: 'β˜‘οΈ Checkout' uses: actions/checkout@v4 with: fetch-depth: 0 + # # + # Release β€Ί Tags β€Ί Job Information + # # + + - name: >- + πŸ”„ Load Job + uses: qoomon/actions--context@v4 + id: 'context' + + # # + # Release β€Ί Tags β€Ί Start + # # + + - name: >- + βœ… Start + run: | + echo "β€Ž" + echo "―――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――" + echo " Starting Job ${{ steps.context.outputs.job_name }}" + echo "―――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――" + + YEAR="$(date +'%Y')" + echo "YEAR=${YEAR}" >> $GITHUB_ENV + + NOW="$(date +'%m-%d-%Y %H:%M:%S')" # 02-25-2025 12:49:48 + echo "NOW=${NOW}" >> $GITHUB_ENV + + NOW_SHORT="$(date +'%m-%d-%Y')" # 02-25-2025 + echo "NOW_SHORT=${NOW_SHORT}" >> $GITHUB_ENV + + NOW_LONG="$(date +'%m-%d-%Y %H:%M')" # 02-25-2025 12:49 + echo "NOW_LONG=${NOW_LONG}" >> $GITHUB_ENV + + NOW_DOCKER="$(date +'%Y%m%d')" # 20250225 + echo "NOW_DOCKER=${NOW_DOCKER}" >> $GITHUB_ENV + + NOW_DOCKER_TS="$(date -u +'%FT%T.%3NZ')" # 2025-02-25T12:50:11.569Z + echo "NOW_DOCKER_TS=${NOW_DOCKER_TS}" >> $GITHUB_ENV + + SHA1="$(git rev-parse HEAD)" # 71fad013cfce9116ec62779e4a7e627fe4c33627 + echo "SHA1=${SHA1}" >> $GITHUB_ENV + + SHA1_GH="$(echo ${GITHUB_SHA})" # 71fad013cfce9116ec62779e4a7e627fe4c33627 + echo "SHA1_GH=${SHA1_GH}" >> $GITHUB_ENV + + PKG_VER_1DIGIT="$(echo ${{ env.IMAGE_VERSION }} | cut -d '.' -f1-1)" # 3.22 > 3 + echo "PKG_VER_1DIGIT=${PKG_VER_1DIGIT}" >> $GITHUB_ENV + + PKG_VER_2DIGIT="$(echo ${{ env.IMAGE_VERSION }} | cut -f2 -d ":" | cut -c1-3)" # 3.22 > 3.2 + echo "PKG_VER_2DIGIT=${PKG_VER_2DIGIT}" >> $GITHUB_ENV + + echo "―――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――" + echo "β€Ž" + echo "β€Ž" + sudo apt -qq update + sudo apt -qq install tree + echo "β€Ž" + echo "β€Ž" + echo "―――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――" + echo "β€Ž" + echo "β€Ž" + echo " Runner .............. ${{ runner.name }}" + echo " Workflow ............ ${{ github.workflow }} (#${{ github.workflow_ref }})" + echo " Run Number .......... ${{ github.run_number }}" + echo " Ref ................. ${{ github.ref }}" + echo " Ref Name ............ ${{ github.ref_name }}" + echo " Event Name .......... ${{ github.event_name }}" + echo " Repo ................ ${{ github.repository }}" + echo " Repo Owner .......... ${{ github.repository_owner }}" + echo " Run ID .............. https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}" + echo " Triggered By ........ ${{ github.actor }}" + echo " SHA 1 (GITHUB_SHA) .. ${GITHUB_SHA}" + echo " SHA 2 (env.SHA1) .. ${{ env.SHA1 }}" + echo " SHA 3 (env.SHA1) .... ${SHA1}" + echo " SHA 4 (env.SHA1_GH) . ${SHA1_GH}" + echo " Workspace ........... ${{ github.workspace }}" + echo " PWD ................. ${PWD}" + echo " Job Name ............ ${{ steps.context.outputs.job_name }}" + echo " Job ID .............. ${{ steps.context.outputs.job_id }}" + echo " Job URL ............. ${{ steps.context.outputs.job_url }}" + echo " Run ID .............. ${{ steps.context.outputs.run_id }}" + echo " Run Attempt ......... ${{ steps.context.outputs.run_attempt }}" + echo " Run Number .......... ${{ steps.context.outputs.run_number }}" + echo " Run URL ............. ${{ steps.context.outputs.run_url }}" + echo " Run Env ............. ${{ steps.context.outputs.environment }}" + echo " Run Env URL ......... ${{ steps.context.outputs.environment_url }}" + echo " Run Deployment ...... ${{ steps.context.outputs.deployment_id }}" + echo " Run Deployment URL .. ${{ steps.context.outputs.deployment_url }}" + echo " Run Deployment ...... ${{ steps.context.outputs.deployment_id }}" + echo " Run Runner Name ..... ${{ steps.context.outputs.runner_name }}" + echo " Run Runner ID ....... ${{ steps.context.outputs.runner_id }}" + echo " Year ................ ${YEAR}" + echo " Now ................. ${NOW}" + echo " Now (Short) ......... ${NOW_SHORT}" + echo " Now (Long) .......... ${NOW_LONG}" + echo " Now (Docker) ........ ${NOW_DOCKER}" + echo " Now (Docker TS) ..... ${NOW_DOCKER_TS}" + echo "β€Ž" + echo "β€Ž" + echo "―――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――" + echo "β€Ž" + echo "β€Ž" + tree -I node_modules -I .git + echo "β€Ž" + echo "β€Ž" + echo "―――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――" + echo "β€Ž" + echo "β€Ž" + # # # Release β€Ί Tags β€Ί Fix Permissions # # @@ -274,49 +377,138 @@ jobs: steps: # # - # Release β€Ί Dockerhub β€Ί Start β€Ί Amd64 + # Release β€Ί Dockerhub β€Ί Checkout # # - - name: '🏳️ Start' - id: task_release_dh_start - run: | - echo "Starting Dockerhub docker release" - - # # - # Release β€Ί Dockerhub β€Ί Checkout β€Ί Amd64 - # # - - - name: 'βœ… Checkout' - id: task_release_gh_checkout + - name: 'β˜‘οΈ Checkout' uses: actions/checkout@v4 with: fetch-depth: 0 # # - # Release β€Ί Dockerhub β€Ί Get Timestamp + # Release β€Ί Dockerhub β€Ί Job Information # # - - name: 'πŸ•› Get Timestamp' + - name: >- + πŸ”„ Load Job + uses: qoomon/actions--context@v4 + id: 'context' + + # # + # Release β€Ί Dockerhub β€Ί Start + # # + + - name: >- + βœ… Start + run: | + echo "β€Ž" + echo "―――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――" + echo " Starting Job ${{ steps.context.outputs.job_name }}" + echo "―――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――" + + YEAR="$(date +'%Y')" + echo "YEAR=${YEAR}" >> $GITHUB_ENV + + NOW="$(date +'%m-%d-%Y %H:%M:%S')" # 02-25-2025 12:49:48 + echo "NOW=${NOW}" >> $GITHUB_ENV + + NOW_SHORT="$(date +'%m-%d-%Y')" # 02-25-2025 + echo "NOW_SHORT=${NOW_SHORT}" >> $GITHUB_ENV + + NOW_LONG="$(date +'%m-%d-%Y %H:%M')" # 02-25-2025 12:49 + echo "NOW_LONG=${NOW_LONG}" >> $GITHUB_ENV + + NOW_DOCKER="$(date +'%Y%m%d')" # 20250225 + echo "NOW_DOCKER=${NOW_DOCKER}" >> $GITHUB_ENV + + NOW_DOCKER_TS="$(date -u +'%FT%T.%3NZ')" # 2025-02-25T12:50:11.569Z + echo "NOW_DOCKER_TS=${NOW_DOCKER_TS}" >> $GITHUB_ENV + + SHA1="$(git rev-parse HEAD)" # 71fad013cfce9116ec62779e4a7e627fe4c33627 + echo "SHA1=${SHA1}" >> $GITHUB_ENV + + SHA1_GH="$(echo ${GITHUB_SHA})" # 71fad013cfce9116ec62779e4a7e627fe4c33627 + echo "SHA1_GH=${SHA1_GH}" >> $GITHUB_ENV + + PKG_VER_1DIGIT="$(echo ${{ env.IMAGE_VERSION }} | cut -d '.' -f1-1)" # 3.22 > 3 + echo "PKG_VER_1DIGIT=${PKG_VER_1DIGIT}" >> $GITHUB_ENV + + PKG_VER_2DIGIT="$(echo ${{ env.IMAGE_VERSION }} | cut -f2 -d ":" | cut -c1-3)" # 3.22 > 3.2 + echo "PKG_VER_2DIGIT=${PKG_VER_2DIGIT}" >> $GITHUB_ENV + + echo "―――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――" + echo "β€Ž" + echo "β€Ž" + sudo apt -qq update + sudo apt -qq install tree + echo "β€Ž" + echo "β€Ž" + echo "―――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――" + echo "β€Ž" + echo "β€Ž" + echo " Runner .............. ${{ runner.name }}" + echo " Workflow ............ ${{ github.workflow }} (#${{ github.workflow_ref }})" + echo " Run Number .......... ${{ github.run_number }}" + echo " Ref ................. ${{ github.ref }}" + echo " Ref Name ............ ${{ github.ref_name }}" + echo " Event Name .......... ${{ github.event_name }}" + echo " Repo ................ ${{ github.repository }}" + echo " Repo Owner .......... ${{ github.repository_owner }}" + echo " Run ID .............. https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}" + echo " Triggered By ........ ${{ github.actor }}" + echo " SHA 1 (GITHUB_SHA) .. ${GITHUB_SHA}" + echo " SHA 2 (env.SHA1) .. ${{ env.SHA1 }}" + echo " SHA 3 (env.SHA1) .... ${SHA1}" + echo " SHA 4 (env.SHA1_GH) . ${SHA1_GH}" + echo " Workspace ........... ${{ github.workspace }}" + echo " PWD ................. ${PWD}" + echo " Job Name ............ ${{ steps.context.outputs.job_name }}" + echo " Job ID .............. ${{ steps.context.outputs.job_id }}" + echo " Job URL ............. ${{ steps.context.outputs.job_url }}" + echo " Run ID .............. ${{ steps.context.outputs.run_id }}" + echo " Run Attempt ......... ${{ steps.context.outputs.run_attempt }}" + echo " Run Number .......... ${{ steps.context.outputs.run_number }}" + echo " Run URL ............. ${{ steps.context.outputs.run_url }}" + echo " Run Env ............. ${{ steps.context.outputs.environment }}" + echo " Run Env URL ......... ${{ steps.context.outputs.environment_url }}" + echo " Run Deployment ...... ${{ steps.context.outputs.deployment_id }}" + echo " Run Deployment URL .. ${{ steps.context.outputs.deployment_url }}" + echo " Run Deployment ...... ${{ steps.context.outputs.deployment_id }}" + echo " Run Runner Name ..... ${{ steps.context.outputs.runner_name }}" + echo " Run Runner ID ....... ${{ steps.context.outputs.runner_id }}" + echo " Year ................ ${YEAR}" + echo " Now ................. ${NOW}" + echo " Now (Short) ......... ${NOW_SHORT}" + echo " Now (Long) .......... ${NOW_LONG}" + echo " Now (Docker) ........ ${NOW_DOCKER}" + echo " Now (Docker TS) ..... ${NOW_DOCKER_TS}" + echo "β€Ž" + echo "β€Ž" + echo "―――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――" + echo "β€Ž" + echo "β€Ž" + tree -I node_modules -I .git + echo "β€Ž" + echo "β€Ž" + echo "―――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――" + echo "β€Ž" + echo "β€Ž" + + # # + # Release β€Ί Dockerhub β€Ί Set Vars + # # + + - name: 'πŸ•› Set Vars' id: task_release_set_timestamp run: | - echo "IMAGE_VERSION_1DIGIT=`echo ${{ env.IMAGE_VERSION }} | cut -d '.' -f1-1`" >> ${GITHUB_ENV} # 1 - echo "IMAGE_VERSION_2DIGIT=`echo ${{ env.IMAGE_VERSION }} | cut -d '.' -f1-2`" >> ${GITHUB_ENV} # 1.0 echo "REGISTRY_REPO_ORG_AUTHOR_LC=`echo ${{ env.IMAGE_DOCKERHUB_AUTHOR }}/${{ env.IMAGE_NAME }} | tr '[:upper:]' '[:lower:]'`" >> ${GITHUB_ENV} # thebinaryninja/tvapp2 echo "REGISTRY_REPO_AUTHOR_LC=`echo ${{ env.IMAGE_DOCKERHUB_AUTHOR }} | tr '[:upper:]' '[:lower:]'`" >> ${GITHUB_ENV} # thebinaryninja - echo "DOCKER_SHA=${GITHUB_SHA}" >> $GITHUB_ENV # 71fad013cfce9116ec62779e4a7e627fe4c33627 - echo "NOW=$(date +'%m-%d-%Y %H:%M:%S')" >> $GITHUB_ENV # 02-25-2025 12:49:48 - echo "NOW_SHORT=$(date +'%m-%d-%Y')" >> $GITHUB_ENV # 02-25-2025 - echo "NOW_LONG=$(date +'%m-%d-%Y %H:%M')" >> $GITHUB_ENV # 02-25-2025 12:49 - echo "NOW_DOCKER_LABEL=$(date +'%Y%m%d')" >> $GITHUB_ENV # 20250225 - echo "NOW_DOCKER_TS=$(date -u +'%FT%T.%3NZ')" >> $GITHUB_ENV # 2025-02-25T12:50:11.569Z - echo "GITHUB_SHA1=$(git rev-parse HEAD)" >> $GITHUB_ENV # 012cd0cc44c576c4a57b8a18d86793f244d1080a # # # Release β€Ί Dockerhub β€Ί Install Dependencies # # - name: 'πŸ“¦ Install Dependencies' - id: task_release_dh_dependencies run: sudo apt-get install -qq dos2unix @@ -325,7 +517,6 @@ jobs: # # - name: 'πŸ” Apply dos2unix' - id: task_release_dh_dos2unix run: | echo "⚠️⚠️⚠️ Running DOS2UNIX ⚠️⚠️⚠️" find ./ \( -path "./.git" -o -path "./docs" -o -path "./.github" -o -path "*.png" -o -path "*.jpg" \) -prune -o -name '*' -print | xargs dos2unix -- @@ -336,7 +527,6 @@ jobs: # # - name: '#️⃣ Manage Permissions' - id: task_release_dh_permissions run: | find ./ -name 'run' -exec chmod 755 {} \; WRONG_PERM=$(find ./ -path "./.git" -prune -o \( -name "run" -o -name "finish" -o -name "check" \) -not -perm -u=x,g=x,o=x -print) @@ -429,10 +619,10 @@ jobs: type=raw,enable=${{ github.event_name == 'workflow_dispatch' && inputs.DEV_RELEASE == false }},priority=450,prefix=,suffix=,value=${{ env.IMAGE_VERSION }} # tag add 1.0 ( dispatch only + no dev ) - type=raw,enable=${{ github.event_name == 'workflow_dispatch' && inputs.DEV_RELEASE == false }},priority=425,prefix=,suffix=,value=${{ env.IMAGE_VERSION_2DIGIT }} + type=raw,enable=${{ github.event_name == 'workflow_dispatch' && inputs.DEV_RELEASE == false }},priority=425,prefix=,suffix=,value=${{ env.PKG_VER_2DIGIT }} # tag add 1 ( dispatch only + no dev ) - type=raw,enable=${{ github.event_name == 'workflow_dispatch' && inputs.DEV_RELEASE == false }},priority=400,prefix=,suffix=,value=${{ env.IMAGE_VERSION_1DIGIT }} + type=raw,enable=${{ github.event_name == 'workflow_dispatch' && inputs.DEV_RELEASE == false }},priority=400,prefix=,suffix=,value=${{ env.PKG_VER_1DIGIT }} # tag add development ( dispatch only + only dev ) type=raw,enable=${{ github.event_name == 'workflow_dispatch' && inputs.DEV_RELEASE == true }},priority=300,prefix=,suffix=,value=development @@ -446,29 +636,29 @@ jobs: org.opencontainers.image.created=${{ env.NOW_DOCKER_TS }} org.opencontainers.image.version=${{ env.IMAGE_VERSION }} org.opencontainers.image.licenses=MIT - org.opencontainers.image.revision=${{ github.sha }} + org.opencontainers.image.revision=${{ env.SHA1 }} org.opencontainers.image.vendor=${{ env.REGISTRY_REPO_AUTHOR_LC }} org.opencontainers.image.ref.name=${{ github.ref_name }} org.opencontainers.image.development=${{ inputs.DEV_RELEASE == true && 'true' || 'false' }} org.opencontainers.image.registry=${{ env.IMAGE_REGISTRY }} - org.tvapp2.image.build-version="Version:- ${{ env.IMAGE_VERSION }} Date:- ${{ env.NOW_DOCKER_LABEL }}" + org.tvapp2.image.build-version="Version:- ${{ env.IMAGE_VERSION }} Date:- ${{ env.NOW_DOCKER }}" org.tvapp2.image.build-version-alpine=${{ env.IMAGE_ALPINE_VERSION }} org.tvapp2.image.build-release="${{ inputs.DEV_RELEASE == true && 'development' || 'stable' }}" - org.tvapp2.image.build-sha1=${{ env.GITHUB_SHA1 }} + org.tvapp2.image.build-sha1=${{ env.SHA1 }} annotations: |- org.opencontainers.image.description=TVApp2 org.opencontainers.image.created=${{ env.NOW_DOCKER_TS }} org.opencontainers.image.version=${{ env.IMAGE_VERSION }} org.opencontainers.image.licenses=MIT - org.opencontainers.image.revision=${{ github.sha }} + org.opencontainers.image.revision=${{ env.SHA1 }} org.opencontainers.image.vendor=${{ env.REGISTRY_REPO_AUTHOR_LC }} org.opencontainers.image.ref.name=${{ github.ref_name }} org.opencontainers.image.development=${{ inputs.DEV_RELEASE == true && 'true' || 'false' }} org.opencontainers.image.registry=${{ env.IMAGE_REGISTRY }} - org.tvapp2.image.build-version="Version:- ${{ env.IMAGE_VERSION }} Date:- ${{ env.NOW_DOCKER_LABEL }}" + org.tvapp2.image.build-version="Version:- ${{ env.IMAGE_VERSION }} Date:- ${{ env.NOW_DOCKER }}" org.tvapp2.image.build-version-alpine=${{ env.IMAGE_ALPINE_VERSION }} org.tvapp2.image.build-release="${{ inputs.DEV_RELEASE == true && 'development' || 'stable' }}" - org.tvapp2.image.build-sha1=${{ env.GITHUB_SHA1 }} + org.tvapp2.image.build-sha1=${{ env.SHA1 }} # # # Release β€Ί Dockerhub β€Ί Build and Push β€Ί Amd64 @@ -495,8 +685,8 @@ jobs: ARCH=amd64 RELEASE=${{ inputs.DEV_RELEASE == true && 'development' || 'stable' }} VERSION=${{ env.IMAGE_VERSION }} - BUILDDATE=${{ env.NOW_DOCKER_LABEL }} - GIT_SHA1=${{ env.GITHUB_SHA1 }} + BUILDDATE=${{ env.NOW_DOCKER }} + GIT_SHA1=${{ env.SHA1 }} ALPINE_VERSION=${{ env.IMAGE_ALPINE_VERSION }} annotations: |- org.opencontainers.image.description=TVApp2 @@ -504,16 +694,16 @@ jobs: org.opencontainers.image.version=${{ env.IMAGE_VERSION }} org.opencontainers.image.licenses=MIT org.opencontainers.image.architecture=amd64 - org.opencontainers.image.revision=${{ github.sha }} + org.opencontainers.image.revision=${{ env.SHA1 }} org.opencontainers.image.vendor=${{ env.REGISTRY_REPO_AUTHOR_LC }} org.opencontainers.image.ref.name=${{ github.ref_name }} org.opencontainers.image.development=${{ inputs.DEV_RELEASE == true && 'true' || 'false' }} org.opencontainers.image.registry=${{ env.IMAGE_REGISTRY }} - org.tvapp2.image.build-version="Version:- ${{ env.IMAGE_VERSION }} Date:- ${{ env.NOW_DOCKER_LABEL }}" + org.tvapp2.image.build-version="Version:- ${{ env.IMAGE_VERSION }} Date:- ${{ env.NOW_DOCKER }}" org.tvapp2.image.build-version-alpine=${{ env.IMAGE_ALPINE_VERSION }} org.tvapp2.image.build-architecture=amd64 org.tvapp2.image.build-release="${{ inputs.DEV_RELEASE == true && 'development' || 'stable' }}" - org.tvapp2.image.build-sha1=${{ env.GITHUB_SHA1 }} + org.tvapp2.image.build-sha1=${{ env.SHA1 }} # # # Release β€Ί Dockerhub β€Ί Export Digest β€Ί Amd64 @@ -568,8 +758,8 @@ jobs: ARCH=arm64 RELEASE=${{ inputs.DEV_RELEASE == true && 'development' || 'stable' }} VERSION=${{ env.IMAGE_VERSION }} - BUILDDATE=${{ env.NOW_DOCKER_LABEL }} - GIT_SHA1=${{ env.GITHUB_SHA1 }} + BUILDDATE=${{ env.NOW_DOCKER }} + GIT_SHA1=${{ env.SHA1 }} ALPINE_VERSION=${{ env.IMAGE_ALPINE_VERSION }} annotations: |- org.opencontainers.image.description=TVApp2 @@ -577,16 +767,16 @@ jobs: org.opencontainers.image.version=${{ env.IMAGE_VERSION }} org.opencontainers.image.licenses=MIT org.opencontainers.image.architecture=arm64 - org.opencontainers.image.revision=${{ github.sha }} + org.opencontainers.image.revision=${{ env.SHA1 }} org.opencontainers.image.vendor=${{ env.REGISTRY_REPO_AUTHOR_LC }} org.opencontainers.image.ref.name=${{ github.ref_name }} org.opencontainers.image.development=${{ inputs.DEV_RELEASE == true && 'true' || 'false' }} org.opencontainers.image.registry=${{ env.IMAGE_REGISTRY }} - org.tvapp2.image.build-version="Version:- ${{ env.IMAGE_VERSION }} Date:- ${{ env.NOW_DOCKER_LABEL }}" + org.tvapp2.image.build-version="Version:- ${{ env.IMAGE_VERSION }} Date:- ${{ env.NOW_DOCKER }}" org.tvapp2.image.build-version-alpine=${{ env.IMAGE_ALPINE_VERSION }} org.tvapp2.image.build-architecture=arm64 org.tvapp2.image.build-release="${{ inputs.DEV_RELEASE == true && 'development' || 'stable' }}" - org.tvapp2.image.build-sha1=${{ env.GITHUB_SHA1 }} + org.tvapp2.image.build-sha1=${{ env.SHA1 }} # # # Release β€Ί Dockerhub β€Ί Export Digest β€Ί Arm64 @@ -621,9 +811,8 @@ jobs: # # - name: '⚠️ Checkpoint' - id: task_release_dh_checkpoint run: | - echo "" + echo "β€Ž" echo "---- [ GITHUB ] ----------------------------------------------------------------------------------------" echo "github.actor.............................. ${{ github.actor }}" echo "github.ref ............................... ${{ github.ref }}" @@ -632,7 +821,7 @@ jobs: echo "github.repository_owner .................. ${{ github.repository_owner }}" echo "github.repository ........................ ${{ github.repository }}" echo "github.sha ............................... ${{ github.sha }}" - echo -e "" + echo "β€Ž" echo "---- [ INPUTS ] ----------------------------------------------------------------------------------------" echo "inputs.IMAGE_NAME ........................ ${{ inputs.IMAGE_NAME }}" echo "inputs.IMAGE_VERSION ..................... ${{ inputs.IMAGE_VERSION }}" @@ -640,38 +829,41 @@ jobs: echo "inputs.IMAGE_DOCKERHUB_USERNAME .......... ${{ inputs.IMAGE_DOCKERHUB_USERNAME }}" echo "inputs.DEV_RELEASE ....................... ${{ inputs.DEV_RELEASE }}" echo "inputs.DRY_RUN ........................... ${{ inputs.DRY_RUN }}" - echo -e "" + echo "β€Ž" echo "---- [ ENV ] -------------------------------------------------------------------------------------------" echo "env.IMAGE_NAME ........................... ${{ env.IMAGE_NAME }}" echo "env.IMAGE_VERSION ........................ ${{ env.IMAGE_VERSION }}" - echo "env.IMAGE_VERSION_1DIGIT ................. ${{ env.IMAGE_VERSION_1DIGIT }}" - echo "env.IMAGE_VERSION_2DIGIT ................. ${{ env.IMAGE_VERSION_2DIGIT }}" + echo "env.PKG_VER_1DIGIT ....................... ${{ env.PKG_VER_1DIGIT }}" + echo "env.PKG_VER_2DIGIT ....................... ${{ env.PKG_VER_2DIGIT }}" echo "env.IMAGE_DOCKERHUB_AUTHOR ............... ${{ env.IMAGE_DOCKERHUB_AUTHOR }}" echo "env.IMAGE_DOCKERHUB_USERNAME ............. ${{ env.IMAGE_DOCKERHUB_USERNAME }}" echo "env.NOW .................................. ${{ env.NOW }}" echo "env.NOW_SHORT ............................ ${{ env.NOW_SHORT }}" echo "env.NOW_LONG ............................. ${{ env.NOW_LONG }}" - echo "env.NOW_DOCKER_LABEL ..................... ${{ env.NOW_DOCKER_LABEL }}" + echo "env.NOW_DOCKER ........................... ${{ env.NOW_DOCKER }}" echo "env.NOW_DOCKER_TS ........................ ${{ env.NOW_DOCKER_TS }}" echo "env.REGISTRY_REPO_ORG_AUTHOR_LC .......... ${{ env.REGISTRY_REPO_ORG_AUTHOR_LC }}" echo "env.REGISTRY_REPO_AUTHOR_LC .............. ${{ env.REGISTRY_REPO_AUTHOR_LC }}" - echo "env.DOCKER_SHA ........................... ${{ env.DOCKER_SHA }}" - echo "env.GITHUB_SHA1 .......................... ${{ env.GITHUB_SHA1 }}" - echo -e "" + echo " SHA 1 (GITHUB_SHA) ...................... ${GITHUB_SHA}" + echo " SHA 2 (github.sha) ...................... ${{ github.sha }}" + echo " SHA 3 (env.SHA1) ........................ ${{ env.SHA1 }}" + echo " SHA 4 (env.SHA1_GH) ..................... ${{ env.SHA1_GH }}" + echo "β€Ž" echo "---- [ DOCKER IMAGES ] ---------------------------------------------------------------------------------" echo "registry ................................. Dockerhub" echo "tags ..................................... ${{ steps.task_release_dh_meta.outputs.tags }}" echo "labels ................................... ${{ steps.task_release_dh_meta.outputs.labels }}" echo "digest ................................... ${{ steps.task_release_dh_push_amd64.outputs.digest }}" - echo -e "" + echo "β€Ž" echo "(release) tags ........................... ${{ steps.task_release_dh_meta.outputs.tags }}" echo "(release) labels ......................... ${{ steps.task_release_dh_meta.outputs.labels }}" - echo -e "" + echo "β€Ž" echo "---- [ DOCKER DIGESTS ] --------------------------------------------------------------------------------" echo "docker image id (amd64) .................. ${{ steps.task_release_dh_push_amd64.outputs.imageid }}" echo "docker digest (amd64) .................... ${{ steps.task_release_dh_push_amd64.outputs.digest }}" echo "docker image id (arm64) .................. ${{ steps.task_release_dh_push_arm64.outputs.imageid }}" echo "docker digest (arm64) .................... ${{ steps.task_release_dh_push_arm64.outputs.digest }}" + echo "β€Ž" # # # Release β€Ί Dockerhub β€Ί Push Manifest @@ -694,7 +886,6 @@ jobs: # # - name: 'πŸ•› Get Weekly Commit List' - id: task_release_set_weekly_commit_list run: | echo 'WEEKLY_COMMITS<> $GITHUB_ENV git log --format="[\`%h\`](${{ github.server_url }}/${{ github.repository }}/commit/%H) %s - %an" --since=7.days >> $GITHUB_ENV @@ -708,12 +899,12 @@ jobs: uses: tsickert/discord-webhook@v7.0.0 if: success() with: - username: 'Io' - avatar-url: 'https://i.imgur.com/8BVDkla.jpg' + username: ${{ env.DISCORD_BOT_NAME }} + avatar-url: ${{ env.DISCORD_BOT_AVATAR }} webhook-url: ${{ secrets.DISCORD_WEBHOOK_CHAN_GITHUB_TVAPP2_RELEASES }} embed-title: "βš™οΈ ${{ github.workflow_ref }}" embed-url: "https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}" - embed-thumbnail-url: 'https://i.imgur.com/zDIzE8T.jpg' + embed-thumbnail-url: ${{ env.DISCORD_BOT_EMBED_THUMBNAIL }} embed-description: | ### πŸ“¦ α²ΌDeploy (Dockerhub) α²Ό${{ job.status == 'success' && 'βœ…' || '❌' }}α²Ό β€Ί `${{ env.IMAGE_NAME }}-${{ env.IMAGE_VERSION }}${{ inputs.DEV_RELEASE == true && '-development' || '' }}` ${{ inputs.DEV_RELEASE == true && '### ⚠️⚠️ Development / Pre-release ⚠️⚠️' || '' }} @@ -753,4 +944,4 @@ jobs: embed-timestamp: "${{ env.NOW_LONG }}" embed-author-name: "${{ github.repository_owner }}" embed-author-url: "https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}" - embed-author-icon-url: "https://avatars.githubusercontent.com/u/200161462" + embed-author-icon-url: ${{ env.DISCORD_BOT_EMBED_AUTHOR_ICON }} diff --git a/.github/workflows/deploy-docker-gitea.yml b/.github/workflows/deploy-docker-gitea.yml index 13fab50b..27ec1ac2 100755 --- a/.github/workflows/deploy-docker-gitea.yml +++ b/.github/workflows/deploy-docker-gitea.yml @@ -135,7 +135,7 @@ on: IMAGE_ALPINE_VERSION: description: 'πŸ“€ Alpine Version' required: true - default: '3.21' + default: '3.22' type: string # # @@ -173,18 +173,22 @@ on: # # env: - IMAGE_NAME: ${{ github.event.inputs.IMAGE_NAME || 'tvapp2' }} - IMAGE_VERSION: ${{ github.event.inputs.IMAGE_VERSION || '1.0.0' }} - IMAGE_REGISTRY: ${{ github.event.inputs.IMAGE_VERSION || 'gitea' }} - IMAGE_GITEA_AUTHOR: ${{ github.event.inputs.IMAGE_GITEA_AUTHOR || 'BinaryNinja' }} - IMAGE_GITEA_USERNAME: ${{ github.event.inputs.IMAGE_GITEA_USERNAME || 'BinaryNinja' }} - IMAGE_GITEA_WEBSITE: ${{ github.event.inputs.IMAGE_GITEA_WEBSITE || 'git.binaryninja.net' }} - IMAGE_ALPINE_VERSION: ${{ github.event.inputs.IMAGE_ALPINE_VERSION || '3.21' }} + IMAGE_NAME: ${{ github.event.inputs.IMAGE_NAME || 'tvapp2' }} + IMAGE_VERSION: ${{ github.event.inputs.IMAGE_VERSION || '1.0.0' }} + IMAGE_REGISTRY: ${{ github.event.inputs.IMAGE_VERSION || 'gitea' }} + IMAGE_GITEA_AUTHOR: ${{ github.event.inputs.IMAGE_GITEA_AUTHOR || 'BinaryNinja' }} + IMAGE_GITEA_USERNAME: ${{ github.event.inputs.IMAGE_GITEA_USERNAME || 'BinaryNinja' }} + IMAGE_GITEA_WEBSITE: ${{ github.event.inputs.IMAGE_GITEA_WEBSITE || 'git.binaryninja.net' }} + IMAGE_ALPINE_VERSION: ${{ github.event.inputs.IMAGE_ALPINE_VERSION || '3.22' }} + DISCORD_BOT_NAME: 'Europa' + DISCORD_BOT_AVATAR: 'https://i.imgur.com/UqwMom1.jpeg' + DISCORD_BOT_EMBED_AUTHOR_ICON: 'https://avatars.githubusercontent.com/u/200161462' + DISCORD_BOT_EMBED_THUMBNAIL: 'https://avatars.githubusercontent.com/u/200161462' - BOT_NAME_1: EuropaServ - BOT_NAME_2: BinaryServ - BOT_NAME_DEPENDABOT: dependabot[bot] - BOT_NAME_RENOVATE: renovate[bot] + BOT_NAME_1: EuropaServ + BOT_NAME_2: BinaryServ + BOT_NAME_DEPENDABOT: dependabot[bot] + BOT_NAME_RENOVATE: renovate[bot] # # # Jobs @@ -213,25 +217,124 @@ jobs: id-token: write steps: - # # - # Release β€Ί Tags β€Ί Start - # # - - - name: '🏳️ Start' - id: task_release_tags_start - run: | - echo "Creating Tag" - # # # Release β€Ί Tags β€Ί Checkout # # - - name: 'βœ… Checkout' - id: task_release_tags_checkout + - name: 'β˜‘οΈ Checkout' uses: actions/checkout@v4 with: fetch-depth: 0 + # # + # Release β€Ί Tags β€Ί Job Information + # # + + - name: >- + πŸ”„ Load Job + uses: qoomon/actions--context@v4 + id: 'context' + + # # + # Release β€Ί Tags β€Ί Start + # # + + - name: >- + βœ… Start + run: | + echo "β€Ž" + echo "―――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――" + echo " Starting Job ${{ steps.context.outputs.job_name }}" + echo "―――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――" + + YEAR="$(date +'%Y')" + echo "YEAR=${YEAR}" >> $GITHUB_ENV + + NOW="$(date +'%m-%d-%Y %H:%M:%S')" # 02-25-2025 12:49:48 + echo "NOW=${NOW}" >> $GITHUB_ENV + + NOW_SHORT="$(date +'%m-%d-%Y')" # 02-25-2025 + echo "NOW_SHORT=${NOW_SHORT}" >> $GITHUB_ENV + + NOW_LONG="$(date +'%m-%d-%Y %H:%M')" # 02-25-2025 12:49 + echo "NOW_LONG=${NOW_LONG}" >> $GITHUB_ENV + + NOW_DOCKER="$(date +'%Y%m%d')" # 20250225 + echo "NOW_DOCKER=${NOW_DOCKER}" >> $GITHUB_ENV + + NOW_DOCKER_TS="$(date -u +'%FT%T.%3NZ')" # 2025-02-25T12:50:11.569Z + echo "NOW_DOCKER_TS=${NOW_DOCKER_TS}" >> $GITHUB_ENV + + SHA1="$(git rev-parse HEAD)" # 71fad013cfce9116ec62779e4a7e627fe4c33627 + echo "SHA1=${SHA1}" >> $GITHUB_ENV + + SHA1_GH="$(echo ${GITHUB_SHA})" # 71fad013cfce9116ec62779e4a7e627fe4c33627 + echo "SHA1_GH=${SHA1_GH}" >> $GITHUB_ENV + + PKG_VER_1DIGIT="$(echo ${{ env.IMAGE_VERSION }} | cut -d '.' -f1-1)" # 3.22 > 3 + echo "PKG_VER_1DIGIT=${PKG_VER_1DIGIT}" >> $GITHUB_ENV + + PKG_VER_2DIGIT="$(echo ${{ env.IMAGE_VERSION }} | cut -f2 -d ":" | cut -c1-3)" # 3.22 > 3.2 + echo "PKG_VER_2DIGIT=${PKG_VER_2DIGIT}" >> $GITHUB_ENV + + echo "―――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――" + echo "β€Ž" + echo "β€Ž" + sudo apt -qq update + sudo apt -qq install tree + echo "β€Ž" + echo "β€Ž" + echo "―――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――" + echo "β€Ž" + echo "β€Ž" + echo " Runner .............. ${{ runner.name }}" + echo " Workflow ............ ${{ github.workflow }} (#${{ github.workflow_ref }})" + echo " Run Number .......... ${{ github.run_number }}" + echo " Ref ................. ${{ github.ref }}" + echo " Ref Name ............ ${{ github.ref_name }}" + echo " Event Name .......... ${{ github.event_name }}" + echo " Repo ................ ${{ github.repository }}" + echo " Repo Owner .......... ${{ github.repository_owner }}" + echo " Run ID .............. https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}" + echo " Triggered By ........ ${{ github.actor }}" + echo " SHA 1 (GITHUB_SHA) .. ${GITHUB_SHA}" + echo " SHA 2 (env.SHA1) .. ${{ env.SHA1 }}" + echo " SHA 3 (env.SHA1) .... ${SHA1}" + echo " SHA 4 (env.SHA1_GH) . ${SHA1_GH}" + echo " Workspace ........... ${{ github.workspace }}" + echo " PWD ................. ${PWD}" + echo " Job Name ............ ${{ steps.context.outputs.job_name }}" + echo " Job ID .............. ${{ steps.context.outputs.job_id }}" + echo " Job URL ............. ${{ steps.context.outputs.job_url }}" + echo " Run ID .............. ${{ steps.context.outputs.run_id }}" + echo " Run Attempt ......... ${{ steps.context.outputs.run_attempt }}" + echo " Run Number .......... ${{ steps.context.outputs.run_number }}" + echo " Run URL ............. ${{ steps.context.outputs.run_url }}" + echo " Run Env ............. ${{ steps.context.outputs.environment }}" + echo " Run Env URL ......... ${{ steps.context.outputs.environment_url }}" + echo " Run Deployment ...... ${{ steps.context.outputs.deployment_id }}" + echo " Run Deployment URL .. ${{ steps.context.outputs.deployment_url }}" + echo " Run Deployment ...... ${{ steps.context.outputs.deployment_id }}" + echo " Run Runner Name ..... ${{ steps.context.outputs.runner_name }}" + echo " Run Runner ID ....... ${{ steps.context.outputs.runner_id }}" + echo " Year ................ ${YEAR}" + echo " Now ................. ${NOW}" + echo " Now (Short) ......... ${NOW_SHORT}" + echo " Now (Long) .......... ${NOW_LONG}" + echo " Now (Docker) ........ ${NOW_DOCKER}" + echo " Now (Docker TS) ..... ${NOW_DOCKER_TS}" + echo "β€Ž" + echo "β€Ž" + echo "―――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――" + echo "β€Ž" + echo "β€Ž" + tree -I node_modules -I .git + echo "β€Ž" + echo "β€Ž" + echo "―――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――" + echo "β€Ž" + echo "β€Ž" + # # # Release β€Ί Tags β€Ί Fix Permissions # # @@ -285,50 +388,139 @@ jobs: needs: [ job-docker-release-tags-create ] steps: - # # - # Release β€Ί Gitea β€Ί Start β€Ί Amd64 - # # - - - name: '🏳️ Start' - id: task_release_gi_start - run: | - echo "Starting Gitea docker release" - # # # Release β€Ί Gitea β€Ί Checkout # # - - name: 'βœ… Checkout' - id: task_release_gh_checkout + - name: 'β˜‘οΈ Checkout' uses: actions/checkout@v4 with: fetch-depth: 0 # # - # Release β€Ί Gitea β€Ί Get Timestamp + # Release β€Ί Gitea β€Ί Job Information # # - - name: 'πŸ•› Get Timestamp' + - name: >- + πŸ”„ Load Job + uses: qoomon/actions--context@v4 + id: 'context' + + # # + # Release β€Ί Gitea β€Ί Start + # # + + - name: >- + βœ… Start + run: | + echo "β€Ž" + echo "―――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――" + echo " Starting Job ${{ steps.context.outputs.job_name }}" + echo "―――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――" + + YEAR="$(date +'%Y')" + echo "YEAR=${YEAR}" >> $GITHUB_ENV + + NOW="$(date +'%m-%d-%Y %H:%M:%S')" # 02-25-2025 12:49:48 + echo "NOW=${NOW}" >> $GITHUB_ENV + + NOW_SHORT="$(date +'%m-%d-%Y')" # 02-25-2025 + echo "NOW_SHORT=${NOW_SHORT}" >> $GITHUB_ENV + + NOW_LONG="$(date +'%m-%d-%Y %H:%M')" # 02-25-2025 12:49 + echo "NOW_LONG=${NOW_LONG}" >> $GITHUB_ENV + + NOW_DOCKER="$(date +'%Y%m%d')" # 20250225 + echo "NOW_DOCKER=${NOW_DOCKER}" >> $GITHUB_ENV + + NOW_DOCKER_TS="$(date -u +'%FT%T.%3NZ')" # 2025-02-25T12:50:11.569Z + echo "NOW_DOCKER_TS=${NOW_DOCKER_TS}" >> $GITHUB_ENV + + SHA1="$(git rev-parse HEAD)" # 71fad013cfce9116ec62779e4a7e627fe4c33627 + echo "SHA1=${SHA1}" >> $GITHUB_ENV + + SHA1_GH="$(echo ${GITHUB_SHA})" # 71fad013cfce9116ec62779e4a7e627fe4c33627 + echo "SHA1_GH=${SHA1_GH}" >> $GITHUB_ENV + + PKG_VER_1DIGIT="$(echo ${{ env.IMAGE_VERSION }} | cut -d '.' -f1-1)" # 3.22 > 3 + echo "PKG_VER_1DIGIT=${PKG_VER_1DIGIT}" >> $GITHUB_ENV + + PKG_VER_2DIGIT="$(echo ${{ env.IMAGE_VERSION }} | cut -f2 -d ":" | cut -c1-3)" # 3.22 > 3.2 + echo "PKG_VER_2DIGIT=${PKG_VER_2DIGIT}" >> $GITHUB_ENV + + echo "―――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――" + echo "β€Ž" + echo "β€Ž" + sudo apt -qq update + sudo apt -qq install tree + echo "β€Ž" + echo "β€Ž" + echo "―――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――" + echo "β€Ž" + echo "β€Ž" + echo " Runner .............. ${{ runner.name }}" + echo " Workflow ............ ${{ github.workflow }} (#${{ github.workflow_ref }})" + echo " Run Number .......... ${{ github.run_number }}" + echo " Ref ................. ${{ github.ref }}" + echo " Ref Name ............ ${{ github.ref_name }}" + echo " Event Name .......... ${{ github.event_name }}" + echo " Repo ................ ${{ github.repository }}" + echo " Repo Owner .......... ${{ github.repository_owner }}" + echo " Run ID .............. https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}" + echo " Triggered By ........ ${{ github.actor }}" + echo " SHA 1 (GITHUB_SHA) .. ${GITHUB_SHA}" + echo " SHA 2 (env.SHA1) .. ${{ env.SHA1 }}" + echo " SHA 3 (env.SHA1) .... ${SHA1}" + echo " SHA 4 (env.SHA1_GH) . ${SHA1_GH}" + echo " Workspace ........... ${{ github.workspace }}" + echo " PWD ................. ${PWD}" + echo " Job Name ............ ${{ steps.context.outputs.job_name }}" + echo " Job ID .............. ${{ steps.context.outputs.job_id }}" + echo " Job URL ............. ${{ steps.context.outputs.job_url }}" + echo " Run ID .............. ${{ steps.context.outputs.run_id }}" + echo " Run Attempt ......... ${{ steps.context.outputs.run_attempt }}" + echo " Run Number .......... ${{ steps.context.outputs.run_number }}" + echo " Run URL ............. ${{ steps.context.outputs.run_url }}" + echo " Run Env ............. ${{ steps.context.outputs.environment }}" + echo " Run Env URL ......... ${{ steps.context.outputs.environment_url }}" + echo " Run Deployment ...... ${{ steps.context.outputs.deployment_id }}" + echo " Run Deployment URL .. ${{ steps.context.outputs.deployment_url }}" + echo " Run Deployment ...... ${{ steps.context.outputs.deployment_id }}" + echo " Run Runner Name ..... ${{ steps.context.outputs.runner_name }}" + echo " Run Runner ID ....... ${{ steps.context.outputs.runner_id }}" + echo " Year ................ ${YEAR}" + echo " Now ................. ${NOW}" + echo " Now (Short) ......... ${NOW_SHORT}" + echo " Now (Long) .......... ${NOW_LONG}" + echo " Now (Docker) ........ ${NOW_DOCKER}" + echo " Now (Docker TS) ..... ${NOW_DOCKER_TS}" + echo "β€Ž" + echo "β€Ž" + echo "―――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――" + echo "β€Ž" + echo "β€Ž" + tree -I node_modules -I .git + echo "β€Ž" + echo "β€Ž" + echo "―――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――" + echo "β€Ž" + echo "β€Ž" + + # # + # Release β€Ί Gitea β€Ί Set Vars + # # + + - name: 'πŸ•› Set Vars' id: task_release_set_timestamp run: | - echo "IMAGE_VERSION_1DIGIT=`echo ${{ env.IMAGE_VERSION }} | cut -d '.' -f1-1`" >> ${GITHUB_ENV} # 1 - echo "IMAGE_VERSION_2DIGIT=`echo ${{ env.IMAGE_VERSION }} | cut -d '.' -f1-2`" >> ${GITHUB_ENV} # 1.0 echo "REGISTRY_REPO_ORG_AUTHOR_LC=`echo ${{ env.IMAGE_GITEA_AUTHOR }}/${{ env.IMAGE_NAME }} | tr '[:upper:]' '[:lower:]'`" >> ${GITHUB_ENV} # thebinaryninja/tvapp2 echo "REGISTRY_REPO_AUTHOR_LC=`echo ${{ env.IMAGE_GITEA_AUTHOR }} | tr '[:upper:]' '[:lower:]'`" >> ${GITHUB_ENV} # thebinaryninja - echo "DOCKER_SHA=${GITHUB_SHA}" >> $GITHUB_ENV # 71fad013cfce9116ec62779e4a7e627fe4c33627 - echo "NOW=$(date +'%m-%d-%Y %H:%M:%S')" >> $GITHUB_ENV # 02-25-2025 12:49:48 - echo "NOW_SHORT=$(date +'%m-%d-%Y')" >> $GITHUB_ENV # 02-25-2025 - echo "NOW_LONG=$(date +'%m-%d-%Y %H:%M')" >> $GITHUB_ENV # 02-25-2025 12:49 - echo "NOW_DOCKER_LABEL=$(date +'%Y%m%d')" >> $GITHUB_ENV # 20250225 - echo "NOW_DOCKER_TS=$(date -u +'%FT%T.%3NZ')" >> $GITHUB_ENV # 2025-02-25T12:50:11.569Z - echo "GITHUB_SHA1=$(git rev-parse HEAD)" >> $GITHUB_ENV # 012cd0cc44c576c4a57b8a18d86793f244d1080a # # # Release β€Ί Gitea β€Ί Install Dependencies # # - name: 'πŸ“¦ Install Dependencies' - id: task_release_gi_dependencies run: sudo apt-get install -qq dos2unix @@ -337,7 +529,6 @@ jobs: # # - name: 'πŸ” Apply dos2unix' - id: task_release_gi_dos2unix run: | echo "⚠️⚠️⚠️ Running DOS2UNIX ⚠️⚠️⚠️" find ./ \( -path "./.git" -o -path "./docs" -o -path "./.github" -o -path "*.png" -o -path "*.jpg" \) -prune -o -name '*' -print | xargs dos2unix -- @@ -348,7 +539,6 @@ jobs: # # - name: '#️⃣ Manage Permissions' - id: task_release_gi_permissions run: | find ./ -name 'run' -exec chmod 755 {} \; WRONG_PERM=$(find ./ -path "./.git" -prune -o \( -name "run" -o -name "finish" -o -name "check" \) -not -perm -u=x,g=x,o=x -print) @@ -445,10 +635,10 @@ jobs: type=raw,enable=${{ github.event_name == 'workflow_dispatch' && inputs.DEV_RELEASE == false }},priority=450,prefix=,suffix=,value=${{ env.IMAGE_VERSION }} # tag add 1.0 ( dispatch only + no dev ) - type=raw,enable=${{ github.event_name == 'workflow_dispatch' && inputs.DEV_RELEASE == false }},priority=425,prefix=,suffix=,value=${{ env.IMAGE_VERSION_2DIGIT }} + type=raw,enable=${{ github.event_name == 'workflow_dispatch' && inputs.DEV_RELEASE == false }},priority=425,prefix=,suffix=,value=${{ env.PKG_VER_2DIGIT }} # tag add 1 ( dispatch only + no dev ) - type=raw,enable=${{ github.event_name == 'workflow_dispatch' && inputs.DEV_RELEASE == false }},priority=400,prefix=,suffix=,value=${{ env.IMAGE_VERSION_1DIGIT }} + type=raw,enable=${{ github.event_name == 'workflow_dispatch' && inputs.DEV_RELEASE == false }},priority=400,prefix=,suffix=,value=${{ env.PKG_VER_1DIGIT }} # dispatch add development-amd64 ( dispatch only + only dev ) type=raw,enable=${{ github.event_name == 'workflow_dispatch' && inputs.DEV_RELEASE == true }},priority=300,prefix=development-,suffix=,value=amd64 @@ -462,29 +652,29 @@ jobs: org.opencontainers.image.created=${{ env.NOW_DOCKER_TS }} org.opencontainers.image.version=${{ env.IMAGE_VERSION }} org.opencontainers.image.licenses=MIT - org.opencontainers.image.revision=${{ github.sha }} + org.opencontainers.image.revision=${{ env.SHA1 }} org.opencontainers.image.vendor=${{ env.REGISTRY_REPO_AUTHOR_LC }} org.opencontainers.image.ref.name=${{ github.ref_name }} org.opencontainers.image.development=${{ inputs.DEV_RELEASE == true && 'true' || 'false' }} org.opencontainers.image.registry=${{ env.IMAGE_REGISTRY }} - org.tvapp2.image.build-version="Version:- ${{ env.IMAGE_VERSION }} Date:- ${{ env.NOW_DOCKER_LABEL }}" + org.tvapp2.image.build-version="Version:- ${{ env.IMAGE_VERSION }} Date:- ${{ env.NOW_DOCKER }}" org.tvapp2.image.build-version-alpine=${{ env.IMAGE_ALPINE_VERSION }} org.tvapp2.image.build-release="${{ inputs.DEV_RELEASE == true && 'development' || 'stable' }}" - org.tvapp2.image.build-sha1=${{ env.GITHUB_SHA1 }} + org.tvapp2.image.build-sha1=${{ env.SHA1 }} annotations: |- org.opencontainers.image.description=TVApp2 org.opencontainers.image.created=${{ env.NOW_DOCKER_TS }} org.opencontainers.image.version=${{ env.IMAGE_VERSION }} org.opencontainers.image.licenses=MIT - org.opencontainers.image.revision=${{ github.sha }} + org.opencontainers.image.revision=${{ env.SHA1 }} org.opencontainers.image.vendor=${{ env.REGISTRY_REPO_AUTHOR_LC }} org.opencontainers.image.ref.name=${{ github.ref_name }} org.opencontainers.image.development=${{ inputs.DEV_RELEASE == true && 'true' || 'false' }} org.opencontainers.image.registry=${{ env.IMAGE_REGISTRY }} - org.tvapp2.image.build-version="Version:- ${{ env.IMAGE_VERSION }} Date:- ${{ env.NOW_DOCKER_LABEL }}" + org.tvapp2.image.build-version="Version:- ${{ env.IMAGE_VERSION }} Date:- ${{ env.NOW_DOCKER }}" org.tvapp2.image.build-version-alpine=${{ env.IMAGE_ALPINE_VERSION }} org.tvapp2.image.build-release="${{ inputs.DEV_RELEASE == true && 'development' || 'stable' }}" - org.tvapp2.image.build-sha1=${{ env.GITHUB_SHA1 }} + org.tvapp2.image.build-sha1=${{ env.SHA1 }} # # # Release β€Ί Gitea β€Ί Meta β€Ί arm64 @@ -518,29 +708,29 @@ jobs: org.opencontainers.image.created=${{ env.NOW_DOCKER_TS }} org.opencontainers.image.version=${{ env.IMAGE_VERSION }} org.opencontainers.image.licenses=MIT - org.opencontainers.image.revision=${{ github.sha }} + org.opencontainers.image.revision=${{ env.SHA1 }} org.opencontainers.image.vendor=${{ env.REGISTRY_REPO_AUTHOR_LC }} org.opencontainers.image.ref.name=${{ github.ref_name }} org.opencontainers.image.development=${{ inputs.DEV_RELEASE == true && 'true' || 'false' }} org.opencontainers.image.registry=${{ env.IMAGE_REGISTRY }} - org.tvapp2.image.build-version="Version:- ${{ env.IMAGE_VERSION }} Date:- ${{ env.NOW_DOCKER_LABEL }}" + org.tvapp2.image.build-version="Version:- ${{ env.IMAGE_VERSION }} Date:- ${{ env.NOW_DOCKER }}" org.tvapp2.image.build-version-alpine=${{ env.IMAGE_ALPINE_VERSION }} org.tvapp2.image.build-release="${{ inputs.DEV_RELEASE == true && 'development' || 'stable' }}" - org.tvapp2.image.build-sha1=${{ env.GITHUB_SHA1 }} + org.tvapp2.image.build-sha1=${{ env.SHA1 }} annotations: |- org.opencontainers.image.description=TVApp2 org.opencontainers.image.created=${{ env.NOW_DOCKER_TS }} org.opencontainers.image.version=${{ env.IMAGE_VERSION }} org.opencontainers.image.licenses=MIT - org.opencontainers.image.revision=${{ github.sha }} + org.opencontainers.image.revision=${{ env.SHA1 }} org.opencontainers.image.vendor=${{ env.REGISTRY_REPO_AUTHOR_LC }} org.opencontainers.image.ref.name=${{ github.ref_name }} org.opencontainers.image.development=${{ inputs.DEV_RELEASE == true && 'true' || 'false' }} org.opencontainers.image.registry=${{ env.IMAGE_REGISTRY }} - org.tvapp2.image.build-version="Version:- ${{ env.IMAGE_VERSION }} Date:- ${{ env.NOW_DOCKER_LABEL }}" + org.tvapp2.image.build-version="Version:- ${{ env.IMAGE_VERSION }} Date:- ${{ env.NOW_DOCKER }}" org.tvapp2.image.build-version-alpine=${{ env.IMAGE_ALPINE_VERSION }} org.tvapp2.image.build-release="${{ inputs.DEV_RELEASE == true && 'development' || 'stable' }}" - org.tvapp2.image.build-sha1=${{ env.GITHUB_SHA1 }} + org.tvapp2.image.build-sha1=${{ env.SHA1 }} # # # Release β€Ί Gitea β€Ί Meta β€Ί Release @@ -569,10 +759,10 @@ jobs: type=raw,enable=${{ github.event_name == 'workflow_dispatch' && inputs.DEV_RELEASE == false }},priority=450,prefix=,suffix=,value=${{ env.IMAGE_VERSION }} # tag add 1.0 ( dispatch only + no dev ) - type=raw,enable=${{ github.event_name == 'workflow_dispatch' && inputs.DEV_RELEASE == false }},priority=425,prefix=,suffix=,value=${{ env.IMAGE_VERSION_2DIGIT }} + type=raw,enable=${{ github.event_name == 'workflow_dispatch' && inputs.DEV_RELEASE == false }},priority=425,prefix=,suffix=,value=${{ env.PKG_VER_2DIGIT }} # tag add 1 ( dispatch only + no dev ) - type=raw,enable=${{ github.event_name == 'workflow_dispatch' && inputs.DEV_RELEASE == false }},priority=400,prefix=,suffix=,value=${{ env.IMAGE_VERSION_1DIGIT }} + type=raw,enable=${{ github.event_name == 'workflow_dispatch' && inputs.DEV_RELEASE == false }},priority=400,prefix=,suffix=,value=${{ env.PKG_VER_1DIGIT }} # tag add development ( dispatch only + only dev ) type=raw,enable=${{ github.event_name == 'workflow_dispatch' && inputs.DEV_RELEASE == true }},priority=300,prefix=,suffix=,value=development @@ -586,29 +776,29 @@ jobs: org.opencontainers.image.created=${{ env.NOW_DOCKER_TS }} org.opencontainers.image.version=${{ env.IMAGE_VERSION }} org.opencontainers.image.licenses=MIT - org.opencontainers.image.revision=${{ github.sha }} + org.opencontainers.image.revision=${{ env.SHA1 }} org.opencontainers.image.vendor=${{ env.REGISTRY_REPO_AUTHOR_LC }} org.opencontainers.image.ref.name=${{ github.ref_name }} org.opencontainers.image.development=${{ inputs.DEV_RELEASE == true && 'true' || 'false' }} org.opencontainers.image.registry=${{ env.IMAGE_REGISTRY }} - org.tvapp2.image.build-version="Version:- ${{ env.IMAGE_VERSION }} Date:- ${{ env.NOW_DOCKER_LABEL }}" + org.tvapp2.image.build-version="Version:- ${{ env.IMAGE_VERSION }} Date:- ${{ env.NOW_DOCKER }}" org.tvapp2.image.build-version-alpine=${{ env.IMAGE_ALPINE_VERSION }} org.tvapp2.image.build-release="${{ inputs.DEV_RELEASE == true && 'development' || 'stable' }}" - org.tvapp2.image.build-sha1=${{ env.GITHUB_SHA1 }} + org.tvapp2.image.build-sha1=${{ env.SHA1 }} annotations: |- org.opencontainers.image.description=TVApp2 org.opencontainers.image.created=${{ env.NOW_DOCKER_TS }} org.opencontainers.image.version=${{ env.IMAGE_VERSION }} org.opencontainers.image.licenses=MIT - org.opencontainers.image.revision=${{ github.sha }} + org.opencontainers.image.revision=${{ env.SHA1 }} org.opencontainers.image.vendor=${{ env.REGISTRY_REPO_AUTHOR_LC }} org.opencontainers.image.ref.name=${{ github.ref_name }} org.opencontainers.image.development=${{ inputs.DEV_RELEASE == true && 'true' || 'false' }} org.opencontainers.image.registry=${{ env.IMAGE_REGISTRY }} - org.tvapp2.image.build-version="Version:- ${{ env.IMAGE_VERSION }} Date:- ${{ env.NOW_DOCKER_LABEL }}" + org.tvapp2.image.build-version="Version:- ${{ env.IMAGE_VERSION }} Date:- ${{ env.NOW_DOCKER }}" org.tvapp2.image.build-version-alpine=${{ env.IMAGE_ALPINE_VERSION }} org.tvapp2.image.build-release="${{ inputs.DEV_RELEASE == true && 'development' || 'stable' }}" - org.tvapp2.image.build-sha1=${{ env.GITHUB_SHA1 }} + org.tvapp2.image.build-sha1=${{ env.SHA1 }} # # # Release β€Ί Gitea β€Ί Build and Push β€Ί Amd64 @@ -635,8 +825,8 @@ jobs: ARCH=amd64 RELEASE=${{ inputs.DEV_RELEASE == true && 'development' || 'stable' }} VERSION=${{ env.IMAGE_VERSION }} - BUILDDATE=${{ env.NOW_DOCKER_LABEL }} - GIT_SHA1=${{ env.GITHUB_SHA1 }} + BUILDDATE=${{ env.NOW_DOCKER }} + GIT_SHA1=${{ env.SHA1 }} ALPINE_VERSION=${{ env.IMAGE_ALPINE_VERSION }} annotations: |- org.opencontainers.image.description=TVApp2 @@ -644,16 +834,16 @@ jobs: org.opencontainers.image.version=${{ env.IMAGE_VERSION }} org.opencontainers.image.licenses=MIT org.opencontainers.image.architecture=amd64 - org.opencontainers.image.revision=${{ github.sha }} + org.opencontainers.image.revision=${{ env.SHA1 }} org.opencontainers.image.vendor=${{ env.REGISTRY_REPO_AUTHOR_LC }} org.opencontainers.image.ref.name=${{ github.ref_name }} org.opencontainers.image.development=${{ inputs.DEV_RELEASE == true && 'true' || 'false' }} org.opencontainers.image.registry=${{ env.IMAGE_REGISTRY }} - org.tvapp2.image.build-version="Version:- ${{ env.IMAGE_VERSION }} Date:- ${{ env.NOW_DOCKER_LABEL }}" + org.tvapp2.image.build-version="Version:- ${{ env.IMAGE_VERSION }} Date:- ${{ env.NOW_DOCKER }}" org.tvapp2.image.build-version-alpine=${{ env.IMAGE_ALPINE_VERSION }} org.tvapp2.image.build-architecture=amd64 org.tvapp2.image.build-release="${{ inputs.DEV_RELEASE == true && 'development' || 'stable' }}" - org.tvapp2.image.build-sha1=${{ env.GITHUB_SHA1 }} + org.tvapp2.image.build-sha1=${{ env.SHA1 }} # # # Release β€Ί Gitea β€Ί Export Digest β€Ί Amd64 @@ -708,8 +898,8 @@ jobs: ARCH=arm64 RELEASE=${{ inputs.DEV_RELEASE == true && 'development' || 'stable' }} VERSION=${{ env.IMAGE_VERSION }} - BUILDDATE=${{ env.NOW_DOCKER_LABEL }} - GIT_SHA1=${{ env.GITHUB_SHA1 }} + BUILDDATE=${{ env.NOW_DOCKER }} + GIT_SHA1=${{ env.SHA1 }} ALPINE_VERSION=${{ env.IMAGE_ALPINE_VERSION }} annotations: |- org.opencontainers.image.description=TVApp2 @@ -717,16 +907,16 @@ jobs: org.opencontainers.image.version=${{ env.IMAGE_VERSION }} org.opencontainers.image.licenses=MIT org.opencontainers.image.architecture=arm64 - org.opencontainers.image.revision=${{ github.sha }} + org.opencontainers.image.revision=${{ env.SHA1 }} org.opencontainers.image.vendor=${{ env.REGISTRY_REPO_AUTHOR_LC }} org.opencontainers.image.ref.name=${{ github.ref_name }} org.opencontainers.image.development=${{ inputs.DEV_RELEASE == true && 'true' || 'false' }} org.opencontainers.image.registry=${{ env.IMAGE_REGISTRY }} - org.tvapp2.image.build-version="Version:- ${{ env.IMAGE_VERSION }} Date:- ${{ env.NOW_DOCKER_LABEL }}" + org.tvapp2.image.build-version="Version:- ${{ env.IMAGE_VERSION }} Date:- ${{ env.NOW_DOCKER }}" org.tvapp2.image.build-version-alpine=${{ env.IMAGE_ALPINE_VERSION }} org.tvapp2.image.build-architecture=arm64 org.tvapp2.image.build-release="${{ inputs.DEV_RELEASE == true && 'development' || 'stable' }}" - org.tvapp2.image.build-sha1=${{ env.GITHUB_SHA1 }} + org.tvapp2.image.build-sha1=${{ env.SHA1 }} # # # Release β€Ί Gitea β€Ί Export Digest β€Ί Arm64 @@ -761,9 +951,8 @@ jobs: # # - name: '⚠️ Checkpoint' - id: task_release_gi_checkpoint run: | - echo "" + echo "β€Ž" echo "---- [ GITHUB ] ----------------------------------------------------------------------------------------" echo "github.actor.............................. ${{ github.actor }}" echo "github.ref ............................... ${{ github.ref }}" @@ -772,7 +961,7 @@ jobs: echo "github.repository_owner .................. ${{ github.repository_owner }}" echo "github.repository ........................ ${{ github.repository }}" echo "github.sha ............................... ${{ github.sha }}" - echo -e "" + echo "β€Ž" echo "---- [ INPUTS ] ----------------------------------------------------------------------------------------" echo "inputs.IMAGE_NAME ........................ ${{ inputs.IMAGE_NAME }}" echo "inputs.IMAGE_VERSION ..................... ${{ inputs.IMAGE_VERSION }}" @@ -781,43 +970,46 @@ jobs: echo "inputs.IMAGE_GITEA_WEBSITE ............... ${{ inputs.IMAGE_GITEA_WEBSITE }}" echo "inputs.DEV_RELEASE ....................... ${{ inputs.DEV_RELEASE }}" echo "inputs.DRY_RUN ........................... ${{ inputs.DRY_RUN }}" - echo -e "" + echo "β€Ž" echo "---- [ ENV ] -------------------------------------------------------------------------------------------" echo "env.IMAGE_NAME ........................... ${{ env.IMAGE_NAME }}" echo "env.IMAGE_VERSION ........................ ${{ env.IMAGE_VERSION }}" - echo "env.IMAGE_VERSION_1DIGIT ................. ${{ env.IMAGE_VERSION_1DIGIT }}" - echo "env.IMAGE_VERSION_2DIGIT ................. ${{ env.IMAGE_VERSION_2DIGIT }}" + echo "env.PKG_VER_1DIGIT ....................... ${{ env.PKG_VER_1DIGIT }}" + echo "env.PKG_VER_2DIGIT ....................... ${{ env.PKG_VER_2DIGIT }}" echo "env.IMAGE_GITEA_AUTHOR ................... ${{ env.IMAGE_GITEA_AUTHOR }}" echo "env.IMAGE_GITEA_USERNAME ................. ${{ env.IMAGE_GITEA_USERNAME }}" echo "env.IMAGE_GITEA_WEBSITE .................. ${{ env.IMAGE_GITEA_WEBSITE }}" echo "env.NOW .................................. ${{ env.NOW }}" echo "env.NOW_SHORT ............................ ${{ env.NOW_SHORT }}" echo "env.NOW_LONG ............................. ${{ env.NOW_LONG }}" - echo "env.NOW_DOCKER_LABEL ..................... ${{ env.NOW_DOCKER_LABEL }}" + echo "env.NOW_DOCKER ........................... ${{ env.NOW_DOCKER }}" echo "env.NOW_DOCKER_TS ........................ ${{ env.NOW_DOCKER_TS }}" echo "env.REGISTRY_REPO_ORG_AUTHOR_LC .......... ${{ env.REGISTRY_REPO_ORG_AUTHOR_LC }}" echo "env.REGISTRY_REPO_AUTHOR_LC .............. ${{ env.REGISTRY_REPO_AUTHOR_LC }}" - echo "env.DOCKER_SHA ........................... ${{ env.DOCKER_SHA }}" - echo "env.GITHUB_SHA1 .......................... ${{ env.GITHUB_SHA1 }}" - echo -e "" + echo " SHA 1 (GITHUB_SHA) ...................... ${GITHUB_SHA}" + echo " SHA 2 (github.sha) ...................... ${{ github.sha }}" + echo " SHA 3 (env.SHA1) ........................ ${{ env.SHA1 }}" + echo " SHA 4 (env.SHA1_GH) ..................... ${{ env.SHA1_GH }}" + echo "β€Ž" echo "---- [ DOCKER IMAGES ] ---------------------------------------------------------------------------------" echo "registry ................................. Gitea" echo "(amd64) tags ............................. ${{ steps.task_release_gi_meta_amd64.outputs.tags }}" echo "(amd64) labels ........................... ${{ steps.task_release_gi_meta_amd64.outputs.labels }}" echo "(amd64) digest ........................... ${{ steps.task_release_gi_push_amd64.outputs.digest }}" - echo "" + echo "β€Ž" echo "(arm64) tags ............................. ${{ steps.task_release_gi_meta_arm64.outputs.tags }}" echo "(arm64) labels ........................... ${{ steps.task_release_gi_meta_arm64.outputs.labels }}" echo "(arm64) digest ........................... ${{ steps.task_release_gi_push_arm64.outputs.digest }}" - echo "" + echo "β€Ž" echo "(release) tags ........................... ${{ steps.task_release_gi_meta_release.outputs.tags }}" echo "(release) labels ......................... ${{ steps.task_release_gi_meta_release.outputs.labels }}" - echo -e "" + echo "β€Ž" echo "---- [ DOCKER DIGESTS ] --------------------------------------------------------------------------------" echo "docker image id (amd64) .................. ${{ steps.task_release_gi_push_amd64.outputs.imageid }}" echo "docker digest (amd64) .................... ${{ steps.task_release_gi_push_amd64.outputs.digest }}" echo "docker image id (arm64) .................. ${{ steps.task_release_gi_push_arm64.outputs.imageid }}" echo "docker digest (arm64) .................... ${{ steps.task_release_gi_push_arm64.outputs.digest }}" + echo "β€Ž" # # # Release β€Ί Gitea β€Ί Push Manifest @@ -827,20 +1019,19 @@ jobs: id: task_release_gi_manifest uses: int128/docker-manifest-create-action@v2 with: - tags: | - ${{ steps.task_release_gi_meta_release.outputs.tags }} - sources: | - ${{ env.IMAGE_GITEA_WEBSITE }}/${{ env.REGISTRY_REPO_ORG_AUTHOR_LC }}@${{ steps.task_release_gi_push_amd64.outputs.digest }} - ${{ env.IMAGE_GITEA_WEBSITE }}/${{ env.REGISTRY_REPO_ORG_AUTHOR_LC }}@${{ steps.task_release_gi_push_arm64.outputs.digest }} - index-annotations: | - ${{ steps.task_release_gi_meta_release.outputs.labels }} + tags: | + ${{ steps.task_release_gi_meta_release.outputs.tags }} + sources: | + ${{ env.IMAGE_GITEA_WEBSITE }}/${{ env.REGISTRY_REPO_ORG_AUTHOR_LC }}@${{ steps.task_release_gi_push_amd64.outputs.digest }} + ${{ env.IMAGE_GITEA_WEBSITE }}/${{ env.REGISTRY_REPO_ORG_AUTHOR_LC }}@${{ steps.task_release_gi_push_arm64.outputs.digest }} + index-annotations: | + ${{ steps.task_release_gi_meta_release.outputs.labels }} # # # Release β€Ί Gitea β€Ί Get Weekly Commits # # - name: 'πŸ•› Get Weekly Commit List' - id: task_release_set_weekly_commit_list run: | echo 'WEEKLY_COMMITS<> $GITHUB_ENV git log --format="[\`%h\`](${{ github.server_url }}/${{ github.repository }}/commit/%H) %s - %an" --since=7.days >> $GITHUB_ENV @@ -854,12 +1045,12 @@ jobs: uses: tsickert/discord-webhook@v7.0.0 if: success() with: - username: 'Io' - avatar-url: 'https://i.imgur.com/8BVDkla.jpg' + username: ${{ env.DISCORD_BOT_NAME }} + avatar-url: ${{ env.DISCORD_BOT_AVATAR }} webhook-url: ${{ secrets.DISCORD_WEBHOOK_CHAN_GITHUB_TVAPP2_RELEASES }} embed-title: "βš™οΈ ${{ github.workflow_ref }}" embed-url: "https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}" - embed-thumbnail-url: 'https://i.imgur.com/zDIzE8T.jpg' + embed-thumbnail-url: ${{ env.DISCORD_BOT_EMBED_THUMBNAIL }} embed-description: | ### πŸ“¦ α²ΌDeploy (Gitea) α²Ό${{ job.status == 'success' && 'βœ…' || '❌' }}α²Ό β€Ί `${{ env.IMAGE_NAME }}-${{ env.IMAGE_VERSION }}${{ inputs.DEV_RELEASE == true && '-development' || '' }}` ${{ inputs.DEV_RELEASE == true && '### ⚠️⚠️ Development / Pre-release ⚠️⚠️' || '' }} @@ -899,4 +1090,4 @@ jobs: embed-timestamp: "${{ env.NOW_LONG }}" embed-author-name: "${{ github.repository_owner }}" embed-author-url: "https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}" - embed-author-icon-url: "https://avatars.githubusercontent.com/u/200161462" + embed-author-icon-url: ${{ env.DISCORD_BOT_EMBED_AUTHOR_ICON }} diff --git a/.github/workflows/deploy-docker-github.yml b/.github/workflows/deploy-docker-github.yml index 1cd69798..8221ae7e 100755 --- a/.github/workflows/deploy-docker-github.yml +++ b/.github/workflows/deploy-docker-github.yml @@ -895,7 +895,7 @@ jobs: webhook-url: ${{ secrets.DISCORD_WEBHOOK_CHAN_GITHUB_TVAPP2_RELEASES }} embed-title: "βš™οΈ ${{ github.workflow_ref }}" embed-url: "https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}" - embed-thumbnail-url: 'https://i.imgur.com/zDIzE8T.jpg' + embed-thumbnail-url: ${{ env.DISCORD_BOT_EMBED_THUMBNAIL }} embed-description: | ### πŸ“¦ α²ΌDeploy (Github) α²Ό${{ job.status == 'success' && 'βœ…' || '❌' }}α²Ό β€Ί `${{ env.IMAGE_NAME }}-${{ env.IMAGE_VERSION }}${{ inputs.DEV_RELEASE == true && '-development' || '' }}` ${{ inputs.DEV_RELEASE == true && '### ⚠️⚠️ Development / Pre-release ⚠️⚠️' || '' }} @@ -935,7 +935,7 @@ jobs: embed-timestamp: "${{ env.NOW_LONG }}" embed-author-name: "${{ github.repository_owner }}" embed-author-url: "https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}" - embed-author-icon-url: "https://avatars.githubusercontent.com/u/200161462" + embed-author-icon-url: ${{ env.DISCORD_BOT_EMBED_AUTHOR_ICON }} # # # Job β€Ί Docker Release β€Ί Cleanup