docs: move trusted CI runner from NAS to Server
This commit is contained in:
@@ -7,7 +7,7 @@ on:
|
|||||||
workflow_dispatch:
|
workflow_dispatch:
|
||||||
jobs:
|
jobs:
|
||||||
verify:
|
verify:
|
||||||
# The NAS Docker runner must never execute code from external forks.
|
# The self-hosted Docker runner must never execute code from external forks.
|
||||||
if: github.server_url != 'https://github.com' && (github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name == github.repository)
|
if: github.server_url != 'https://github.com' && (github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name == github.repository)
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
env:
|
env:
|
||||||
@@ -41,4 +41,4 @@ jobs:
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
# Production moved to Ubuntu Server. Release manually with scripts/server-release.py;
|
# Production moved to Ubuntu Server. Release manually with scripts/server-release.py;
|
||||||
# the shared NAS runner performs isolated verification only.
|
# the shared Server runner performs isolated verification only.
|
||||||
|
|||||||
+3
-3
@@ -2,7 +2,7 @@ c2792b2c75880ff09822804632b1b3b6dd6190b38841b8c3567bb1b7e7b59a8c .dockerignore
|
|||||||
d20031a8e861a0f3e19b7750ddb53bc84c480c469c44a70ecdf8261ec05431c0 .env.example
|
d20031a8e861a0f3e19b7750ddb53bc84c480c469c44a70ecdf8261ec05431c0 .env.example
|
||||||
0c7f4585d62a8d35bfc22e0bebdf7a479a179122b2b092bfe434e3038cddd3d5 .gitattributes
|
0c7f4585d62a8d35bfc22e0bebdf7a479a179122b2b092bfe434e3038cddd3d5 .gitattributes
|
||||||
b45d35d737f119a70bf40cb1f9626ff80772ed7913cb35f6e9b870d6ada01a15 .github/workflows/community.yml
|
b45d35d737f119a70bf40cb1f9626ff80772ed7913cb35f6e9b870d6ada01a15 .github/workflows/community.yml
|
||||||
d3ad09bdc5dc60c41a774e1cad43f3e3f8ae5c851303ae6ec2aac030392a2939 .github/workflows/verify.yml
|
2c49cb94db2c7679d5fdb0da4b67a4b90d5f00c3c76f7f0d0226938eeb75ef04 .github/workflows/verify.yml
|
||||||
3931cc314019760a582e0914e2d9c0f3b862a004d0a30d374900edcad5f599e5 .gitignore
|
3931cc314019760a582e0914e2d9c0f3b862a004d0a30d374900edcad5f599e5 .gitignore
|
||||||
4b4ed4926a350cbeb71436541b4566e4ba7d2494ac95236b88827a9f5dd171c2 CONTRIBUTING.md
|
4b4ed4926a350cbeb71436541b4566e4ba7d2494ac95236b88827a9f5dd171c2 CONTRIBUTING.md
|
||||||
c6fc984a1ca46cbd3e06de4591e41d21e4eb592416385d4000ade8fd570aad0c Dockerfile
|
c6fc984a1ca46cbd3e06de4591e41d21e4eb592416385d4000ade8fd570aad0c Dockerfile
|
||||||
@@ -21,13 +21,13 @@ fd53125a5359dcae1d81e95b8447aac755270f9aeb354d3e1140d7fccb57c42e deploy/docker-
|
|||||||
4464545a9d91bbc9fff9cd9941db63f44fa61120caca426687d1ed06635cc3e6 deploy/organized-photos-source.json
|
4464545a9d91bbc9fff9cd9941db63f44fa61120caca426687d1ed06635cc3e6 deploy/organized-photos-source.json
|
||||||
f78d6c3d40e6c5246601bb99c2b46eef91e883a8f83841d85c925394708af0c0 docker-compose.yml
|
f78d6c3d40e6c5246601bb99c2b46eef91e883a8f83841d85c925394708af0c0 docker-compose.yml
|
||||||
30d3e705870ebb012ce122bd7d8f95192d86664c4d2bb45a3169c86988fbaf72 docs/AUTOMATIC_COLLAGE.md
|
30d3e705870ebb012ce122bd7d8f95192d86664c4d2bb45a3169c86988fbaf72 docs/AUTOMATIC_COLLAGE.md
|
||||||
e897b531b5ec4c2411fb11c4ea38808a6305e066782fe6112953f1cf63cef78f docs/BUILDING.md
|
27a8e9f33459cdb4e873fc14e965c40557324707c10a6e6f8567c81bfe457de7 docs/BUILDING.md
|
||||||
d9f07164c75c757e85f4ace2b55deaf82b8b904216c5222be6c0e3ab7b28cb36 docs/EXTENSIONS.md
|
d9f07164c75c757e85f4ace2b55deaf82b8b904216c5222be6c0e3ab7b28cb36 docs/EXTENSIONS.md
|
||||||
1d8c5f79eff3115b1cd13d8f63fff1332b80d1fe1bec6b0f2713b5f80b0cbf67 docs/KOKONNA_RECOVERY.md
|
1d8c5f79eff3115b1cd13d8f63fff1332b80d1fe1bec6b0f2713b5f80b0cbf67 docs/KOKONNA_RECOVERY.md
|
||||||
0fe1896a53cef4cfd2e380a0b979eceda493733082a9b56c3d7e89e7f62a65b3 docs/NAS.md
|
0fe1896a53cef4cfd2e380a0b979eceda493733082a9b56c3d7e89e7f62a65b3 docs/NAS.md
|
||||||
3280bddcbe2d2721bb7efeb0eb2ec03d9d5ef867c69f3e70066b69f1ad5926e2 docs/PHOTO_SOURCES.md
|
3280bddcbe2d2721bb7efeb0eb2ec03d9d5ef867c69f3e70066b69f1ad5926e2 docs/PHOTO_SOURCES.md
|
||||||
edf44436fd044561539c48480c481e66c1a38164f51ba5226cde04c756f7bacb docs/PHOTO_SOURCE_CONNECTIONS.md
|
edf44436fd044561539c48480c481e66c1a38164f51ba5226cde04c756f7bacb docs/PHOTO_SOURCE_CONNECTIONS.md
|
||||||
4b00d08eb5a2425b205af13b87f9be04dd6870a734b42463a3e075658039dac9 docs/PUBLICATION.md
|
b48f3ab6f28404bb34c188067a832384f4ba290e56912461ef3565528aa157d8 docs/PUBLICATION.md
|
||||||
5fe4641e75e0746929f71256c6ff11116c777cca8d4288ccc2d7aee91bd7a6ac docs/README.md
|
5fe4641e75e0746929f71256c6ff11116c777cca8d4288ccc2d7aee91bd7a6ac docs/README.md
|
||||||
5eb19e7e4ed1ceddbdf388fd55697e40f1b7ecd9a4fbdf8ab485132cc684dcb2 docs/REAL_DEVICE_TEST.md
|
5eb19e7e4ed1ceddbdf388fd55697e40f1b7ecd9a4fbdf8ab485132cc684dcb2 docs/REAL_DEVICE_TEST.md
|
||||||
bfc38b889fa966031e195c3131db1d4a713e0dc35c644e3047c7ed94f2354700 docs/RESEARCH.md
|
bfc38b889fa966031e195c3131db1d4a713e0dc35c644e3047c7ed94f2354700 docs/RESEARCH.md
|
||||||
|
|||||||
+12
-1
@@ -29,6 +29,17 @@ resources and are not runtime mounts or dependencies.
|
|||||||
|
|
||||||
### CI with a host Docker socket
|
### CI with a host Docker socket
|
||||||
|
|
||||||
|
The managed CI runner runs on Ubuntu Server; the NAS no longer executes jobs.
|
||||||
|
It retains `ubuntu-latest` compatibility and fixed runner/job image digests,
|
||||||
|
accepts one job at a time, and limits each task container to 4 CPUs and 8 GiB.
|
||||||
|
The runner's private state resides on the guarded business disk. Its systemd
|
||||||
|
service checks the mount identity before starting. Registration credentials are
|
||||||
|
supplied through a temporary file and removed after registration; the daemon
|
||||||
|
container does not retain the reusable registration token in its environment.
|
||||||
|
Keep the current runner and job images even when no task is executing: they are
|
||||||
|
active CI dependencies. Only trusted repository events may reach this runner's
|
||||||
|
Docker socket; CI does not automatically deploy production or write to frames.
|
||||||
|
|
||||||
Run `python scripts/ci-compose-verify.py` after loading the build mirror profile.
|
Run `python scripts/ci-compose-verify.py` after loading the build mirror profile.
|
||||||
The script derives a temporary Compose document from production settings, with
|
The script derives a temporary Compose document from production settings, with
|
||||||
an absolute client-side build context, a UUID project name, a unique CI image
|
an absolute client-side build context, a UUID project name, a unique CI image
|
||||||
@@ -40,7 +51,7 @@ owned `/data` and `/config` directories; the service remains UID/GID 10333.
|
|||||||
|
|
||||||
Build contexts are sent by the Docker client, so the job workspace can remain
|
Build contexts are sent by the Docker client, so the job workspace can remain
|
||||||
inside the job container. Runtime storage is managed by the daemon; no matching
|
inside the job container. Runtime storage is managed by the daemon; no matching
|
||||||
NAS host `/workspace` directory is needed. HTTP readiness and the unmodified
|
Docker host `/workspace` directory is needed. HTTP readiness and the unmodified
|
||||||
nine-endpoint smoke script run inside the service with `compose exec -T`.
|
nine-endpoint smoke script run inside the service with `compose exec -T`.
|
||||||
Restart is followed by another readiness check and the same smoke test.
|
Restart is followed by another readiness check and the same smoke test.
|
||||||
|
|
||||||
|
|||||||
+1
-1
@@ -4,7 +4,7 @@ Runtime keys, passwords, sessions, private photos, databases and local `.env` fi
|
|||||||
must remain outside Git. Examples use documentation-only addresses and identities.
|
must remain outside Git. Examples use documentation-only addresses and identities.
|
||||||
Personal deployment reports and screenshots are excluded from public history.
|
Personal deployment reports and screenshots are excluded from public history.
|
||||||
|
|
||||||
The Gitea NAS Docker runner accepts trusted repository events only. GitHub mirrors
|
The Gitea Server Docker runner accepts trusted repository events only. GitHub mirrors
|
||||||
use the separate community workflow on GitHub-hosted disposable runners, with
|
use the separate community workflow on GitHub-hosted disposable runners, with
|
||||||
read-only repository permissions and no deployment configuration. External fork PRs
|
read-only repository permissions and no deployment configuration. External fork PRs
|
||||||
are not executed on this runner; maintainers must review them before copying changes
|
are not executed on this runner; maintainers must review them before copying changes
|
||||||
|
|||||||
Reference in New Issue
Block a user