Commit Graph

69 Commits

Author SHA1 Message Date
Ginger 58bbc0e676 fix: Move packaging files from dist/ to pkg/ 2025-09-06 14:03:57 +00:00
Ginger d19e0f0d97 feat: Move packaging scripts into dist/ and consolidate the service files 2025-09-06 14:03:57 +00:00
Renovate Bot 5cce024841 chore(deps): update https://github.com/reproducible-containers/buildkit-cache-dance action to v3.3.0 2025-08-31 00:44:28 +00:00
Jade Ellis e87c461b8d feat: Cache renovate data, RO GitHub token 2025-08-31 01:37:50 +01:00
Tom Foster dd22325ea2 refactor(ci): Consolidate Rust checks with optimised toolchain setup
Merge rust-checks.yml into prek-checks.yml for a unified workflow that
runs formatting and clippy/test checks in parallel jobs.

Add reusable composite actions:
- setup-rust: Smart Rust toolchain management with caching
  * Uses cargo-binstall for pre-built binary downloads
  * Integrates Mozilla sccache-action for compilation caching
  * Workspace-relative paths for better cache control
  * GitHub token support for improved rate limits
- setup-llvm-with-apt: LLVM installation with native dependencies
- detect-runner-os: Consistent OS detection for cache keys

Key improvements:
- Install prek via cargo-binstall --git (crates.io outdated at v0.0.1)
- Download timelord-cli from cargo-quickinstall
- Set BINSTALL_MAXIMUM_RESOLUTION_TIMEOUT=10 to avoid rate limit delays
- Default Rust version 1.87.0 with override support
- Remove redundant sccache stats (handled by Mozilla action)

Significantly reduces CI runtime through binary downloads instead of
compilation while maintaining all existing quality checks.
2025-08-28 19:20:14 +01:00
Tom Foster aacaf5a2a0 fix(ci): Downgrade setup-uv action from v6 to v5
The setup-uv@v6 action has deprecated Node 18 support mid-version by
using the File API, causing workflow failures. Temporarily downgrading
to v5 until we migrate to a better runner image with Node 20+ support.
2025-08-21 21:10:15 +01:00
Tom Foster 14a4b24fc5 fix(ci): Configure Renovate for Forgejo platform
- Set platform to 'forgejo' with proper API endpoint
- Use environment variables for all Renovate configuration
- Add git timeout and disable GitHub token warnings
- Move PR limit configuration to workflow
2025-08-17 17:37:24 +01:00
Tom Foster 731761f0fc Merge branch 'main' into tom/prek-was-prefligit 2025-08-17 15:08:44 +00:00
Tom Foster 4524a00fc6 chore(ci): Remove obsolete prefligit action
Now using prek directly via uvx, this custom action is no longer needed.
2025-08-17 16:00:42 +01:00
Tom Foster 9db750e97c fix(ci): Add full GitHub URL to renovate action
Forgejo's runner doesn't automatically assume actions are on github.com,
so we need to specify the full URL.
2025-08-17 15:51:29 +01:00
Tom Foster b14a4d470b Merge branch 'main' into tom/prek-was-prefligit 2025-08-17 14:16:35 +00:00
Tom Foster 5d1f141882 ci: Rename prefligit-checks.yml to prek-checks.yml
Rename workflow file to match the updated tool name.
2025-08-17 15:13:02 +01:00
Tom Foster b447cfff56 ci: Update prefligit to prek
The prefligit project has been renamed to prek due to typosquatting
concerns. This updates our CI to use the new name and recommended
installation method via uv, which significantly reduces setup time
compared to cargo install and includes automatic caching.

- Replace outdated static prefligit action with direct prek invocation
- Use uv as recommended by upstream: https://github.com/j178/prek
- Update check-byte-order-marker to fix-byte-order-marker (deprecated)
- Simplify workflow by removing unused ref calculations

The same .pre-commit-config.yaml works unchanged. Developers can
install locally with 'uvx prek install' or other methods from the repo.
2025-08-17 15:11:38 +01:00
Tom Foster f54e59a068 ci: Add Renovate for automated dependency management
Configures Renovate bot to create PRs for outdated dependencies.
Runs daily at 5am UTC with manual trigger via workflow_dispatch.

Configuration:
- Ignores custom forks (jemalloc, telemetry packages)
- Groups: GHA minor/patch, Rust toolchain, lockfile, Rust patches
- Limits: 3 concurrent PRs, 2 PRs per hour
- Supports: Cargo, GitHub Actions, Nix
2025-08-17 14:20:20 +01:00
Jade Ellis 66181c61af chore: Update rocksdb, feature flag changes
Most of the way to static musl builds, just zlib I think
2025-07-24 21:51:52 +01:00
Jade Ellis 7e2f04a78a chore: Check all features in CI and docs 2025-07-20 21:25:27 +01:00
Jade Ellis d74514f305 ci: Fix inverted latest tag 2025-07-20 20:59:29 +01:00
Jade Ellis 8fb94f99e9 ci: Upload binaries as artifacts 2025-07-07 01:40:59 +00:00
Jade Ellis 3977ccfcea ci: Fix docker tags 2025-07-07 01:40:59 +00:00
Jade Ellis 890b8e25fc ci: Mirror RC tags 2025-07-07 01:40:59 +00:00
Jade Ellis 928b7c5e4a fix: Correct vars 2025-07-06 22:57:33 +01:00
Jade Ellis af8783ee51 ci: Mirror registry images 2025-07-06 22:45:01 +01:00
Tom Foster 7e406445d4 Element Web build fixes 2025-07-03 22:26:02 +01:00
Jade Ellis 9bbe333082 ci: Don't run docs flow when the secret is inaccessible 2025-06-24 22:43:43 +01:00
Jade Ellis 2ecbd75d64 ci: fixes
- Install UV
- Verbose run
- Set permissions explicitly
- Check all files
2025-06-21 19:17:21 +01:00
Jade Ellis 93719018a8 ci: Run additional sanity checks on repository 2025-06-21 17:58:28 +01:00
Jade Ellis 01200d9b54 build: Allow specifying build profile
Additionally splits caches by target CPU
2025-06-20 21:48:37 +01:00
Jade Ellis d7514178ab ci: Fix extra bracket in commit shorthash 2025-06-13 14:30:26 +01:00
Jade Ellis 3c44dccd65 ci: HACK, disable saving to actions cache 2025-05-26 19:16:50 +01:00
Jade Ellis b9d60c64e5 ci: Don't specify container for image builder 2025-05-26 19:16:04 +01:00
Jade Ellis 94ae824149 ci: Don't install rustup if it's already there 2025-05-26 19:16:03 +01:00
Jade Ellis dcbc4b54c5 ci: Always show sccache stats 2025-05-21 12:45:25 +01:00
Jade Ellis 7a46563f23 ci: Cache docker image build mounts 2025-05-21 01:48:25 +01:00
Jade Ellis a4ad72e11d ci: Run cargo test 2025-05-20 21:48:40 +01:00
Jade Ellis 1f57508879 ci: Don't clippy check dependancies 2025-05-20 21:47:35 +01:00
Jade Ellis a325dfa56a ci: Use timelord in clippy check 2025-05-20 21:47:27 +01:00
Jade Ellis b5d2ef9a4a ci: Refactor timelord to its own action 2025-05-20 21:36:01 +01:00
Jade Ellis e200a7d991 ci: Cache Rust registry 2025-05-20 21:36:01 +01:00
Jade Ellis e31d261e66 ci: Run clippy check 2025-05-20 21:36:00 +01:00
Jade Ellis f14725a51b ci: Check formatting
Also moves rustup installation to a seperate workflow and
enables caching.
The sccache action required a github.com api token, so we set
all that up too.
2025-05-20 21:31:41 +01:00
Jade Ellis 066794fe90 ci: Don't try build images on PR 2025-05-20 21:31:40 +01:00
Jade Ellis d78fc53577 ci: Fix bad comparison 2025-05-01 21:27:12 +01:00
Jade Ellis cbcf4300df ci: Cache timelord-cli to avoid unnecesary compilation 2025-05-01 21:23:37 +01:00
Jade Ellis a98da7d942 refactor: Move git version info gather in into a build script 2025-05-01 00:38:35 +01:00
Jade Ellis e1655edd83 feat: HTML default page 2025-04-30 22:31:25 +01:00
Tom Foster 60caa448b0 Tidy up publishing restriction check 2025-04-27 18:13:10 +00:00
Tom Foster eb886b6760 Element Web client build 2025-04-27 18:13:10 +00:00
Tom Foster 73c991edd0 Ignore all markdown for auto image builds 2025-04-27 18:13:10 +00:00
Tom Foster c698d65a92 Make Cloudflare Pages optional in CI 2025-04-27 18:13:10 +00:00
nexy7574 8f21403796 Use any runner for docs 2025-04-23 17:39:36 +01:00