Skip to content

Parallelize CI builds and add Angular unit tests#93

Merged
nitrobass24 merged 1 commit intodevelopfrom
ci/parallel-builds-unit-tests
Feb 28, 2026
Merged

Parallelize CI builds and add Angular unit tests#93
nitrobass24 merged 1 commit intodevelopfrom
ci/parallel-builds-unit-tests

Conversation

@nitrobass24
Copy link
Owner

@nitrobass24 nitrobass24 commented Feb 28, 2026

Summary

  • Split the sequential multi-arch Docker build into parallel amd64 + arm64 jobs using digest-based push and manifest merging
  • Add a dedicated unit-test job that runs the 132 Angular Vitest tests in CI for the first time
  • On PRs, only unit-test and build (amd64) run; arm64/publish/release are skipped

Test plan

  • Push to a PR branch — verify unit-test and build run in parallel, build-arm64/publish/release are skipped
  • Push to develop — verify all three build jobs run in parallel, publish creates the manifest
  • Push a tag — verify full pipeline including release

🤖 Generated with Claude Code

Summary by CodeRabbit

  • Chores
    • Improved CI/CD pipeline with explicit multi-architecture support for amd64 and arm64 platforms
    • Reorganized unit testing and build workflows for enhanced release consistency and reliability

Split the sequential multi-arch Docker build into parallel jobs
(amd64 + arm64) using digest-based push and manifest merging.
Add a dedicated unit-test job that runs the 132 Angular Vitest
tests in CI for the first time.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@nitrobass24 nitrobass24 merged commit b5be932 into develop Feb 28, 2026
4 checks passed
@nitrobass24 nitrobass24 deleted the ci/parallel-builds-unit-tests branch February 28, 2026 21:22
@coderabbitai
Copy link

coderabbitai bot commented Feb 28, 2026

Caution

Review failed

The pull request is closed.

ℹ️ Recent review info

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between aef64c9 and 8488943.

📒 Files selected for processing (1)
  • .github/workflows/ci.yml

📝 Walkthrough

Walkthrough

The CI/CD workflow is restructured to separate concerns: introducing distinct unit-test, build, and build-arm64 jobs, then consolidating multi-architecture publishing into a dedicated publish job that creates and pushes manifests for both architectures.

Changes

Cohort / File(s) Summary
Test Job Separation
.github/workflows/ci.yml
Added new unit-test job to isolate Angular test execution with Node.js setup and dependency installation, separated from build pipeline.
Multi-Architecture Build Jobs
.github/workflows/ci.yml
Introduced explicit build job with linux/amd64 platform targeting and cache scoping; added separate build-arm64 job for ARM64 builds with digest export and artifact upload.
Multi-Arch Publishing
.github/workflows/ci.yml
Created dedicated publish job that depends on unit-test, build, and build-arm64; handles cross-arch digest retrieval, Docker login, metadata extraction, and multi-arch manifest creation/push using docker buildx imagetools.

Estimated code review effort

🎯 4 (Complex) | ⏱️ ~50 minutes

Poem

🐰 A pipeline hops through tests so keen,
Two arches dance—amd64 and arm!
Then manifest spells weave between,
Multi-build charm kept safe from harm.
From separate jobs, one image blooms. 🐇✨

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch ci/parallel-builds-unit-tests

Comment @coderabbitai help to get the list of available commands and usage tips.

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