Skip to content

Deploy to per-environment container apps from the workflow - #15

Merged
paulcustance-al merged 6 commits into
mainfrom
task/deploy-to-environments
Sep 30, 2026
Merged

paulcustance-al merged 6 commits into
mainfrom
task/deploy-to-environments

Conversation

@paulcustance-al

Copy link
Copy Markdown
Contributor

Deploys the Collect Notifications job to per-environment Azure Container Apps Jobs.

  • build.yml runs on PRs and pushes to main: Build & Test → Create Image → Deploy To Dev → Deploy To Pre-Prod → Deploy To Prod. On PRs the image is built but not pushed, and all deploys are skipped.
  • On main, the image is pushed to GHCR and deployed to dev automatically. The same image is then promoted to preprod and prod, each waiting for approval from school-account-dev-team (enforced by the GitHub environments, which also only accept deployments from main). Each run shows how far its image got.
  • deploy.yml is the reusable deploy workflow. It can also be run manually with an image tag for rollbacks.
  • Removed the unused dotnet publish step.

Build now only pushes an image from main and hands it to deploy.yml
for dev. Other environments are deployed by running deploy.yml with an
existing image tag, so the image promoted is the one already tested in
dev rather than a fresh build.
The Dockerfile runs its own publish, so the output of this step was
never used.
The image job only runs once tests pass and is the only job granted
packages: write, so PR runs no longer get registry write access. Test
and Docker failures now show up as separate checks, and the image job
no longer waits for the ledger database service to start.
The image is built into the local Docker store and pushed in its own
step, so PR runs show the login and push as skipped rather than a
green build-and-push step that never pushed.
After dev, the same image is deployed to preprod then prod. Both jobs
wait on the approval rules configured on their GitHub environments, so
each run shows how far that image has been promoted.
@github-actions

Copy link
Copy Markdown

Test Results

 2 files  ±0   2 suites  ±0   4s ⏱️ ±0s
80 tests ±0  80 ✅ ±0  0 💤 ±0  0 ❌ ±0 
81 runs  ±0  81 ✅ ±0  0 💤 ±0  0 ❌ ±0 

Results for commit a18bc71. ± Comparison against base commit 1ff9096.

@github-actions

Copy link
Copy Markdown

Summary

Summary
Generated on: 09/30/2026 - 16:26:22
Parser: MultiReport (2x Cobertura)
Assemblies: 1
Classes: 15
Files: 14
Line coverage: 88.1% (215 of 244)
Covered lines: 215
Uncovered lines: 29
Coverable lines: 244
Total lines: 725
Branch coverage: 87.5% (35 of 40)
Covered branches: 35
Total branches: 40
Method coverage: Feature is only available for sponsors
Tag: 33_36743999094

Coverage

SchoolAccount.CollectNotifications - 88.1%
Name Line Branch
SchoolAccount.CollectNotifications 88.1% 87.5%
Program 0%
SchoolAccount.CollectNotifications.Extensions.ConfigurationExtensions 0% 0%
SchoolAccount.CollectNotifications.Extensions.HostBuilderExtensions 95.6% 75%
SchoolAccount.CollectNotifications.Extensions.ReturnStatusCodesExtensions 100%
SchoolAccount.CollectNotifications.Extensions.ServiceCollectionExtensions 100% 100%
SchoolAccount.CollectNotifications.Models.DbConnectionFactory 100%
SchoolAccount.CollectNotifications.Models.Dtos.Notification 100%
SchoolAccount.CollectNotifications.Models.Options.CensusOptions 100%
SchoolAccount.CollectNotifications.Models.Result 100%
SchoolAccount.CollectNotifications.Models.Result 100% 100%
SchoolAccount.CollectNotifications.Services.GovNotifyService 100% 100%
SchoolAccount.CollectNotifications.Services.LastRanService 92%
SchoolAccount.CollectNotifications.Services.StatusChangedLedgerMonitoringSe
rvice
95.7% 90.9%
SchoolAccount.CollectNotifications.Services.StatusChangedLedgerMonitoringSe
rviceInstrumentation
100%
SchoolAccount.CollectNotifications.Stores.LedgerStore 94.1%

@paulcustance-al
paulcustance-al merged commit 704b0b0 into main Sep 30, 2026
6 checks passed
@paulcustance-al
paulcustance-al deleted the task/deploy-to-environments branch September 30, 2026 21:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant