Skip to content

Soft-leader election mechanism for cc based on observed cluster state #6913

Soft-leader election mechanism for cc based on observed cluster state

Soft-leader election mechanism for cc based on observed cluster state #6913

Workflow file for this run

name: CI
on:
pull_request:
workflow_call:
workflow_dispatch:
push:
branches:
- main
jobs:
build-and-test:
name: Build and test (${{ matrix.os }})
runs-on: ${{ matrix.os }}
permissions:
contents: read
packages: read
timeout-minutes: 45
strategy:
fail-fast: false
matrix:
os: [warp-ubuntu-latest-x64-16x]
env:
RUST_BACKTRACE: full
steps:
- name: Install liburing
run: sudo apt-get update && sudo apt-get install -y liburing-dev
- uses: actions/checkout@v4
- name: Install Rust toolchain
uses: actions-rust-lang/setup-rust-toolchain@v1
with:
components: clippy
rustflags: ""
cache: false
- name: Setup Rust Caching
uses: WarpBuilds/rust-cache@v2 # a fork of Swatinem/rust-cache@v2 that uses warpbuild cache
with:
cache-on-failure: "true"
- name: Install protoc
uses: ./.github/actions/install-protoc
- name: Install nextest
uses: taiki-e/install-action@nextest
- name: Setup just
uses: extractions/setup-just@v2
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Check Cargo.lock file is updated
run: cargo update -w --locked
- name: Run verify
run: just verify
env:
LOCAL_CLUSTER_RUNNER_FORWARD_LOGS: "true"
LOCAL_CLUSTER_RUNNER_RETAIN_TEMPDIR: "true"
docker:
name: Create docker image
uses: ./.github/workflows/docker.yml
with:
uploadImageAsTarball: true
platforms: linux/amd64
sdk-java:
name: Run SDK-Java integration tests
permissions:
contents: read
issues: read
checks: write
pull-requests: write
actions: read
secrets: inherit
needs: docker
uses: restatedev/sdk-java/.github/workflows/integration.yaml@main
with:
restateCommit: ${{ github.event.pull_request.head.sha || github.sha }}
sdk-java-disable-idempotency-table:
name: Run SDK-Java integration tests with DisableIdempotencyTable
permissions:
contents: read
issues: read
checks: write
pull-requests: write
actions: read
secrets: inherit
needs: docker
uses: restatedev/sdk-java/.github/workflows/integration.yaml@main
with:
restateCommit: ${{ github.event.pull_request.head.sha || github.sha }}
envVars: |
RESTATE_WORKER__EXPERIMENTAL_FEATURE_DISABLE_IDEMPOTENCY_TABLE=true
testArtifactOutput: sdk-java-disable-idempotency-table-integration-test-report
sdk-python:
name: Run SDK-Python integration tests
permissions:
contents: read
issues: read
checks: write
pull-requests: write
actions: read
secrets: inherit
needs: docker
uses: restatedev/sdk-python/.github/workflows/integration.yaml@main
with:
restateCommit: ${{ github.event.pull_request.head.sha || github.sha }}
sdk-go:
name: Run SDK-Go integration tests
permissions:
contents: read
issues: read
checks: write
pull-requests: write
actions: read
secrets: inherit
needs: docker
uses: restatedev/sdk-go/.github/workflows/integration.yaml@main
with:
restateCommit: ${{ github.event.pull_request.head.sha || github.sha }}
sdk-typescript:
name: Run SDK-Typescript integration tests
permissions:
contents: read
issues: read
checks: write
pull-requests: write
actions: read
secrets: inherit
needs: docker
uses: restatedev/sdk-typescript/.github/workflows/integration.yaml@main
with:
restateCommit: ${{ github.event.pull_request.head.sha || github.sha }}
sdk-rust:
name: Run SDK-Rust integration tests
permissions:
contents: read
issues: read
checks: write
pull-requests: write
actions: read
secrets: inherit
needs: docker
uses: restatedev/sdk-rust/.github/workflows/integration.yaml@main
with:
restateCommit: ${{ github.event.pull_request.head.sha || github.sha }}
restate-ui:
name: Validate Restate UI artifact
runs-on: ubuntu-latest
permissions:
contents: read
steps:
- uses: actions/checkout@v4
- name: Verify the committed UI artifact matches the published one in restate-web-ui
run: ./tools/scripts/verify-ui-artifact