Repository navigation
Conversation
…, not NODE_AUTH_TOKEN (WAVE-33109) Both go into non-exported shell variables and are unset at once. The retired GitHub Packages name is unset too and never read.
…Hub Packages (WAVE-33109) This repository is public, so it never names the registry host: the job-local npmrc maps @wave-av to WAVE_REGISTRY_URL (validated as a bare https origin ending in '/') with the ${WAVE_REGISTRY_READ_TOKEN} placeholder. The one npm command also gets a null global npmrc and the registry CA, and the npmrc is deleted as soon as the install returns.
…install (WAVE-33109) README: the credential row, the Credentials section and the prerequisites name WAVE_REGISTRY_READ_TOKEN and WAVE_REGISTRY_URL, and say a public repository has no job-secrets row today. The new offline test (32 checks) fails 21 on the previous commit.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Moves the
governance-enforceinstall of@wave-av/governanceoff GitHub Packages (retired; it answers 403, billing limit) and onto WAVE's self-hosted private registry, read withWAVE_REGISTRY_READ_TOKEN. Part of WAVE-33109 under WAVE-33105.Read this first: the step still can't run here
This repository is public. ci-smoke's host allowlist gives a public repository no job-secrets row (
host/buildkite/secrets-allowlist.tsv: "a public repository gets no row (cli was removed for that)"). So on Buildkite,governance-enforcestops at its first check,WAVE_REGISTRY_READ_TOKEN is not set, before any credential could be used. That is the same outcome as today, but now the message is accurate. #94 parks the step for the same reason. This PR doesn't change that policy. It removes the retired GitHub Packages path, so if the step is ever un-parked it installs from the right place with the right token.Change (
.buildkite/)lib/common.sh: capturesWAVE_REGISTRY_READ_TOKENandWAVE_REGISTRY_URLinto non-exported shell variables and unsets both. It also unsets the retiredNODE_AUTH_TOKEN, which nothing reads any more.lib/npm-install.sh:WAVE_REGISTRY_URL, next to the token./(^https://[a-z0-9]([a-z0-9.-]*[a-z0-9])?(:[0-9]{1,5})?/$). That rules out credentials, paths, queries, uppercase and newline injection.@wave-av:registry=<URL>plus//<host[:port]>/:_authToken=${WAVE_REGISTRY_READ_TOKEN}, mode 600, holding the placeholder and never the value.npm installalso getsNPM_CONFIG_GLOBALCONFIG=/dev/nulland the registry CA asNODE_EXTRA_CA_CERTS.bk_npm_drop_tokendeletes the npmrc as soon as the install returns, before the enforcer and the git fetches run.governance-enforce.sh: unchanged. It still pins@wave-av/governance@0.4.6and installs with--ignore-scripts.README.md: the credential row, the Credentials section and the prerequisites line (the old one saidnpm.pkg.github.com)..buildkite/tests/registry-install.test.sh(offline). An npm stub records names and facts, never the token value, and a node shim answers the step's Node 22 check. It is not wired into a step.Proof
NODE_AUTH_TOKENfallbackshellcheck -x0.11.0 is clean on every.buildkitescript..buildkite/names a*.internalhost. This PR body doesn't either.lib/common.shandREADME.md. A three-way merge with it is clean for both files, and the test still passes 32/32 on the mergedcommon.sh. ci(buildkite): add a repo script for pipeline upload #93 touches only.buildkite/upload.sh.Needs a decision (not done here)
To run this step for real, the owner would have to allow a public repository a job-secrets row for
governance-enforce(WAVE_REGISTRY_READ_TOKEN,WAVE_REGISTRY_URL), and addWAVE_REGISTRY_URLto the host's secret store. Both widen access, so neither is proposed as a row here. The alternative #94 points to, an image-served enforcer or fleet-level coverage, needs no credential in this repository at all.Draft. Do not merge without review.