Skip to content

ci: remove redundant build-reactapp job from publish and test-cd#243

Merged
kklldog merged 1 commit into
masterfrom
chore/dedupe-ui-build-in-ci
Jul 26, 2026
Merged

ci: remove redundant build-reactapp job from publish and test-cd#243
kklldog merged 1 commit into
masterfrom
chore/dedupe-ui-build-in-ci

Conversation

@kklldog

@kklldog kklldog commented Jul 26, 2026

Copy link
Copy Markdown
Collaborator

Follow-up to #240, which added a ui-build stage to the Dockerfile so the image builds the React admin UI itself.

With that in place, publish.yml and test-cd.yml were building the UI twice per release: once in a dedicated build-reactapp job that uploaded dist/ as an artifact, and again inside docker build. The artifact was downloaded into src/AgileConfig.Server.Apisite/wwwroot/ui before the Docker step, but the in-Docker build overwrites that path anyway — so the CI job's output was silently discarded.

This removes the redundant job from those two workflows, leaving a single UI build path and keeping docker build . reproducible outside of CI.

Changed

  • publish.yml — removed build-reactapp job, its needs: edge, and the download-artifact step
  • test-cd.yml — same

Deliberately left alone

  • master-ci.yml / master-pr-ci.yml — their build-reactapp is compile-only (npm run build, no artifact, no downstream job). It's the only CI gate that catches frontend build errors on a PR, and neither workflow builds an image, so the Dockerfile can't cover it. Kept.
  • release-xxx.yml — besides the Docker push it produces a zip release artifact via dotnet publish, which needs the frontend in wwwroot/ui and never goes through the Dockerfile. Kept.
  • arm32.yml / arm64.yml / mysqlconnector.yml — these run on their own long-lived branches whose Dockerfiles have no ui-build stage. They still carry their own build-reactapp job, so image builds on those branches are unaffected by this PR. Those branches are 1.5–3.5 years behind master and merging it in is a large, separate piece of work — tracked separately rather than bundled here.

Verification

Both files parse cleanly and each now contains exactly one job with no dangling needs. Net −58/+5 lines.

The Dockerfile now builds the React admin UI itself in a dedicated
ui-build stage (added in #240), so building it again in a separate CI
job and shipping the result via artifact was doing the same work twice
per release — and the in-Docker build silently won anyway.

Dropping the CI job leaves a single UI build path and keeps
'docker build .' reproducible outside of CI.

master-ci / master-pr-ci keep their build-reactapp job: those are
compile-only checks that gate frontend errors on PRs and never produce
an artifact. release-xxx keeps its job too, since its zip release
artifact comes from 'dotnet publish' and never goes through Docker.
@kklldog
kklldog merged commit 79cef3b into master Jul 26, 2026
3 checks passed
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