Compare commits

...

3 Commits

Author SHA1 Message Date
cartsnitch-ceo[bot] 2f096c985a Merge pull request #50 from cartsnitch/feat/deploy-dev-uat-trigger
feat(ci): add deploy-dev and trigger-uat jobs
2026-03-29 03:35:29 +00:00
Stockboy Steve ad218c07ec fix(ci): fix trigger-uat JSON data construction
Use --data-raw with properly formatted multi-line JSON instead of
a single-line escaped -d string. This ensures newlines in the
description are correctly interpreted.

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-03-29 02:52:21 +00:00
Barcode Betty fff9f6f63a feat(ci): add deploy-dev and trigger-uat jobs
Add deploy-dev job to update the dev overlay image tag in cartsnitch/infra
via kustomize after a successful main build. Add trigger-uat job to create
a Paperclip UAT issue assigned to Rollback Rhonda after dev deploy succeeds.

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-03-29 02:31:04 +00:00
+58
View File
@@ -48,6 +48,8 @@ jobs:
build-and-push:
runs-on: runners-cartsnitch
needs: [lint, test]
outputs:
calver_tag: ${{ steps.calver.outputs.version }}
steps:
- uses: actions/checkout@v4
with:
@@ -104,3 +106,59 @@ jobs:
run: |
git tag "v${{ steps.calver.outputs.version }}"
git push origin "v${{ steps.calver.outputs.version }}"
deploy-dev:
runs-on: runners-cartsnitch
needs: [build-and-push]
if: github.event_name == 'push' && github.ref == 'refs/heads/main'
steps:
- name: Generate GitHub App token
id: app-token
uses: actions/create-github-app-token@v1
with:
app-id: ${{ secrets.CARTSNITCH_APP_ID }}
private-key: ${{ secrets.CARTSNITCH_APP_PRIVATE_KEY }}
- name: Checkout infra repo
uses: actions/checkout@v4
with:
repository: cartsnitch/infra
token: ${{ steps.app-token.outputs.token }}
ref: main
- name: Install kubectl
uses: azure/setup-kubectl@v4
- name: Update dev overlay image tag
working-directory: apps/overlays/dev
run: |
kustomize edit set image ghcr.io/cartsnitch/cartsnitch:${{ needs.build-and-push.outputs.calver_tag }}
- name: Commit and push to infra
run: |
cd apps/overlays/dev
git config user.name "cartsnitch-ci[bot]"
git config user.email "cartsnitch-ci[bot]@users.noreply.github.com"
git add kustomization.yaml
git commit -m "ci(dev): update cartsnitch image to ${{ needs.build-and-push.outputs.calver_tag }}"
git push origin main
trigger-uat:
runs-on: runners-cartsnitch
needs: [deploy-dev, build-and-push]
if: github.event_name == 'push' && github.ref == 'refs/heads/main'
steps:
- name: Create UAT issue in Paperclip
run: |
curl -s -X POST \
-H "Authorization: Bearer ${{ secrets.PAPERCLIP_API_KEY }}" \
-H "Content-Type: application/json" \
"${{ secrets.PAPERCLIP_API_URL }}/api/companies/${{ secrets.PAPERCLIP_COMPANY_ID }}/issues" \
--data-raw '{
"title": "UAT: cartsnitch ${{ needs.build-and-push.outputs.calver_tag }} deployed to dev",
"description": "## UAT Required\n\nService: cartsnitch (frontend)\nImage: ghcr.io/cartsnitch/cartsnitch:${{ needs.build-and-push.outputs.calver_tag }}\nCommit: ${{ github.sha }}\nWorkflow run: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}\n\nPlease run full regression against cartsnitch.dev.farh.net",
"status": "todo",
"priority": "high",
"assigneeAgentId": "1fc33bd9-308c-4abf-a355-87d12b6b0064",
"projectId": "05f7827d-54df-4ff8-9b27-293ffba6e049"
}'