feat: Add CI environment setup and verification workflows with Docker support
Some checks failed
Test / test-frontend (pull_request) Successful in 43s
Test / lint-frontend (pull_request) Successful in 47s
Verify / get-ci-image (pull_request) Successful in 47s
Test / frontend-build (pull_request) Successful in 1m29s
Verify / verify-generated-db-entities (pull_request) Has been cancelled
Test / test-crates (pull_request) Has been cancelled
Test / lint-crates (pull_request) Has been cancelled

This commit is contained in:
GW_MC
2026-04-16 04:47:04 +00:00
parent 50f17fd69b
commit b5e42f2f30
9 changed files with 324 additions and 11 deletions

View File

@@ -13,6 +13,10 @@ inputs:
description: 'Comma-separated list of additional rust components to install'
required: false
default: 'clippy, rustfmt'
skip_cache:
description: 'Whether to skip restoring and uploading caches (useful for testing the workflow without cache interference)'
required: false
default: 'false'
runs:
using: 'composite'
steps:
@@ -23,6 +27,7 @@ runs:
- name: Cache cargo registry
uses: actions/cache@v4
if: inputs.skip_cache != 'true'
with:
path: ~/.cargo/registry
key: ${{ runner.os }}-cargo-registry-${{ hashFiles('**/Cargo.lock') }}
@@ -31,6 +36,7 @@ runs:
- name: Cache cargo index
uses: actions/cache@v4
if: inputs.skip_cache != 'true'
with:
path: ~/.cargo/index
key: ${{ runner.os }}-cargo-index-${{ hashFiles('**/Cargo.lock') }}
@@ -42,7 +48,8 @@ runs:
run: echo "SANITIZED_COMPONENTS=${{ inputs.components }}" | sed -E 's/, ?| /-/g' >> $GITHUB_ENV
- name: Cache Rust toolchain
uses: actions/cache@v4
uses: actions/cache@v3
if: inputs.skip_cache != 'true'
with:
path: ~/.rustup
# Key includes the OS and the toolchain version (e.g., 'stable')
@@ -51,7 +58,8 @@ runs:
${{ runner.os }}-rustup-
- name: Cache cargo build (target)
uses: actions/cache@v4
uses: actions/cache@v3
if: inputs.skip_cache != 'true'
with:
path: target
key: ${{ runner.os }}-cargo-build-${{ hashFiles('**/Cargo.lock') }}
@@ -64,8 +72,3 @@ runs:
toolchain: ${{ inputs.toolchain }}
override: ${{ inputs.override }}
components: ${{ inputs.components }}
- name: install protobuf compiler
run: |
apt-get update
apt-get install -y protobuf-compiler