From ded72bfcf3f8fda4d22cda231c5894e899dbf87a Mon Sep 17 00:00:00 2001 From: Brian Estrada Date: Wed, 10 Jun 2026 19:58:45 +0200 Subject: [PATCH 1/2] chore: remove Slack notifications from deploy/build/test workflows Stop publishing workflow progress and result updates to Slack across the reusable deploy, build, and test workflows. Leaves pr-digest.yml and the rollback Slack job untouched. - Delete component-initialize.yml (its only purpose was opening the Slack thread) - Remove the initialize job from all deploy orchestrators and rewire the test/build/deploy needs and if conditions accordingly - Remove SLACK_APP_TOKEN secrets, slack-message-id inputs/outputs, and all slack-notifier-cli-action steps from the component and deploy workflows - Switch the changelog-cli-action output from slack to console, keeping GitHub releases and PR/JIRA comments BREAKING CHANGE: these reusable workflows no longer declare SLACK_APP_TOKEN or slack-message-id. Caller repos still passing them will fail until updated. --- .github/workflows/component-build.yml | 37 ----------- .github/workflows/component-deploy-v2.yml | 33 ---------- .github/workflows/component-deploy.yml | 33 ---------- .github/workflows/component-initialize.yml | 71 --------------------- .github/workflows/component-test-kotlin.yml | 18 ------ .github/workflows/component-test-python.yml | 19 ------ .github/workflows/deploy-generic-v2.yml | 28 +------- .github/workflows/deploy-generic.yml | 28 +------- .github/workflows/deploy-kotlin-v2.yml | 33 +--------- .github/workflows/deploy-kotlin.yml | 33 +--------- .github/workflows/deploy-python.yml | 21 ------ 11 files changed, 8 insertions(+), 346 deletions(-) delete mode 100644 .github/workflows/component-initialize.yml diff --git a/.github/workflows/component-build.yml b/.github/workflows/component-build.yml index 4187848..8bccb6c 100644 --- a/.github/workflows/component-build.yml +++ b/.github/workflows/component-build.yml @@ -41,10 +41,6 @@ on: required: false type: string description: 'Custom ECR repository name. If not specified, defaults to service-identifier' - slack-message-id: - required: false - type: string - description: 'Existing Slack message ID to update' git-sha: required: false type: string @@ -58,9 +54,6 @@ on: AWS_ACCOUNT_ID: required: true description: 'AWS account id' - SLACK_APP_TOKEN: - required: true - description: 'Slack app token' GHL_USERNAME: required: false description: 'Github Username (Required for Kotlin builds)' @@ -122,16 +115,6 @@ jobs: with: runner-size: ${{ inputs.runner-size }} architecture: arm64 - - name: Update existing slack message - uses: monta-app/slack-notifier-cli-action@main - with: - job-type: "build" - job-status: "progress" - service-name: ${{ inputs.service-name }} - service-emoji: ${{ inputs.service-emoji }} - slack-app-token: ${{ secrets.SLACK_APP_TOKEN }} - slack-channel-id: "C01KL9FUPNK" - slack-message-id: ${{ inputs.slack-message-id }} build: name: Build Multi-Arch needs: setup @@ -250,23 +233,3 @@ jobs: ${BASE_IMAGE}:latest-amd64 \ ${BASE_IMAGE}:latest-arm64 docker manifest push ${BASE_IMAGE}:latest - notify-build-finished: - name: Notify Build Finished - needs: - - setup - - build - - create-manifest - runs-on: linux-arm64 - timeout-minutes: 5 - if: always() - steps: - - name: Publish result message to slack - uses: monta-app/slack-notifier-cli-action@main - with: - job-type: "build" - job-status: ${{ needs.build.result }} - service-name: ${{ inputs.service-name }} - service-emoji: ${{ inputs.service-emoji }} - slack-app-token: ${{ secrets.SLACK_APP_TOKEN }} - slack-channel-id: "C01KL9FUPNK" - slack-message-id: ${{ inputs.slack-message-id }} diff --git a/.github/workflows/component-deploy-v2.yml b/.github/workflows/component-deploy-v2.yml index 02f5a8c..e8d898f 100644 --- a/.github/workflows/component-deploy-v2.yml +++ b/.github/workflows/component-deploy-v2.yml @@ -22,10 +22,6 @@ on: required: true type: string description: 'Docker image tag to deploy' - slack-message-id: - required: false - type: string - description: 'Existing Slack message ID to update' helm-values-path: required: false type: string @@ -56,16 +52,10 @@ on: MANIFEST_REPO_PAT: required: true description: 'GitHub personal access token' - SLACK_APP_TOKEN: - required: true - description: 'Slack app token' ARGOCD_TOKEN: required: false description: 'ArgoCD authentication token (required if auto-sync is enabled)' outputs: - slack-message-id: - description: 'Slack message ID for subsequent updates' - value: ${{ jobs.deploy.outputs.slack-message-id }} stage: description: 'Stage this was deployed to (dev,staging,production)' value: ${{ jobs.deploy.outputs.stage }} @@ -97,7 +87,6 @@ jobs: runs-on: linux-arm64 timeout-minutes: 10 outputs: - slack-message-id: ${{ steps.slack-update.outputs.message-id }} stage: ${{ inputs.stage }} docker-image: ${{ steps.capture-image-info.outputs.docker-image }} previous-image-tag: ${{ steps.capture-image-info.outputs.previous-image-tag }} @@ -106,17 +95,6 @@ jobs: deployment-end-time: ${{ steps.argocd-sync.outputs.deployment-end-time }} deployment-url: ${{ steps.argocd-sync.outputs.deployment-url }} steps: - - name: Update existing slack message - id: slack-update - uses: monta-app/slack-notifier-cli-action@main - with: - job-type: "deploy" - job-status: "progress" - service-name: ${{ inputs.service-name }} - service-emoji: ${{ inputs.service-emoji }} - slack-app-token: ${{ secrets.SLACK_APP_TOKEN }} - slack-channel-id: "C01KL9FUPNK" - slack-message-id: ${{ inputs.slack-message-id }} - name: Check out service repository uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6 with: @@ -262,14 +240,3 @@ jobs: timeout: ${{ inputs.argocd-sync-wait-seconds }} manifest-repo: monta-app/${{ inputs.repository-name || format('service-{0}', inputs.service-identifier) }} github-token: ${{ secrets.MANIFEST_REPO_PAT }} - - name: Publish result message to slack - if: always() - uses: monta-app/slack-notifier-cli-action@main - with: - job-type: "deploy" - job-status: ${{ job.status }} - service-name: ${{ inputs.service-name }} - service-emoji: ${{ inputs.service-emoji }} - slack-app-token: ${{ secrets.SLACK_APP_TOKEN }} - slack-channel-id: "C01KL9FUPNK" - slack-message-id: ${{ inputs.slack-message-id }} diff --git a/.github/workflows/component-deploy.yml b/.github/workflows/component-deploy.yml index c4e8768..a588bcf 100644 --- a/.github/workflows/component-deploy.yml +++ b/.github/workflows/component-deploy.yml @@ -22,10 +22,6 @@ on: required: true type: string description: 'Docker image tag to deploy' - slack-message-id: - required: false - type: string - description: 'Existing Slack message ID to update' argocd-server: required: false type: string @@ -44,16 +40,10 @@ on: MANIFEST_REPO_PAT: required: true description: 'GitHub personal access token' - SLACK_APP_TOKEN: - required: true - description: 'Slack app token' ARGOCD_TOKEN: required: false description: 'ArgoCD authentication token (required if auto-sync is enabled in config.yaml)' outputs: - slack-message-id: - description: 'Slack message ID for subsequent updates' - value: ${{ jobs.deploy.outputs.slack-message-id }} stage: description: 'Stage this was deployed to (dev,staging,production)' value: ${{ jobs.deploy.outputs.stage }} @@ -85,7 +75,6 @@ jobs: runs-on: linux-arm64 timeout-minutes: 20 outputs: - slack-message-id: ${{ steps.slack-update.outputs.message-id }} stage: ${{ inputs.stage }} docker-image: ${{ steps.update-image-tag.outputs.docker-image }} previous-image-tag: ${{ steps.update-image-tag.outputs.previous-image-tag }} @@ -94,17 +83,6 @@ jobs: deployment-end-time: ${{ steps.argocd-sync.outputs.deployment-end-time }} deployment-url: ${{ steps.argocd-sync.outputs.deployment-url }} steps: - - name: Update existing slack message - id: slack-update - uses: monta-app/slack-notifier-cli-action@main - with: - job-type: "deploy" - job-status: "progress" - service-name: ${{ inputs.service-name }} - service-emoji: ${{ inputs.service-emoji }} - slack-app-token: ${{ secrets.SLACK_APP_TOKEN }} - slack-channel-id: "C01KL9FUPNK" - slack-message-id: ${{ inputs.slack-message-id }} - name: Check out manifest repository uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6 with: @@ -224,14 +202,3 @@ jobs: revision: ${{ steps.manifest-sha.outputs.sha }} timeout: ${{ inputs.argocd-sync-wait-seconds }} github-token: ${{ secrets.MANIFEST_REPO_PAT }} - - name: Publish result message to slack - if: always() - uses: monta-app/slack-notifier-cli-action@main - with: - job-type: "deploy" - job-status: ${{ job.status }} - service-name: ${{ inputs.service-name }} - service-emoji: ${{ inputs.service-emoji }} - slack-app-token: ${{ secrets.SLACK_APP_TOKEN }} - slack-channel-id: "C01KL9FUPNK" - slack-message-id: ${{ inputs.slack-message-id }} diff --git a/.github/workflows/component-initialize.yml b/.github/workflows/component-initialize.yml deleted file mode 100644 index 10f0905..0000000 --- a/.github/workflows/component-initialize.yml +++ /dev/null @@ -1,71 +0,0 @@ -name: Initialize - -on: - workflow_call: - inputs: - service-name: - required: true - type: string - description: 'Proper name for your service i.e OCPP Service, Vehicle Service' - service-emoji: - required: true - type: string - description: 'An emoji to identify your service by :)' - secrets: - SLACK_APP_TOKEN: - required: true - description: 'Slack app token' - outputs: - slack-message-id: - description: 'Slack message ID for subsequent updates' - value: ${{ jobs.initialize.outputs.slack-message-id }} - slack-channel-id: - description: 'Slack channel ID for subsequent updates' - value: ${{ jobs.initialize.outputs.slack-channel-id }} - -permissions: - contents: read - -jobs: - initialize: - name: Initialize - runs-on: linux-arm64 - timeout-minutes: 5 - outputs: - slack-message-id: ${{ steps.send-slack-message.outputs.slack-message-id }} - slack-channel-id: ${{ steps.send-slack-message.outputs.slack-channel-id }} - steps: - - name: Enrich event for workflow_dispatch - if: github.event_name == 'workflow_dispatch' - env: - GH_TOKEN: ${{ github.token }} - shell: bash - run: | - # workflow_dispatch events don't include commit info, causing - # null Committer/Message/Change in Slack notifications. - # Fetch HEAD commit info and write a push-compatible event file - # so the slack-notifier-cli can parse it. - gh api "repos/${{ github.repository }}/commits/${{ github.sha }}" \ - --jq '{ - head_commit: { - id: .sha, - message: .commit.message, - author: .commit.author, - committer: .commit.committer - }, - pusher: { - name: (.commit.author.name // "${{ github.triggering_actor }}"), - email: (.commit.author.email // "") - } - }' > "$GITHUB_EVENT_PATH" - - - name: Send slack message - id: send-slack-message - uses: monta-app/slack-notifier-cli-action@main - with: - job-type: "test" - job-status: "progress" - service-name: ${{ inputs.service-name }} - service-emoji: ${{ inputs.service-emoji }} - slack-app-token: ${{ secrets.SLACK_APP_TOKEN }} - slack-channel-id: "C01KL9FUPNK" diff --git a/.github/workflows/component-test-kotlin.yml b/.github/workflows/component-test-kotlin.yml index 100a458..5f7e886 100644 --- a/.github/workflows/component-test-kotlin.yml +++ b/.github/workflows/component-test-kotlin.yml @@ -33,10 +33,6 @@ on: type: string default: "--no-daemon --parallel" description: 'Additional Gradle arguments' - slack-message-id: - required: false - type: string - description: 'Slack message ID from initialization for updates' secrets: GHL_USERNAME: required: true @@ -44,9 +40,6 @@ on: GHL_PASSWORD: required: true description: 'Github Password (Gradle plugin)' - SLACK_APP_TOKEN: - required: true - description: 'Slack app token' permissions: contents: read @@ -100,14 +93,3 @@ jobs: /home/runner/.gradle/daemon/**/daemon-*.out.log retention-days: 2 overwrite: true - - name: Publish result message to slack - uses: monta-app/slack-notifier-cli-action@main - if: always() - with: - job-type: "test" - job-status: ${{ job.status }} - service-name: ${{ inputs.service-name }} - service-emoji: ${{ inputs.service-emoji }} - slack-app-token: ${{ secrets.SLACK_APP_TOKEN }} - slack-channel-id: "C01KL9FUPNK" - slack-message-id: ${{ inputs.slack-message-id }} diff --git a/.github/workflows/component-test-python.yml b/.github/workflows/component-test-python.yml index 6d6cbe6..4816de4 100644 --- a/.github/workflows/component-test-python.yml +++ b/.github/workflows/component-test-python.yml @@ -38,14 +38,7 @@ on: required: false type: string description: 'File path of the docker compose file' - slack-message-id: - required: false - type: string - description: 'Slack message ID from initialization for updates' secrets: - SLACK_APP_TOKEN: - required: true - description: 'Slack app token' TEST_ENV_FILE: required: false description: 'Environment variables for tests in .env format' @@ -118,15 +111,3 @@ jobs: pytest-report.html retention-days: 7 overwrite: true - - - name: Publish result message to slack - uses: monta-app/slack-notifier-cli-action@main - if: always() - with: - job-type: "test" - job-status: ${{ job.status }} - service-name: ${{ inputs.service-name }} - service-emoji: ${{ inputs.service-emoji }} - slack-app-token: ${{ secrets.SLACK_APP_TOKEN }} - slack-channel-id: "C01KL9FUPNK" - slack-message-id: ${{ inputs.slack-message-id }} diff --git a/.github/workflows/deploy-generic-v2.yml b/.github/workflows/deploy-generic-v2.yml index e382f0d..8a435d9 100644 --- a/.github/workflows/deploy-generic-v2.yml +++ b/.github/workflows/deploy-generic-v2.yml @@ -51,10 +51,6 @@ on: required: false type: string description: 'File path of the docker compose file' - slack-message-id: - required: false - type: string - description: 'External Slack message ID to use for notifications (if not provided, initialize step will create one)' helm-values-path: required: false type: string @@ -85,9 +81,6 @@ on: AWS_ACCOUNT_ID: required: true description: 'AWS Account ID for ECR and deployment access' - SLACK_APP_TOKEN: - required: true - description: 'Slack app-level token for workflow notifications' MANIFEST_REPO_PAT: required: true description: 'GitHub PAT to commit/push to kube-manifests repo' @@ -114,9 +107,6 @@ on: description: 'Encryption key for Next.js Server Actions, passed as Docker build secret' outputs: - slack-message-id: - description: 'Slack message ID for deployment notifications' - value: ${{ jobs.deploy.outputs.slack-message-id }} stage: description: 'Stage that was deployed to (dev,staging,production)' value: ${{ jobs.deploy.outputs.stage }} @@ -145,19 +135,8 @@ permissions: actions: read jobs: - initialize: - name: Initialize - if: ${{ inputs.slack-message-id == '' }} - uses: ./.github/workflows/component-initialize.yml - with: - service-name: ${{ inputs.service-name }} - service-emoji: ${{ inputs.service-emoji }} - secrets: - SLACK_APP_TOKEN: ${{ secrets.SLACK_APP_TOKEN }} build: name: Build - needs: initialize - if: ${{ always() && (needs.initialize.result == 'success' || needs.initialize.result == 'skipped') }} uses: ./.github/workflows/component-build.yml with: runner-size: ${{ inputs.runner-size }} @@ -169,12 +148,10 @@ jobs: docker-file-name: ${{ inputs.docker-file-name }} additional-build-args: ${{ inputs.additional-build-args }} ecr-repository-name: ${{ inputs.ecr-repository-name }} - slack-message-id: ${{ inputs.slack-message-id || needs.initialize.outputs.slack-message-id }} git-sha: ${{ inputs.git-sha }} enable-buildkit-cache: ${{ inputs.enable-buildkit-cache }} secrets: AWS_ACCOUNT_ID: ${{ secrets.AWS_ACCOUNT_ID }} - SLACK_APP_TOKEN: ${{ secrets.SLACK_APP_TOKEN }} SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }} FARO_API_KEY: ${{ secrets.FARO_API_KEY }} AWS_CDN_ACCESS_KEY_ID: ${{ secrets.AWS_CDN_ACCESS_KEY_ID }} @@ -184,9 +161,8 @@ jobs: deploy: name: Deploy needs: - - initialize - build - if: ${{ always() && needs.build.result == 'success' && (needs.initialize.result == 'success' || needs.initialize.result == 'skipped') }} + if: ${{ always() && needs.build.result == 'success' }} uses: ./.github/workflows/component-deploy-v2.yml with: service-name: ${{ inputs.service-name }} @@ -194,12 +170,10 @@ jobs: service-identifier: ${{ inputs.service-identifier }} stage: ${{ inputs.stage }} image-tag: ${{ needs.build.outputs.image-tag }} - slack-message-id: ${{ inputs.slack-message-id || needs.initialize.outputs.slack-message-id }} helm-values-path: ${{ inputs.helm-values-path }} repository-name: ${{ inputs.repository-name }} argocd-server: ${{ inputs.argocd-server }} wait-for-argocd-sync: ${{ inputs.wait-for-argocd-sync }} secrets: MANIFEST_REPO_PAT: ${{ secrets.MANIFEST_REPO_PAT }} - SLACK_APP_TOKEN: ${{ secrets.SLACK_APP_TOKEN }} ARGOCD_TOKEN: ${{ secrets.ARGOCD_TOKEN }} diff --git a/.github/workflows/deploy-generic.yml b/.github/workflows/deploy-generic.yml index 7cd599e..968ba10 100644 --- a/.github/workflows/deploy-generic.yml +++ b/.github/workflows/deploy-generic.yml @@ -51,10 +51,6 @@ on: required: false type: string description: 'File path of the docker compose file' - slack-message-id: - required: false - type: string - description: 'External Slack message ID to use for notifications (if not provided, initialize step will create one)' argocd-server: required: false type: string @@ -72,9 +68,6 @@ on: AWS_ACCOUNT_ID: required: true description: 'AWS Account ID for ECR and deployment access' - SLACK_APP_TOKEN: - required: true - description: 'Slack app-level token for workflow notifications' MANIFEST_REPO_PAT: required: true description: 'GitHub PAT to commit/push to kube-manifests repo' @@ -95,9 +88,6 @@ on: description: 'ArgoCD authentication token (required if auto-sync is enabled in config.yaml)' outputs: - slack-message-id: - description: 'Slack message ID for deployment notifications' - value: ${{ jobs.deploy.outputs.slack-message-id }} stage: description: 'Stage that was deployed to (dev,staging,production)' value: ${{ jobs.deploy.outputs.stage }} @@ -126,19 +116,8 @@ permissions: actions: read jobs: - initialize: - name: Initialize - if: ${{ inputs.slack-message-id == '' }} - uses: ./.github/workflows/component-initialize.yml - with: - service-name: ${{ inputs.service-name }} - service-emoji: ${{ inputs.service-emoji }} - secrets: - SLACK_APP_TOKEN: ${{ secrets.SLACK_APP_TOKEN }} build: name: Build - needs: initialize - if: ${{ always() && (needs.initialize.result == 'success' || needs.initialize.result == 'skipped') }} uses: ./.github/workflows/component-build.yml with: runner-size: ${{ inputs.runner-size }} @@ -150,12 +129,10 @@ jobs: docker-file-name: ${{ inputs.docker-file-name }} additional-build-args: ${{ inputs.additional-build-args }} ecr-repository-name: ${{ inputs.ecr-repository-name }} - slack-message-id: ${{ inputs.slack-message-id || needs.initialize.outputs.slack-message-id }} git-sha: ${{ inputs.git-sha }} enable-buildkit-cache: ${{ inputs.enable-buildkit-cache }} secrets: AWS_ACCOUNT_ID: ${{ secrets.AWS_ACCOUNT_ID }} - SLACK_APP_TOKEN: ${{ secrets.SLACK_APP_TOKEN }} SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }} AWS_CDN_ACCESS_KEY_ID: ${{ secrets.AWS_CDN_ACCESS_KEY_ID }} AWS_CDN_SECRET_ACCESS_KEY: ${{ secrets.AWS_CDN_SECRET_ACCESS_KEY }} @@ -163,9 +140,8 @@ jobs: deploy: name: Deploy needs: - - initialize - build - if: ${{ always() && needs.build.result == 'success' && (needs.initialize.result == 'success' || needs.initialize.result == 'skipped') }} + if: ${{ always() && needs.build.result == 'success' }} uses: ./.github/workflows/component-deploy.yml with: service-name: ${{ inputs.service-name }} @@ -173,9 +149,7 @@ jobs: service-identifier: ${{ inputs.service-identifier }} stage: ${{ inputs.stage }} image-tag: ${{ needs.build.outputs.image-tag }} - slack-message-id: ${{ inputs.slack-message-id || needs.initialize.outputs.slack-message-id }} argocd-server: ${{ inputs.argocd-server }} secrets: MANIFEST_REPO_PAT: ${{ secrets.MANIFEST_REPO_PAT }} - SLACK_APP_TOKEN: ${{ secrets.SLACK_APP_TOKEN }} ARGOCD_TOKEN: ${{ secrets.ARGOCD_TOKEN }} diff --git a/.github/workflows/deploy-kotlin-v2.yml b/.github/workflows/deploy-kotlin-v2.yml index b955e05..9c79238 100644 --- a/.github/workflows/deploy-kotlin-v2.yml +++ b/.github/workflows/deploy-kotlin-v2.yml @@ -143,9 +143,6 @@ on: AWS_ACCOUNT_ID: required: true description: 'AWS Account ID for ECR and deployment access' - SLACK_APP_TOKEN: - required: true - description: 'Slack app-level token for workflow notifications' MANIFEST_REPO_PAT: required: true description: 'GitHub PAT to commit/push to service repository' @@ -178,9 +175,6 @@ on: description: 'ArgoCD authentication token for API access' outputs: - slack-message-id: - description: 'Slack message ID for deployment notifications' - value: ${{ jobs.deploy.outputs.slack-message-id }} stage: description: 'Stage that was deployed to (dev,staging,production)' value: ${{ jobs.deploy.outputs.stage }} @@ -209,18 +203,9 @@ permissions: actions: write jobs: - initialize: - name: Initialize - uses: ./.github/workflows/component-initialize.yml - with: - service-name: ${{ inputs.service-name }} - service-emoji: ${{ inputs.service-emoji }} - secrets: - SLACK_APP_TOKEN: ${{ secrets.SLACK_APP_TOKEN }} test: name: Test - needs: initialize - if: always() && inputs.run-tests && needs.initialize.result == 'success' + if: inputs.run-tests uses: ./.github/workflows/component-test-kotlin.yml with: runner-size: ${{ inputs.runner-size }} @@ -229,15 +214,11 @@ jobs: gradle-module: ${{ inputs.gradle-module }} java-version: ${{ inputs.java-version }} gradle-args: ${{ inputs.gradle-args }} - slack-message-id: ${{ needs.initialize.outputs.slack-message-id }} secrets: GHL_USERNAME: ${{ secrets.GHL_USERNAME }} GHL_PASSWORD: ${{ secrets.GHL_PASSWORD }} - SLACK_APP_TOKEN: ${{ secrets.SLACK_APP_TOKEN }} build: name: Build - needs: initialize - if: always() && needs.initialize.result == 'success' uses: ./.github/workflows/component-build.yml with: runner-size: ${{ inputs.runner-size }} @@ -249,11 +230,9 @@ jobs: docker-file-name: ${{ inputs.docker-file-name }} additional-build-args: ${{ inputs.additional-build-args }} ecr-repository-name: ${{ inputs.ecr-repository-name }} - slack-message-id: ${{ needs.initialize.outputs.slack-message-id }} git-sha: ${{ inputs.git-sha }} secrets: AWS_ACCOUNT_ID: ${{ secrets.AWS_ACCOUNT_ID }} - SLACK_APP_TOKEN: ${{ secrets.SLACK_APP_TOKEN }} GHL_USERNAME: ${{ secrets.GHL_USERNAME }} GHL_PASSWORD: ${{ secrets.GHL_PASSWORD }} SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }} @@ -264,10 +243,9 @@ jobs: deploy: name: Deploy needs: - - initialize - test - build - if: always() && needs.initialize.result == 'success' && (!inputs.run-tests || needs.test.result == 'success') && needs.build.result == 'success' + if: always() && (!inputs.run-tests || needs.test.result == 'success') && needs.build.result == 'success' uses: ./.github/workflows/component-deploy-v2.yml with: service-name: ${{ inputs.service-name }} @@ -275,7 +253,6 @@ jobs: service-identifier: ${{ inputs.service-identifier }} stage: ${{ inputs.stage }} image-tag: ${{ needs.build.outputs.image-tag }} - slack-message-id: ${{ needs.initialize.outputs.slack-message-id }} helm-values-path: ${{ inputs.helm-values-path }} repository-name: ${{ inputs.repository-name }} argocd-server: ${{ inputs.argocd-server }} @@ -283,7 +260,6 @@ jobs: argocd-sync-wait-seconds: ${{ inputs.argocd-sync-wait-seconds }} secrets: MANIFEST_REPO_PAT: ${{ secrets.MANIFEST_REPO_PAT }} - SLACK_APP_TOKEN: ${{ secrets.SLACK_APP_TOKEN }} ARGOCD_TOKEN: ${{ secrets.ARGOCD_TOKEN }} update-service-profile: name: Update Service Profile @@ -325,10 +301,7 @@ jobs: jira-app-name: "montaapp" jira-email: ${{ secrets.JIRA_EMAIL }} jira-token: ${{ secrets.JIRA_TOKEN }} - output: "slack" - slack-token: ${{ secrets.SLACK_APP_TOKEN }} - # Slack channel: C02PDBL6GAU = #info-releases - slack-channel: "C02PDBL6GAU" + output: "console" stage: ${{ needs.deploy.outputs.stage }} docker-image: ${{ needs.deploy.outputs.docker-image }} image-tag: ${{ needs.deploy.outputs.image-tag }} diff --git a/.github/workflows/deploy-kotlin.yml b/.github/workflows/deploy-kotlin.yml index 32de79a..d412769 100644 --- a/.github/workflows/deploy-kotlin.yml +++ b/.github/workflows/deploy-kotlin.yml @@ -141,9 +141,6 @@ on: AWS_ACCOUNT_ID: required: true description: 'AWS Account ID for ECR and deployment access' - SLACK_APP_TOKEN: - required: true - description: 'Slack app-level token for workflow notifications' MANIFEST_REPO_PAT: required: true description: 'GitHub PAT to commit/push to kube-manifests repo' @@ -176,9 +173,6 @@ on: description: 'ArgoCD authentication token for API access' outputs: - slack-message-id: - description: 'Slack message ID for deployment notifications' - value: ${{ jobs.deploy.outputs.slack-message-id }} stage: description: 'Stage that was deployed to (dev,staging,production)' value: ${{ jobs.deploy.outputs.stage }} @@ -207,18 +201,9 @@ permissions: actions: write jobs: - initialize: - name: Initialize - uses: ./.github/workflows/component-initialize.yml - with: - service-name: ${{ inputs.service-name }} - service-emoji: ${{ inputs.service-emoji }} - secrets: - SLACK_APP_TOKEN: ${{ secrets.SLACK_APP_TOKEN }} test: name: Test - needs: initialize - if: always() && inputs.run-tests && needs.initialize.result == 'success' + if: inputs.run-tests uses: ./.github/workflows/component-test-kotlin.yml with: runner-size: ${{ inputs.runner-size }} @@ -228,15 +213,11 @@ jobs: gradle-module: ${{ inputs.gradle-module }} java-version: ${{ inputs.java-version }} gradle-args: ${{ inputs.gradle-args }} - slack-message-id: ${{ needs.initialize.outputs.slack-message-id }} secrets: GHL_USERNAME: ${{ secrets.GHL_USERNAME }} GHL_PASSWORD: ${{ secrets.GHL_PASSWORD }} - SLACK_APP_TOKEN: ${{ secrets.SLACK_APP_TOKEN }} build: name: Build - needs: initialize - if: always() && needs.initialize.result == 'success' uses: ./.github/workflows/component-build.yml with: runner-size: ${{ inputs.runner-size }} @@ -248,11 +229,9 @@ jobs: docker-file-name: ${{ inputs.docker-file-name }} additional-build-args: ${{ inputs.additional-build-args }} ecr-repository-name: ${{ inputs.ecr-repository-name }} - slack-message-id: ${{ needs.initialize.outputs.slack-message-id }} git-sha: ${{ inputs.git-sha }} secrets: AWS_ACCOUNT_ID: ${{ secrets.AWS_ACCOUNT_ID }} - SLACK_APP_TOKEN: ${{ secrets.SLACK_APP_TOKEN }} GHL_USERNAME: ${{ secrets.GHL_USERNAME }} GHL_PASSWORD: ${{ secrets.GHL_PASSWORD }} SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }} @@ -263,10 +242,9 @@ jobs: deploy: name: Deploy needs: - - initialize - test - build - if: always() && needs.initialize.result == 'success' && (!inputs.run-tests || needs.test.result == 'success') && needs.build.result == 'success' + if: always() && (!inputs.run-tests || needs.test.result == 'success') && needs.build.result == 'success' uses: ./.github/workflows/component-deploy.yml with: service-name: ${{ inputs.service-name }} @@ -274,13 +252,11 @@ jobs: service-identifier: ${{ inputs.service-identifier }} stage: ${{ inputs.stage }} image-tag: ${{ needs.build.outputs.image-tag }} - slack-message-id: ${{ needs.initialize.outputs.slack-message-id }} argocd-server: ${{ inputs.argocd-server }} argocd-sync-wait-seconds: ${{ inputs.argocd-sync-wait-seconds }} wait-for-argocd-sync: ${{ inputs.wait-for-argocd-sync }} secrets: MANIFEST_REPO_PAT: ${{ secrets.MANIFEST_REPO_PAT }} - SLACK_APP_TOKEN: ${{ secrets.SLACK_APP_TOKEN }} ARGOCD_TOKEN: ${{ secrets.ARGOCD_TOKEN }} update-service-profile: name: Update Service Profile @@ -322,10 +298,7 @@ jobs: jira-app-name: "montaapp" jira-email: ${{ secrets.JIRA_EMAIL }} jira-token: ${{ secrets.JIRA_TOKEN }} - output: "slack" - slack-token: ${{ secrets.SLACK_APP_TOKEN }} - # Slack channel: C02PDBL6GAU = #info-releases - slack-channel: "C02PDBL6GAU" + output: "console" stage: ${{ needs.deploy.outputs.stage }} docker-image: ${{ needs.deploy.outputs.docker-image }} image-tag: ${{ needs.deploy.outputs.image-tag }} diff --git a/.github/workflows/deploy-python.yml b/.github/workflows/deploy-python.yml index 4eac058..6b052e9 100644 --- a/.github/workflows/deploy-python.yml +++ b/.github/workflows/deploy-python.yml @@ -59,9 +59,6 @@ on: AWS_ACCOUNT_ID: required: true description: 'AWS Account ID for ECR and deployment access' - SLACK_APP_TOKEN: - required: true - description: 'Slack app-level token for workflow notifications' MANIFEST_REPO_PAT: required: true description: 'GitHub PAT to commit/push to kube-manifests repo' @@ -84,18 +81,8 @@ permissions: actions: read jobs: - initialize: - name: Initialize - uses: ./.github/workflows/component-initialize.yml - with: - service-name: ${{ inputs.service-name }} - service-emoji: ${{ inputs.service-emoji }} - secrets: - SLACK_APP_TOKEN: ${{ secrets.SLACK_APP_TOKEN }} - test: name: Test - needs: initialize uses: ./.github/workflows/component-test-python.yml with: runner-size: ${{ inputs.runner-size }} @@ -103,13 +90,10 @@ jobs: service-name: ${{ inputs.service-name }} service-emoji: ${{ inputs.service-emoji }} docker-compose-path: ${{ inputs.docker-compose-path }} - slack-message-id: ${{ needs.initialize.outputs.slack-message-id }} secrets: - SLACK_APP_TOKEN: ${{ secrets.SLACK_APP_TOKEN }} TEST_ENV_FILE: ${{ secrets.TEST_ENV_FILE }} build: name: Build - needs: initialize uses: ./.github/workflows/component-build.yml with: runner-size: ${{ inputs.runner-size }} @@ -121,11 +105,9 @@ jobs: docker-file-name: ${{ inputs.docker-file-name }} additional-build-args: ${{ inputs.additional-build-args }} ecr-repository-name: ${{ inputs.ecr-repository-name }} - slack-message-id: ${{ needs.initialize.outputs.slack-message-id }} git-sha: ${{ inputs.git-sha }} secrets: AWS_ACCOUNT_ID: ${{ secrets.AWS_ACCOUNT_ID }} - SLACK_APP_TOKEN: ${{ secrets.SLACK_APP_TOKEN }} SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }} AWS_CDN_ACCESS_KEY_ID: ${{ secrets.AWS_CDN_ACCESS_KEY_ID }} AWS_CDN_SECRET_ACCESS_KEY: ${{ secrets.AWS_CDN_SECRET_ACCESS_KEY }} @@ -133,7 +115,6 @@ jobs: deploy: name: Deploy needs: - - initialize - test - build uses: ./.github/workflows/component-deploy.yml @@ -143,7 +124,5 @@ jobs: service-identifier: ${{ inputs.service-identifier }} stage: ${{ inputs.stage }} image-tag: ${{ needs.build.outputs.image-tag }} - slack-message-id: ${{ needs.initialize.outputs.slack-message-id }} secrets: MANIFEST_REPO_PAT: ${{ secrets.MANIFEST_REPO_PAT }} - SLACK_APP_TOKEN: ${{ secrets.SLACK_APP_TOKEN }} From 4dbc2e9a24d5998f069b1300073a64897e2549e8 Mon Sep 17 00:00:00 2001 From: Brian Estrada Date: Wed, 10 Jun 2026 20:02:20 +0200 Subject: [PATCH 2/2] chore: keep Slack changelog output in Kotlin deploy workflows Restore the changelog-cli-action slack output (output: slack, slack-token, slack-channel) in deploy-kotlin and deploy-kotlin-v2, and re-add an optional SLACK_APP_TOKEN secret used only for publishing the changelog to #info-releases. --- .github/workflows/deploy-kotlin-v2.yml | 8 +++++++- .github/workflows/deploy-kotlin.yml | 8 +++++++- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/.github/workflows/deploy-kotlin-v2.yml b/.github/workflows/deploy-kotlin-v2.yml index 9c79238..53458ab 100644 --- a/.github/workflows/deploy-kotlin-v2.yml +++ b/.github/workflows/deploy-kotlin-v2.yml @@ -143,6 +143,9 @@ on: AWS_ACCOUNT_ID: required: true description: 'AWS Account ID for ECR and deployment access' + SLACK_APP_TOKEN: + required: false + description: 'Slack app token for publishing the changelog to #info-releases' MANIFEST_REPO_PAT: required: true description: 'GitHub PAT to commit/push to service repository' @@ -301,7 +304,10 @@ jobs: jira-app-name: "montaapp" jira-email: ${{ secrets.JIRA_EMAIL }} jira-token: ${{ secrets.JIRA_TOKEN }} - output: "console" + output: "slack" + slack-token: ${{ secrets.SLACK_APP_TOKEN }} + # Slack channel: C02PDBL6GAU = #info-releases + slack-channel: "C02PDBL6GAU" stage: ${{ needs.deploy.outputs.stage }} docker-image: ${{ needs.deploy.outputs.docker-image }} image-tag: ${{ needs.deploy.outputs.image-tag }} diff --git a/.github/workflows/deploy-kotlin.yml b/.github/workflows/deploy-kotlin.yml index d412769..f21792a 100644 --- a/.github/workflows/deploy-kotlin.yml +++ b/.github/workflows/deploy-kotlin.yml @@ -141,6 +141,9 @@ on: AWS_ACCOUNT_ID: required: true description: 'AWS Account ID for ECR and deployment access' + SLACK_APP_TOKEN: + required: false + description: 'Slack app token for publishing the changelog to #info-releases' MANIFEST_REPO_PAT: required: true description: 'GitHub PAT to commit/push to kube-manifests repo' @@ -298,7 +301,10 @@ jobs: jira-app-name: "montaapp" jira-email: ${{ secrets.JIRA_EMAIL }} jira-token: ${{ secrets.JIRA_TOKEN }} - output: "console" + output: "slack" + slack-token: ${{ secrets.SLACK_APP_TOKEN }} + # Slack channel: C02PDBL6GAU = #info-releases + slack-channel: "C02PDBL6GAU" stage: ${{ needs.deploy.outputs.stage }} docker-image: ${{ needs.deploy.outputs.docker-image }} image-tag: ${{ needs.deploy.outputs.image-tag }}