Skip to content

[ci] Ensure the use of a nix shell for jobs using install-nix - #5676

Draft
maru-ava wants to merge 5 commits into
masterfrom
maru/ci-nix-shell-policy
Draft

[ci] Ensure the use of a nix shell for jobs using install-nix#5676
maru-ava wants to merge 5 commits into
masterfrom
maru/ci-nix-shell-policy

Conversation

@maru-ava

@maru-ava maru-ava commented Jul 16, 2026

Copy link
Copy Markdown
Contributor

Why this should be merged

Previously, jobs using install-nix were inconsistently specifying a nix shell for task execution. Without a nix shell, go-task was being invoked with go run via the runner-provided golang. Since the version of the runner-provided golang will usually differ from the version we require, golang would proceed to download the required version and this download could flake (as with all things GitHub Actions).

This change adds a check requiring a nix shell default to be set for all CI jobs that directly use the install-nix action, and ensures that existing jobs pass the check. This is intended to avoid the potential for infra flakes associated with golang download.

How this was tested

CI

@maru-ava maru-ava self-assigned this Jul 16, 2026
@maru-ava maru-ava added the ci This focuses on changes to the CI process label Jul 16, 2026
@maru-ava maru-ava moved this to In Progress 🏗️ in avalanchego Jul 16, 2026
@maru-ava
maru-ava changed the base branch from master to maru/doc-ci July 16, 2026 19:18
@maru-ava maru-ava moved this from In Progress 🏗️ to Ready 🚦 in avalanchego Jul 16, 2026
@maru-ava
maru-ava force-pushed the maru/ci-nix-shell-policy branch from 1cacaee to 7ecd739 Compare July 16, 2026 19:21
@maru-ava
maru-ava force-pushed the maru/ci-nix-shell-policy branch 2 times, most recently from e6b5a84 to bced3a3 Compare July 16, 2026 19:35
@maru-ava
maru-ava force-pushed the maru/ci-nix-shell-policy branch from bced3a3 to 2d812b3 Compare July 16, 2026 19:56
@maru-ava maru-ava linked an issue Jul 18, 2026 that may be closed by this pull request
@maru-ava
maru-ava force-pushed the maru/doc-ci branch 4 times, most recently from 41d64db to 8cfe5f1 Compare August 4, 2026 06:20
@maru-ava
maru-ava force-pushed the maru/ci-nix-shell-policy branch from 2d812b3 to 7f09e83 Compare August 4, 2026 06:57
@maru-ava
maru-ava force-pushed the maru/doc-ci branch 3 times, most recently from b1e88c1 to 16f19fc Compare August 5, 2026 19:50
@maru-ava
maru-ava force-pushed the maru/ci-nix-shell-policy branch 2 times, most recently from 9c9c2a2 to 1c7bea6 Compare August 6, 2026 01:17
Comment thread docs/ci.md
Comment thread docs/ci.md Outdated
Comment thread docs/ci.md
Comment thread docs/ci.md
Document the CI conventions that keep workflow behavior reproducible and supply-chain
updates reviewable and ensure mechanical checks where reasonable to do so.

Change-Id: Ib194e94678b49acd6278845558d00f09ac8445ce
Change-Id: I71cd7107e2525391795823caff0b1f89d41a1dbc
Change-Id: I8aa29fb7382a963d6409bb36ba3309cd11c7284c
Previously, jobs using install-nix were inconsistently specifying a nix shell for task
execution. Without a nix shell, go-task was being invoked with `go run` via the
runner-provided golang. Since the version of the runner-provided golang will usually
differ from the version we require, golang would proceed to download the required
version and this download could flake (as with all things GitHub Actions).

This change adds a check requiring a nix shell default to be set for all CI jobs that
directly use the `install-nix` action, and ensures that existing jobs pass the
check. This is intended to avoid the potential for infra flakes associated with golang
download.

Change-Id: Ie678d2a88546d52e58f80a72ef64135abc707a6f
Change-Id: I378fc64bc1425864a9d22bccab6be0e36cfdad67
@maru-ava
maru-ava force-pushed the maru/ci-nix-shell-policy branch from 736796a to 0cb9e7a Compare August 7, 2026 00:12
Base automatically changed from maru/doc-ci to master August 7, 2026 00:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ci This focuses on changes to the CI process

Projects

Status: Ready 🚦

Development

Successfully merging this pull request may close these issues.

[bazel] Complete Bazelification

2 participants