Skip to content

ci: replace buildkite pipeline with github actions - #136

Open
alexjoedt wants to merge 3 commits into
masterfrom
ci/replace-buildkite-with-github-actions
Open

ci: replace buildkite pipeline with github actions#136
alexjoedt wants to merge 3 commits into
masterfrom
ci/replace-buildkite-with-github-actions

Conversation

@alexjoedt

@alexjoedt alexjoedt commented Sep 4, 2026

Copy link
Copy Markdown
Contributor

Replaces the Buildkite pipeline with a GitHub workflow.

  • New .github/workflows/ci.yml with three jobs: Tests, Build, Lint. Each one runs the existing ci_test, ci_build and ci_lint make target, so everything still runs inside the gridx dev image (Go 1.21, golint, diagslave, socat).
  • Runs on pull requests and pushes to master. Runs on the same ref cancel each other.
  • Anonymous pulls from public ECR hit toomanyrequests on the shared runners, so the image now comes from ghcr.io/grid-x/modbus-dev:go1.21. The new mirror-ci-image.yml workflow copies it there (already ran, same digest as the ECR image). It runs on changes to its own file and on manual dispatch, so bumping the default tag re-mirrors.
  • Removes .buildkite/pipeline.yaml and the unused BRANCH variable in the Makefile.

All three jobs pass on this PR.

After merge:

  • Disable the pipeline in Buildkite and remove the Buildkite app from this repo.
  • Optionally add Tests, Build and Lint as required checks in branch protection. There are no required contexts today.

Follow-up (separate PR): drop the dev image in favour of actions/setup-go plus apt and a diagslave download, and replace the archived golint.

Run the existing ci_test, ci_build and ci_lint make targets as three
jobs in a GitHub workflow on pull requests and pushes to master. The
targets still run inside the gridx dev image, so the test environment
stays the same.

Remove the buildkite pipeline and the unused BRANCH variable in the
Makefile.

Claude-Session: https://claude.ai/code/session_01ABvNB1a6JTYe68AJYjduQ5
Anonymous pulls from public ECR are rate limited per IP, which makes
the shared GitHub runners fail with "toomanyrequests". Add a manual
workflow that mirrors the gridx dev image to ghcr.io/grid-x/modbus-dev
and point the Makefile at that copy.

Claude-Session: https://claude.ai/code/session_01ABvNB1a6JTYe68AJYjduQ5
workflow_dispatch only works once the file is on the default branch.

Claude-Session: https://claude.ai/code/session_01ABvNB1a6JTYe68AJYjduQ5

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Do we really need this file? Once the PR is merged, we will no longer publish to our ECR anyway, right?

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.

2 participants