Move SealShare from GitHub to Gitea only
The workflows live in .gitea/workflows. The Docker workflow logs in to the Gitea container registry with REGISTRY_TOKEN (Gitea's job token cannot publish packages yet), publishes gitea.nonameweb.ch/nonameweb/sealshare with a registry build cache, and makes the release on Gitea with the version's section of the changelog as its notes. The README, the website's quick start, both compose files and the image label point to Gitea; the changelog announces the new image name and links Gitea. GiteaOnlyTest keeps GitHub and ghcr.io out. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01V9NnLxnPp8vaaurb3Z1MFy
This commit is contained in:
co-authored by
Claude Opus 5
parent
606cc766f2
commit
d860a16551
@@ -0,0 +1,44 @@
|
||||
<?php
|
||||
|
||||
/*
|
||||
* SealShare lives on Gitea only: the source at gitea.nonameweb.ch/noNameWEB/SealShare and the image
|
||||
* at gitea.nonameweb.ch/nonameweb/sealshare. The changelog keeps its history, and the website's
|
||||
* comparison sources link other projects' repositories, so neither is checked.
|
||||
*/
|
||||
|
||||
test('the project points to Gitea, not GitHub, for its source, image and workflows', function () {
|
||||
$files = [
|
||||
'README.md',
|
||||
'Dockerfile',
|
||||
'.dockerignore',
|
||||
'.gitattributes',
|
||||
'docker-compose.yml',
|
||||
'docker-compose.example.yml',
|
||||
...array_map(fn (string $path): string => str($path)->after(base_path().'/')->toString(), glob(base_path('.gitea/workflows/*.yml'))),
|
||||
];
|
||||
|
||||
foreach ($files as $file) {
|
||||
expect(file_get_contents(base_path($file)))->not->toMatch('/github|ghcr\.io/i', "{$file} still refers to GitHub");
|
||||
}
|
||||
|
||||
expect(base_path('.github'))->not->toBeDirectory()
|
||||
->and(glob(base_path('.gitea/workflows/*.yml')))->not->toBeEmpty();
|
||||
});
|
||||
|
||||
test('the website installs SealShare from Gitea', function () {
|
||||
preg_match('/<section[^>]*id="install".*?<\/section>/s', file_get_contents(base_path('website/index.html')), $install);
|
||||
|
||||
expect($install[0])->not->toMatch('/github|ghcr\.io/i')
|
||||
->toContain('gitea.nonameweb.ch/nonameweb/sealshare:latest')
|
||||
->toContain('https://gitea.nonameweb.ch/noNameWEB/SealShare/raw/branch/main/docker-compose.example.yml');
|
||||
});
|
||||
|
||||
test('images are published to the Gitea registry and releases are made on Gitea', function () {
|
||||
$workflow = file_get_contents(base_path('.gitea/workflows/docker.yml'));
|
||||
|
||||
expect($workflow)
|
||||
->toContain('registry: gitea.nonameweb.ch')
|
||||
->toContain('images: gitea.nonameweb.ch/nonameweb/sealshare')
|
||||
->toContain('password: ${{ secrets.REGISTRY_TOKEN }}')
|
||||
->toContain('uses: https://gitea.com/actions/gitea-release-action@v1');
|
||||
});
|
||||
Reference in New Issue
Block a user