Publish releases within the organization only - #2
Merged
Merged
Conversation
ru-sh
force-pushed
the
ci/internal-publishing
branch
from
September 18, 2026 06:31
9ff15a6 to
b05332b
Compare
Nothing in CI pushes outside MotusLabs any more. The npm and AUR jobs are gone, the Docker job pushes to this repository's ghcr.io namespace instead of Docker Hub and ghcr.io/coder, and the codecov upload no longer sends coverage to a third party. The update and helm-chart PRs open against this repository rather than upstream. Both publish jobs also downloaded their release assets from coder/code-server, so publishing would have shipped upstream's build under this organization's name. They now read this repository's own release. install.sh, the Docker build and the Helm chart all follow, so what they install is this fork's build, patches included.
With nothing published yet, the latest URL redirects to the releases index rather than a tag, so the prefix strip left the version as a URL and the installer built a download URL out of it, ending in a 404 nobody could read. Upstream never hit this because it always has a release to find.
ru-sh
force-pushed
the
ci/internal-publishing
branch
from
September 18, 2026 06:58
925db91 to
03e2ed9
Compare
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.
CI still published this fork to upstream's channels, and the release jobs built
from upstream's artifacts. This keeps everything inside the organization.
Removed
registry.npmjs.orgas the unscopedcode-serverwith
NPM_TOKEN.cdrci/code-server-aurand opened a PR oncoder/code-server-aur.docker.io/codercom/code-serveralongsideghcr.io/coder/code-server..github/codecov.ymlgoeswith it.
coder/code-server; thecdrci/opensource@coder.comidentity; the announcement discussion in therelease workflow, which is an upstream convention and fails where Discussions
are not enabled.
publish:npm, which pointed at aci/steps/publish-npm.shthat does notexist.
Worth a look
Both publish jobs downloaded their release assets from
coder/code-serverrather than this repository, so publishing would have shipped upstream's build
under this organization's name, without the patches this fork carries. They now
read this repository's own release.
Added
ghcr.io/motuslabs/code-server, derived from$GITHUB_REPOSITORYso it follows the repo rather than being hardcoded.DOCKER_REGISTRYnow defaults to empty indocker-bake.hcl, andgen_tagsgenerates nothing for an empty registry, so a Docker Hub tag cannot be
produced by accident.
install.shtakes its source repository from a singleREPOvariabledefaulting to
MotusLabs/code-server, the Docker build reads thisrepository's release, and the Helm chart points at the GHCR image. Package
metadata in the published
.deb/.rpmand the built app'sreportIssueUrlname this organization.
instead of upstream's Docker Hub image.
docs/MAINTAINING.md,docs/install.mdanddocs/helm.mdupdated, includingthe
docker login ghcr.iostep consumers need.Follow-ups not in this PR
src/node/routes/index.ts:62still checksapi.github.com/repos/coder/code-server/releases/latestfor updates, sodeployments are told about upstream's releases. Product code, not CI.
ci/build/nfpm.yamlstill names an upstream maintainer in every package;needs a real contact address.
install.shnpm/brew/AUR paths (Alpine, FreeBSD, Arch, macOS with brew, andevery i386 fallback) still install upstream's build. Removing them means
rewriting the bats tests.
.github/CODEOWNERSassigns* @coder/code-server, a team that does notexist here, so reviewer assignment fails silently.
Repo secrets now unused:
NPM_TOKEN,DOCKER_USERNAME,DOCKER_PASSWORD,HOMEBREW_GITHUB_API_TOKEN,CODECOV_TOKEN.Testing
actionlint,shellcheck(npm run lint:scripts),prettier --checkand the34
batsscript tests all pass;doctocregenerated with no drift.