Skip to content

CI: switch the install script to git clone#497

Merged
malberts merged 2 commits into
masterfrom
ci/install-modernize-master
Jun 13, 2026
Merged

CI: switch the install script to git clone#497
malberts merged 2 commits into
masterfrom
ci/install-modernize-master

Conversation

@malberts

Copy link
Copy Markdown
Contributor

Preventive plus cleanup. The current master matrix covers REL1_43+, none of which is in the affected range, so this is not fixing a current breakage. It removes a latent hazard as future MediaWiki versions move through the same branch-to-tag conversion, and cleans up the now-redundant phpunit.xml.template wget.

Switch the install script to git clone

Wikimedia recently converted older MediaWiki release refs (REL1_39 through REL1_42, plus older extension/skin branches) from branches to tags. The original branch refs still exist for now, so the same names resolve as both a branch AND a tag. GitHub's archive endpoint can no longer disambiguate the bare archive/<name>.tar.gz URL form in that state, and returns an HTTP 300 Multiple Choices with a 105-byte body:

the given path has multiple possibilities: #Git::Ref:..., #Git::Ref:...

Switching installWiki.sh to git clone --depth 1 --branch <name> resolves whichever ref form exists, and is robust to whatever Wikimedia does with the refs next.

Drop the redundant wget for phpunit.xml.template

The new-runner code path (1.46+) was fetching phpunit.xml.template from raw.githubusercontent.com because MediaWiki marks the file export-ignore in .gitattributes, which excludes it from git archive output (and therefore from GitHub's archive/<ref>.tar.gz tarball endpoint). git clone does not honour export-ignore; the file is in the working tree after a normal checkout. With installWiki.sh now using git clone, the separate wget becomes dead code.

Bump the cache key

Existing wget-era cache entries (-v22) lack phpunit.xml.template because they were populated from the archive tarball. Without a key bump, on every cache hit after merge the file would be absent and composer phpunit:config would fail. Bump to -v23 so the next run on each cache key produces a fresh entry from the git clone path, with the file included.

malberts and others added 2 commits June 13, 2026 12:56
GitHub recently converted older MediaWiki release refs (REL1_39 through
REL1_42, plus all old extension/skin branches down to REL1_20) from
branches to tags, leaving both refs in place under the same name. The
bare `archive/<name>.tar.gz` URL form now returns HTTP 300 Multiple
Choices for those names instead of a tarball:

  the given path has multiple possibilities:
    #<Git::Ref:...>, #<Git::Ref:...>

The master matrix only covers REL1_43+ so this is not surfacing today,
but the bare URL form is a latent hazard as future versions move
through the same conversion. Switching to `git clone --depth 1
--branch <name>` resolves either ref form transparently and is robust
to whatever Wikimedia does with the refs next.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
MediaWiki marks phpunit.xml.template with `export-ignore` in
`.gitattributes`, which excludes it from `git archive` output (and
therefore from GitHub's `archive/<ref>.tar.gz` tarball endpoint).
That is why the new-runner code path had to fetch it separately.

`git clone` does not honour `export-ignore`; the file is in the
working tree after a normal checkout. With installWiki.sh now using
`git clone`, the separate wget for the template becomes dead code.
Drop it.

Bump the cache key from -v22 to -v23 so existing wget-era cache
entries (which lack `phpunit.xml.template` because they were
populated from the archive tarball) do not satisfy the new code path.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
@malberts malberts marked this pull request as ready for review June 13, 2026 11:04
@malberts malberts merged commit 709d9c6 into master Jun 13, 2026
5 checks passed
@malberts malberts deleted the ci/install-modernize-master branch June 13, 2026 11:06
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.

1 participant