From 21afdf65efb77ff46318d2dd4530cf7c5ccb5f0e Mon Sep 17 00:00:00 2001 From: Topher White Date: Tue, 19 May 2026 01:50:01 -0400 Subject: [PATCH] ci(cd): remove AWS build+deploy jobs (kops decommissioned) The kops production cluster has been declared dead by the operator (2026-05-18 18:55 EDT). The AWS-targeted `build:` (ECR push) and `deploy:` (kubectl against KUBE_CONFIG_SUPER) jobs have been failing-or-soon-to-fail since, and rfcx-local has been the authoritative production deploy target. This commit: - Drops the `build:` job (uses `rfcx/cicd/ecr-build-push.yaml`) - Drops the `deploy:` job (uses `rfcx/cicd/k8s-deploy.yaml`) - Updates `notify.needs` to depend only on `deploy-rfcx-local` - Updates notify status/footer to surface the rfcx-local result `deploy-rfcx-local` is unchanged: it does its own in-cluster arm64 build via the self-hosted runner in the `cicd` namespace, pushes to the in-cluster registry at 192.168.5.1:30500, and rolls `apps-prod` Deployments via the runner's RBAC. It has no dependency on the AWS `build:`/`deploy:` jobs. `prepare:` and `configure:` are kept (still needed for the branch-name gate on `deploy-rfcx-local` and for notify metadata). `staging` is left in the on.push.branches trigger; with AWS gone it's a no-op on staging push (deploy-rfcx-local gates on namespace==production), which preserves the staging-promotion-PR workflow. See https://github.com/evity-squibbon/rfcx-local STATE.md "AWS / kops decommission status" block for context. --- .github/workflows/cd.yaml | 29 +++-------------------------- 1 file changed, 3 insertions(+), 26 deletions(-) diff --git a/.github/workflows/cd.yaml b/.github/workflows/cd.yaml index 169400f..c092c53 100644 --- a/.github/workflows/cd.yaml +++ b/.github/workflows/cd.yaml @@ -35,29 +35,6 @@ jobs: echo "::set-output name=namespace::testing" fi - build: - name: 'Build' - needs: [prepare, configure] - uses: rfcx/cicd/.github/workflows/ecr-build-push.yaml@master - with: - dockerfile: build/Dockerfile - targets: "[\"device-api\"]" - tag-environment: ${{ needs.configure.outputs.namespace }} - tag-latest: ${{ needs.configure.outputs.namespace == 'production' }} - secrets: - aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }} - aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} - - deploy: - name: 'Deploy' - needs: [build, configure] - uses: rfcx/cicd/.github/workflows/k8s-deploy.yaml@master - with: - tag: ${{ needs.build.outputs.unique-tag }} - namespace: ${{ needs.configure.outputs.namespace }} - secrets: - kube-config: ${{ secrets.KUBE_CONFIG_SUPER }} - deploy-rfcx-local: name: 'Deploy: rfcx-local' needs: [prepare, configure] @@ -76,17 +53,17 @@ jobs: notify: name: 'Notify' if: ${{ always() }} - needs: [prepare, build, deploy, deploy-rfcx-local] + needs: [prepare, deploy-rfcx-local] uses: rfcx/cicd/.github/workflows/notify-send.yaml@master with: repo: device-api branch-name: ${{ needs.prepare.outputs.branch-name }} workflow-id: cd.yaml previous-run-id: ${{ needs.prepare.outputs.previous-run-id }} - status: ${{ needs.deploy.result }} + status: ${{ needs.deploy-rfcx-local.result }} always: true notification-title: 'CD: Device API' - notification-footer: "Build: ${{ needs.build.result || 'n/a' }} | Deploy: ${{ needs.deploy.result || 'n/a' }}" + notification-footer: "Deploy (rfcx-local): ${{ needs.deploy-rfcx-local.result || 'n/a' }}" notification-success-statement: '{0} deployed the build!' secrets: slack-webhook: ${{ secrets.SLACK_ALERT_COREDT_WEBHOOK }}