mirror of
https://forgejo.ellis.link/continuwuation/continuwuity.git
synced 2025-07-08 11:40:01 +02:00
ci: Mirror registry images
Some checks failed
Documentation / Build and Deploy Documentation (push) Has been skipped
Checks / Prefligit / prefligit (push) Failing after 2s
Release Docker Image / define-variables (push) Failing after 3s
Release Docker Image / build-image (linux/amd64, release, linux-amd64, base) (push) Has been skipped
Release Docker Image / build-image (linux/arm64, release, linux-arm64, base) (push) Has been skipped
Release Docker Image / merge (push) Has been skipped
Checks / Rust / Format (push) Failing after 3s
Checks / Rust / Clippy (push) Failing after 18s
Checks / Rust / Cargo Test (push) Failing after 16s
Some checks failed
Documentation / Build and Deploy Documentation (push) Has been skipped
Checks / Prefligit / prefligit (push) Failing after 2s
Release Docker Image / define-variables (push) Failing after 3s
Release Docker Image / build-image (linux/amd64, release, linux-amd64, base) (push) Has been skipped
Release Docker Image / build-image (linux/arm64, release, linux-arm64, base) (push) Has been skipped
Release Docker Image / merge (push) Has been skipped
Checks / Rust / Format (push) Failing after 3s
Checks / Rust / Clippy (push) Failing after 18s
Checks / Rust / Cargo Test (push) Failing after 16s
This commit is contained in:
parent
52954c5b75
commit
490885a80f
2 changed files with 95 additions and 0 deletions
55
.forgejo/regsync/regsync.yml
Normal file
55
.forgejo/regsync/regsync.yml
Normal file
|
@ -0,0 +1,55 @@
|
||||||
|
version: 1
|
||||||
|
|
||||||
|
x-source: &source forgejo.ellis.link/continuwuation/continuwuity
|
||||||
|
|
||||||
|
x-tags:
|
||||||
|
releases: &tags-releases
|
||||||
|
tags:
|
||||||
|
allow:
|
||||||
|
- "latest"
|
||||||
|
- "v[0-9]+\\.[0-9]+\\.[0-9]+"
|
||||||
|
- "v[0-9]+\\.[0-9]+"
|
||||||
|
- "v[0-9]+"
|
||||||
|
main: &tags-main
|
||||||
|
tags:
|
||||||
|
allow:
|
||||||
|
- "latest"
|
||||||
|
- "v[0-9]+\\.[0-9]+\\.[0-9]+"
|
||||||
|
- "v[0-9]+\\.[0-9]+"
|
||||||
|
- "v[0-9]+"
|
||||||
|
- "main"
|
||||||
|
commits: &tags-commits
|
||||||
|
tags:
|
||||||
|
allow:
|
||||||
|
- "latest"
|
||||||
|
- "v[0-9]+\\.[0-9]+\\.[0-9]+"
|
||||||
|
- "v[0-9]+\\.[0-9]+"
|
||||||
|
- "v[0-9]+"
|
||||||
|
- "main"
|
||||||
|
- "sha-[a-f0-9]+"
|
||||||
|
all: &tags-all
|
||||||
|
tags:
|
||||||
|
allow:
|
||||||
|
- ".*"
|
||||||
|
|
||||||
|
# Registry credentials
|
||||||
|
creds:
|
||||||
|
- registry: forgejo.ellis.link
|
||||||
|
user: "{{env \"BUILTIN_REGISTRY_USER\"}}"
|
||||||
|
pass: "{{env \"BUILTIN_REGISTRY_PASSWORD\"}}"
|
||||||
|
- registry: glcr.io
|
||||||
|
user: "{{env \"GITLAB_USERNAME\"}}"
|
||||||
|
pass: "{{env \"GITLAB_TOKEN\"}}"
|
||||||
|
|
||||||
|
# Global defaults
|
||||||
|
defaults:
|
||||||
|
parallel: 3
|
||||||
|
interval: 2h
|
||||||
|
digestTags: true
|
||||||
|
|
||||||
|
# Sync configuration - each registry gets different image sets
|
||||||
|
sync:
|
||||||
|
- source: *source
|
||||||
|
target: registry.gitlab.com/continuwuity/continuwuity
|
||||||
|
type: repository
|
||||||
|
<<: *tags-main
|
40
.forgejo/workflows/mirror-images.yml
Normal file
40
.forgejo/workflows/mirror-images.yml
Normal file
|
@ -0,0 +1,40 @@
|
||||||
|
name: Mirror Container Images
|
||||||
|
|
||||||
|
on:
|
||||||
|
schedule:
|
||||||
|
# Run every 2 hours
|
||||||
|
- cron: "0 */2 * * *"
|
||||||
|
workflow_dispatch:
|
||||||
|
inputs:
|
||||||
|
dry_run:
|
||||||
|
description: 'Dry run (check only, no actual mirroring)'
|
||||||
|
required: false
|
||||||
|
default: false
|
||||||
|
type: boolean
|
||||||
|
|
||||||
|
concurrency:
|
||||||
|
group: "mirror-images"
|
||||||
|
cancel-in-progress: true
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
mirror-images:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- name: Checkout repository
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
with:
|
||||||
|
persist-credentials: false
|
||||||
|
|
||||||
|
- name: Install regctl
|
||||||
|
uses: https://github.com/regclient/actions/regctl-installer@main]
|
||||||
|
|
||||||
|
- name: Check what images need mirroring
|
||||||
|
run: |
|
||||||
|
echo "Checking images that need mirroring..."
|
||||||
|
regsync check -c .forgejo/regsync/regsync.yml -v info
|
||||||
|
|
||||||
|
- name: Mirror images
|
||||||
|
if: ${{ !inputs.dry_run }}
|
||||||
|
run: |
|
||||||
|
echo "Starting image mirroring..."
|
||||||
|
regsync once -c .forgejo/regsync/regsync.yml -v info
|
Loading…
Add table
Reference in a new issue