Skip to content

馃悰 fix(storage): keep current decisions outside audit eviction #3347

馃悰 fix(storage): keep current decisions outside audit eviction

馃悰 fix(storage): keep current decisions outside audit eviction #3347

Workflow file for this run

name: CI
on:
push:
branches: [main]
pull_request:
workflow_dispatch:
inputs:
nightly:
description: Run nightly checks
default: false
type: boolean
permissions:
actions: read
contents: read
concurrency:
group: ci-${{ github.ref }}
cancel-in-progress: true
jobs:
source:
runs-on: ubuntu-24.04
timeout-minutes: 45
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
persist-credentials: false
- uses: ./.github/actions/setup
with:
tools: just aqua:EmbarkStudios/cargo-deny
- run: just lint-source
- run: just lint-deps
automation:
runs-on: ubuntu-24.04
timeout-minutes: 20
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
persist-credentials: false
- uses: ./.github/actions/setup
with:
tools: just node prek
- run: just lint-automation
contracts:
runs-on: ubuntu-24.04
timeout-minutes: 15
outputs:
baseline: ${{ steps.baseline.outputs.sha }}
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
fetch-depth: 0
persist-credentials: false
- uses: ./.github/actions/setup
with:
tools: >-
just jq uv aqua:axodotdev/cargo-dist aqua:mitsuhiko/insta github:nextest-rs/nextest
- id: baseline
env:
GH_TOKEN: ${{ github.token }}
run: |
sha=$(gh api "/repos/$GITHUB_REPOSITORY/actions/workflows/ci.yml/runs?branch=main&status=success&per_page=1" \
--jq '.workflow_runs[0].head_sha // empty')
test -n "$sha"
echo "sha=$sha" >> "$GITHUB_OUTPUT"
- run: just snapshots
- run: just release-plan
semver:
name: semver (shard ${{ matrix.shard }} of 7)
needs: contracts
strategy:
fail-fast: false
matrix:
shard: [0, 1, 2, 3, 4, 5, 6]
runs-on: ubuntu-24.04
timeout-minutes: 20
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
fetch-depth: 0
persist-credentials: false
- uses: ./.github/actions/setup
with:
cache-targets: false
tools: just jq github:obi1kenobi/cargo-semver-checks
- run: just semver-shard "$SHARD" 7 "$BASE_REV"
env:
SHARD: ${{ matrix.shard }}
BASE_REV: ${{ needs.contracts.outputs.baseline }}
platform:
name: platform (${{ matrix.os }})
strategy:
fail-fast: false
matrix:
os: [macos-26, windows-2025]
runs-on: ${{ matrix.os }}
timeout-minutes: 60
env:
HOMEBREW_NO_REQUIRE_TAP_TRUST: "1"
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
persist-credentials: false
- uses: ./.github/actions/setup
with:
tools: just github:nextest-rs/nextest
- run: just platform-test
coverage:
runs-on: ubuntu-24.04
timeout-minutes: 120
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
persist-credentials: false
- uses: ./.github/actions/setup
with:
tools: >-
just uv aqua:taiki-e/cargo-llvm-cov github:nextest-rs/nextest
github:Shopify/toxiproxy
- run: just coverage-native
- uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
if: always()
with:
name: coverage-native
path: .tox/coverage/native.lcov
if-no-files-found: error
frontend:
runs-on: ubuntu-24.04
timeout-minutes: 60
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
persist-credentials: false
- uses: ./.github/actions/setup
with:
components: llvm-tools-preview
targets: wasm32-unknown-unknown
tools: >-
just jq node aqua:taiki-e/cargo-llvm-cov github:nextest-rs/nextest github:leptos-rs/cargo-leptos
- run: just frontend-deps
- name: Install LLVM 22
run: |
curl --fail --location --output "$RUNNER_TEMP/llvm.asc" https://apt.llvm.org/llvm-snapshot.gpg.key
fingerprint=$(gpg --show-keys --with-colons "$RUNNER_TEMP/llvm.asc" | awk -F: '$1 == "fpr" { print $10; exit }')
test "$fingerprint" = 6084F3CF814B57C1CF12EFD515CF4D18AF4F7421
sudo install -m 644 "$RUNNER_TEMP/llvm.asc" /etc/apt/keyrings/llvm.asc
repository='https://apt.llvm.org/noble/ llvm-toolchain-noble-22 main'
echo "deb [signed-by=/etc/apt/keyrings/llvm.asc] $repository" | sudo tee /etc/apt/sources.list.d/llvm.list
sudo apt-get update
sudo apt-get install --yes clang-22 lcov
echo "CLANG=clang-22" >> "$GITHUB_ENV"
- run: just coverage-frontend
- uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
if: always()
with:
name: coverage-frontend
path: .tox/coverage/frontend-*.lcov
if-no-files-found: error
docs:
runs-on: ubuntu-24.04
timeout-minutes: 30
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
persist-credentials: false
- uses: ./.github/actions/setup
with:
tools: jq just node prek zola
- run: just lint-docs
- run: just docs
nightly:
if: github.event_name == 'workflow_dispatch' && inputs.nightly
uses: ./.github/workflows/nightly.yml
ci-gate:
if: always()
needs: [automation, contracts, coverage, docs, frontend, platform, semver, source]
runs-on: ubuntu-24.04
timeout-minutes: 5
steps:
- if: >-
needs.automation.result != 'success' || needs.contracts.result != 'success' ||
needs.coverage.result != 'success' || needs.docs.result != 'success' ||
needs.frontend.result != 'success' || needs.platform.result != 'success' ||
needs.semver.result != 'success' || needs.source.result != 'success'
run: exit 1