mirror of
https://forgejo.ellis.link/continuwuation/continuwuity.git
synced 2025-09-11 14:43:02 +02:00
Pipeline Modernisation: - Updated to prek (prefligit renamed to avoid typosquatting) - Adopted uvx for tool invocation (prek, rustup) without install scripts - Consolidated workflow steps to run in parallel where possible - Removed redundant custom actions in favour of direct uvx commands - Made sccache optional (based on secrets availability) for fork compatibility Workflow Restructuring: - Renamed workflows for clarity and consistency: * rust-checks.yml → ci-checks.yml (now includes prek linting) * clients-element.yml → deploy-element.yml * documentation.yml → deploy-docs.yml * release-image.yml → release-builds.yml (builds images AND binaries) * mirror-images.yml → docker-mirror.yml - Simplified job and step naming throughout for better readability Performance Improvements: - Parallel execution of independent steps (formatting and prek checks) - Optimised caching strategy for uv and Rust dependencies - Reduced CI execution time through better parallelisation Dependency Management: - Added Renovate configuration for automated dependency updates - Configured to monitor both .forgejo/ and .github/ workflows - Set up automatic PR creation for non-major GitHub Actions updates
47 lines
1.3 KiB
YAML
47 lines
1.3 KiB
YAML
name: Deploy / Mirror 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
|
|
env:
|
|
BUILTIN_REGISTRY_USER: ${{ vars.BUILTIN_REGISTRY_USER }}
|
|
BUILTIN_REGISTRY_PASSWORD: ${{ secrets.BUILTIN_REGISTRY_PASSWORD }}
|
|
GITLAB_USERNAME: ${{ vars.GITLAB_USERNAME }}
|
|
GITLAB_TOKEN: ${{ secrets.GITLAB_TOKEN }}
|
|
steps:
|
|
- name: Checkout repository
|
|
uses: actions/checkout@v4
|
|
with:
|
|
persist-credentials: false
|
|
|
|
- name: Install regctl
|
|
uses: https://forgejo.ellis.link/continuwuation/regclient-actions/regctl-installer@main
|
|
with:
|
|
binary: regsync
|
|
|
|
- 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
|