Skip to content

fix: use GHA expression syntax for GOLANGCI_LINT_VERSION in copilot-setup-steps#24

Merged
ValentaTomas merged 2 commits into
mainfrom
copilot/update-e2fsprogs-kmod-packages
May 4, 2026
Merged

fix: use GHA expression syntax for GOLANGCI_LINT_VERSION in copilot-setup-steps#24
ValentaTomas merged 2 commits into
mainfrom
copilot/update-e2fsprogs-kmod-packages

Conversation

Copy link
Copy Markdown
Contributor

Copilot AI commented May 1, 2026

copilot-setup-steps.yml used shell variable syntax ${GOLANGCI_LINT_VERSION} in the run: block. With set -eux, the -u flag errors on unbound variables — the job-level env: key doesn't automatically populate a shell variable by the same name.

Change

Switch to GHA expression syntax, which the Actions runner expands to a literal string before the shell sees the script — the same pattern already used in ci.yml:

- curl -sSfL "https://raw.githubusercontent.com/golangci/golangci-lint/${GOLANGCI_LINT_VERSION}/install.sh" \
-   | sh -s -- -b "$(go env GOPATH)/bin" "${GOLANGCI_LINT_VERSION}"
+ curl -sSfL "https://raw.githubusercontent.com/golangci/golangci-lint/${{ env.GOLANGCI_LINT_VERSION }}/install.sh" \
+   | sh -s -- -b "$(go env GOPATH)/bin" "${{ env.GOLANGCI_LINT_VERSION }}"

…etup-steps

Agent-Logs-Url: https://github.com/e2b-dev/ublk-go/sessions/f515b9d7-565f-4496-962f-5319eca8b205

Co-authored-by: ValentaTomas <49156497+ValentaTomas@users.noreply.github.com>
PR #24's failing `copilot-setup-steps` runs (and the integration
runs) all bottom out on the same root cause: `apt-get update` and
`apt-get install` against `azure.archive.ubuntu.com` intermittently
fail with `Temporary failure resolving`. This is the same flake
that PR #29 (ci/apt-retry) addresses for `.github/workflows/ci.yml`.

Wire the same retry helper (max 6 attempts, exponential backoff
with sleeps of 5s, 10s, 20s, 40s, 80s) around both apt-get
invocations in `copilot-setup-steps.yml`:

- `apt-get update` + `apt-get install e2fsprogs kmod` in
  "Install repo tooling".
- `apt-get install linux-modules-extra-$(uname -r)` in
  "Load ublk kernel module".

The helper definition is duplicated rather than factored out — the
two steps are independent shell sessions, so a single helper would
have to live in a separate script or composite action. Keeping it
inline matches the pattern used in `ci.yml`.

This is an additive commit on top of copilot's original change; no
existing commits are amended.
auto-merge was automatically disabled May 2, 2026 01:00

Pull request was closed

@ValentaTomas ValentaTomas reopened this May 2, 2026
@ValentaTomas ValentaTomas enabled auto-merge (squash) May 2, 2026 01:01
@ValentaTomas ValentaTomas merged commit 1fe3045 into main May 4, 2026
23 checks passed
@ValentaTomas ValentaTomas deleted the copilot/update-e2fsprogs-kmod-packages branch May 4, 2026 17:43
ValentaTomas added a commit that referenced this pull request May 4, 2026
## Summary

The Azure-hosted apt mirror (\`azure.archive.ubuntu.com\`) returns
\`Temporary failure resolving\` periodically — observed today on PRs
#24, #26, and #27, all blocked by the same DNS blip while installing
\`linux-modules-extra\`.

This PR wraps the \`apt-get update\` + install in a 5-attempt
exponential backoff (5s, 10s, 20s, 40s, 80s — ~155s worst case before
giving up). The fast path (\`modprobe ublk_drv\` succeeding because the
module is already present in the runner image) is unchanged.

No code changes; CI workflow only.

## Test plan

- [ ] CI run for this branch loads ublk_drv and runs integration tests
cleanly.
- [ ] If the apt mirror flakes during the run, the retry should absorb
it; logs will show \`attempt N failed; sleeping...\`.
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.

3 participants