Skip to content

chore(deps-dev): bump brace-expansion from 2.0.2 to 2.1.4 in /tests #2558

chore(deps-dev): bump brace-expansion from 2.0.2 to 2.1.4 in /tests

chore(deps-dev): bump brace-expansion from 2.0.2 to 2.1.4 in /tests #2558

Workflow file for this run

name: PR
on:
pull_request:
concurrency:
group: pr-${{ github.ref }}
cancel-in-progress: true
permissions:
contents: read
env:
CARGO_TERM_COLOR: always
NODE_VERSION: "lts/*"
IMAGE_NAME: revaer
jobs:
instruction-drift:
name: Check Instruction Drift
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
fetch-depth: 0
ref: ${{ github.event.pull_request.head.sha }}
- uses: ./.github/actions/setup-revaer
with:
toolchain: ${{ vars.RUST_TOOLCHAIN_VERSION }}
- name: Instruction drift
env:
REVAER_INSTRUCTION_DIFF_BASE: ${{ github.event.pull_request.base.sha }}
REVAER_INSTRUCTION_DIFF_HEAD: ${{ github.event.pull_request.head.sha }}
run: just instruction-drift
# Quick formatting check that can run in parallel
fmt:
name: Check Formatting
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- uses: ./.github/actions/setup-revaer
with:
toolchain: ${{ vars.RUST_TOOLCHAIN_VERSION }}
components: rustfmt
- name: Format
run: just fmt
lint:
name: Check Lint
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- uses: ./.github/actions/setup-revaer
with:
toolchain: ${{ vars.RUST_TOOLCHAIN_VERSION }}
components: clippy
apt-profile: base
- name: Lint
run: just lint
check:
name: Run Checks
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- uses: ./.github/actions/setup-revaer
with:
toolchain: ${{ vars.RUST_TOOLCHAIN_VERSION }}
apt-profile: base
- name: Check
run: just check
helm-lint:
name: Helm Lint
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- uses: ./.github/actions/setup-revaer
with:
toolchain: ${{ vars.RUST_TOOLCHAIN_VERSION }}
apt-profile: base
- name: Set up Helm
uses: Azure/setup-helm@1a275c3b69536ee54be43f2070a358922e12c8d4 # v4.3.1
with:
version: v3.19.0
- name: Helm lint
run: just helm-lint
coverage:
name: Check Coverage
runs-on: ubuntu-latest
needs: [fmt, lint, check, helm-lint, udeps, deny, audit, load-matrix, instruction-drift]
permissions:
contents: read
pull-requests: read
env:
REVAER_TEST_DATABASE_URL: ${{ vars.REVAER_DATABASE_URL}}
DATABASE_URL: ${{ vars.REVAER_DATABASE_URL}}
SONAR_AUTH_TOKEN: ${{ secrets.SONAR_TOKEN || secrets.SONARQUBE_TOKEN }}
services:
postgres:
image: postgres:16-alpine
env:
POSTGRES_USER: revaer
POSTGRES_PASSWORD: revaer
POSTGRES_DB: revaer
options: >-
--health-cmd="pg_isready -U revaer -d revaer"
--health-interval=10s
--health-timeout=5s
--health-retries=5
ports:
- 5432:5432
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- uses: ./.github/actions/setup-revaer
with:
toolchain: ${{ vars.RUST_TOOLCHAIN_VERSION }}
apt-profile: db
- name: Run migrations
env:
DATABASE_URL: ${{ env.REVAER_TEST_DATABASE_URL }}
run: just db-migrate
- name: Coverage
run: just cov
- name: Upload coverage artifact
if: always()
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0
with:
name: sonar-coverage
path: coverage
if-no-files-found: error
- name: Build native compile database
run: just sonar-compile-db
- name: SonarQube scan
if: github.event.pull_request.head.repo.fork == false && env.SONAR_AUTH_TOKEN != ''
uses: SonarSource/sonarqube-scan-action@299e4b793aaa83bf2aba7c9c14bedbb485688ec4 # v7.1.0
env:
SONAR_TOKEN: ${{ env.SONAR_AUTH_TOKEN }}
native-it:
name: Native Integration Tests
runs-on: ubuntu-latest
needs: [fmt, lint, check, helm-lint, udeps, deny, audit, load-matrix, instruction-drift]
env:
REVAER_NATIVE_IT: "1"
DOCKER_HOST: unix:///var/run/docker.sock
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- uses: ./.github/actions/setup-revaer
with:
toolchain: ${{ vars.RUST_TOOLCHAIN_VERSION }}
apt-profile: base
- name: Native integration tests
run: just test-native
feature-matrix:
name: Feature Matrix
runs-on: ubuntu-latest
needs: [fmt, lint, check, helm-lint, udeps, deny, audit, load-matrix, instruction-drift]
env:
REVAER_TEST_DATABASE_URL: ${{ vars.REVAER_DATABASE_URL}}
DATABASE_URL: ${{ vars.REVAER_DATABASE_URL}}
services:
postgres:
image: postgres:16-alpine
env:
POSTGRES_USER: revaer
POSTGRES_PASSWORD: revaer
POSTGRES_DB: revaer
options: >-
--health-cmd="pg_isready -U revaer -d revaer"
--health-interval=10s
--health-timeout=5s
--health-retries=5
ports:
- 5432:5432
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- uses: ./.github/actions/setup-revaer
with:
toolchain: ${{ vars.RUST_TOOLCHAIN_VERSION }}
apt-profile: db
- name: Run migrations
env:
DATABASE_URL: ${{ env.REVAER_TEST_DATABASE_URL }}
run: just db-migrate
- name: Feature matrix tests (no default features)
run: just test-features-min
ui-e2e:
name: UI E2E (shard ${{ matrix.shard }}/3)
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
shard: [1, 2, 3]
needs: [fmt, lint, check, helm-lint, udeps, deny, audit, load-matrix, instruction-drift]
env:
E2E_API_BASE_URL: http://localhost:7070
E2E_BASE_URL: http://localhost:8080
E2E_DB_ADMIN_URL: postgres://revaer:revaer@localhost:5432/postgres
E2E_SKIP_DB_START: "1"
REVAER_TEST_DATABASE_URL: ${{ vars.REVAER_DATABASE_URL}}
DATABASE_URL: ${{ vars.REVAER_DATABASE_URL}}
PLAYWRIGHT_SHARD_INDEX: ${{ matrix.shard }}
PLAYWRIGHT_SHARD_TOTAL: 3
services:
postgres:
image: postgres:16-alpine
env:
POSTGRES_USER: revaer
POSTGRES_PASSWORD: revaer
POSTGRES_DB: revaer
options: >-
--health-cmd="pg_isready -U revaer -d revaer"
--health-interval=10s
--health-timeout=5s
--health-retries=5
ports:
- 5432:5432
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- uses: ./.github/actions/setup-revaer
with:
toolchain: ${{ vars.RUST_TOOLCHAIN_VERSION }}
node-version: ${{ env.NODE_VERSION }}
apt-profile: db
- name: UI E2E
run: just ui-e2e
- name: Upload E2E coverage
if: always()
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0
with:
name: ui-e2e-coverage-shard-${{ matrix.shard }}
path: |
tests/test-results/api-coverage-*.json
tests/test-results/ui-coverage-*.json
if-no-files-found: warn
ui-e2e-coverage:
name: UI E2E Coverage
runs-on: ubuntu-latest
needs: [ui-e2e, feature-matrix, native-it, coverage]
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- uses: ./.github/actions/setup-revaer
with:
toolchain: ${{ vars.RUST_TOOLCHAIN_VERSION }}
node-version: ${{ env.NODE_VERSION }}
- name: Download E2E coverage
uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
with:
pattern: ui-e2e-coverage-shard-*
path: tests/test-results
merge-multiple: true
- name: UI E2E coverage
run: just ui-e2e-coverage
load-matrix:
name: Load Matrix
runs-on: ubuntu-latest
outputs:
matrix: ${{ steps.out.outputs.matrix }}
short_sha: ${{ steps.sha.outputs.short_sha }}
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
ref: ${{ github.event.pull_request.head.sha }}
- id: sha
shell: bash
run: |
set -euo pipefail
echo "short_sha=$(git rev-parse --short HEAD)" >> "$GITHUB_OUTPUT"
- id: out
shell: bash
run: |
set -euo pipefail
{
echo "matrix<<EOF"
cat .github/matrices/build-images.json
echo "EOF"
} >> "$GITHUB_OUTPUT"
build-pr-images:
name: Images
needs: [ui-e2e, feature-matrix, native-it, coverage, load-matrix]
if: github.event.pull_request.head.repo.fork == false
uses: ./.github/workflows/build-images.yml
permissions:
contents: read
packages: write
security-events: write
id-token: write
with:
matrix: ${{ needs.load-matrix.outputs.matrix }}
image_name: revaer
version_tag: pr-${{ github.event.pull_request.number }}-${{ needs.load-matrix.outputs.short_sha }}
alias_tag: pr-${{ github.event.pull_request.number }}
include_sha_tag: false
publish_dev_helm: true
pr_number: ${{ github.event.pull_request.number }}
checkout_ref: ${{ github.event.pull_request.head.sha }}
secrets:
HELM_GPG_PRIVATE: ${{ secrets.HELM_GPG_PRIVATE }}
HELM_GPG_PUBLIC: ${{ secrets.HELM_GPG_PUBLIC }}
audit:
name: Run Audit
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- uses: ./.github/actions/setup-revaer
with:
toolchain: ${{ vars.RUST_TOOLCHAIN_VERSION }}
- name: Audit
run: just audit
deny:
name: Check Deny
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- uses: ./.github/actions/setup-revaer
with:
toolchain: ${{ vars.RUST_TOOLCHAIN_VERSION }}
- name: Deny
run: just deny
udeps:
name: Check Unused Deps
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- uses: ./.github/actions/setup-revaer
with:
toolchain: ${{ vars.RUST_TOOLCHAIN_VERSION }}
apt-profile: base
- name: Unused Deps
run: just udeps
build-release:
name: Build Release
if: github.ref == 'refs/heads/main' || startsWith(github.ref, 'refs/tags/')
runs-on: ubuntu-latest
needs: [ui-e2e, feature-matrix, native-it, coverage]
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- uses: ./.github/actions/setup-revaer
with:
toolchain: ${{ vars.RUST_TOOLCHAIN_VERSION }}
apt-profile: base
- name: Build release
run: just build-release