Skip to content

Bug 2029522 - Modernize CI workflow: docker compose v2 and actions/checkout@v4#2584

Merged
dklawren merged 2 commits intomozilla-bteam:masterfrom
loganrosen:bug-2029522
Apr 13, 2026
Merged

Bug 2029522 - Modernize CI workflow: docker compose v2 and actions/checkout@v4#2584
dklawren merged 2 commits intomozilla-bteam:masterfrom
loganrosen:bug-2029522

Conversation

@loganrosen
Copy link
Copy Markdown
Contributor

Updates the GitHub Actions CI workflow and Dockerfile to remove deprecated tooling:

  • actions/checkout@v3 → v4 — v3 uses Node 16 which GitHub has deprecated
  • Remove apt install docker-compose — GitHub Actions runners already include Docker Compose v2 as a plugin, so the install step is unnecessary overhead
  • docker-composedocker compose — the hyphenated v1 (Python-based) tool is deprecated in favor of the v2 Go plugin
  • Remove CircleCI ARGs/ENVs from DockerfileCIRCLE_SHA1 and CIRCLE_BUILD_URL are unused since CI moved to GitHub Actions

Testing: This PR's own CI run validates the changes — the updated ci.yml on this branch is what GitHub Actions will execute. Compose v2 compatibility verified locally with docker compose -f docker-compose.test.yml config.

…eckout@v4

- Update actions/checkout from v3 to v4 (v3 uses deprecated Node 16)
- Remove unnecessary `apt install docker-compose` steps — GitHub
  Actions runners already include Docker Compose v2 as a plugin
- Replace `docker-compose` (v1, deprecated) with `docker compose` (v2)
- Remove stale CircleCI ARG/ENV references from Dockerfile
  (CIRCLE_SHA1, CIRCLE_BUILD_URL)

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copy link
Copy Markdown
Collaborator

@dklawren dklawren left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This looks good so far and thanks for the help.

Two issues:

Please also update .github/workflows/deploy.yml to use the same cleanup actions where appropriate.

Also Dockerfile and extensions/BMO/Extension.pm use the CIRCLE_* variables to populate values in version.json in install_filesystem(). These will need to be update to use GITHUB_* equivalent variables and values.

For example in the Dockerfile:

  ARG GITHUB_SHA
  ARG GITHUB_SERVER_URL
  ARG GITHUB_RUN_ID

  ENV GITHUB_SHA=${GITHUB_SHA}
  ENV GITHUB_RUN_URL=${GITHUB_SERVER_URL}/mozilla-bteam/bmo/actions/runs/${GITHUB_RUN_ID}

And then update Extension.pm to read the new variable names.

…_* vars

- deploy.yml: remove docker-compose install step, use 'docker compose' v2,
  update action versions (setup-buildx@v3, login@v3, build-push@v6),
  pass GITHUB_* build-args to Docker build
- Dockerfile: add GITHUB_SHA, GITHUB_SERVER_URL, GITHUB_RUN_ID ARGs and
  construct GITHUB_RUN_URL env var
- Extension.pm: replace CIRCLE_SHA1/CIRCLE_BUILD_URL with
  GITHUB_SHA/GITHUB_RUN_URL for version.json

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@loganrosen
Copy link
Copy Markdown
Contributor Author

@dklawren Addressed, thanks!

@loganrosen loganrosen requested a review from dklawren April 12, 2026 02:11
@dklawren dklawren merged commit a2e4064 into mozilla-bteam:master Apr 13, 2026
7 of 8 checks passed
@dklawren
Copy link
Copy Markdown
Collaborator

Thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

2 participants