[Mechanical] BifrostAdmin doesn't need the extra level of indirection… #8011
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: CI | |
on: | |
pull_request: | |
workflow_call: | |
workflow_dispatch: | |
push: | |
branches: | |
- main | |
jobs: | |
workspace-hack-check: | |
name: Check workspace-hack | |
runs-on: ubuntu-latest | |
env: | |
RUSTFLAGS: -D warnings | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: dtolnay/rust-toolchain@stable | |
- name: Install cargo-hakari | |
uses: taiki-e/install-action@v2 | |
with: | |
tool: cargo-hakari | |
- name: Check workspace-hack Cargo.toml is up-to-date | |
run: cargo hakari generate --diff | |
- name: Check all crates depend on workspace-hack | |
run: cargo hakari manage-deps --dry-run | |
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: | |
# Disabled as uring is not used in production yet. | |
# - 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 | |
RUST_LOG=info,restate_invoker=trace,restate_ingress_http=trace,restate_bifrost=trace,restate_log_server=trace,restate_core::partitions=trace,restate=debug | |
testArtifactOutput: sdk-java-disable-idempotency-table-integration-test-report | |
sdk-java-kafka-next: | |
name: Run SDK-Java integration tests with KafkaIngressNext | |
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_INGRESS__EXPERIMENTAL_FEATURE_KAFKA_INGRESS_NEXT=true | |
RUST_LOG=info,restate_invoker=trace,restate_ingress_http=trace,restate_bifrost=trace,restate_log_server=trace,restate_core::partitions=trace,restate=debug | |
testArtifactOutput: sdk-java-kafka-next-gen-integration-test-report | |
sdk-java-invocation-status-killed: | |
name: Run SDK-Java integration tests with InvocationStatusKilled | |
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_INVOCATION_STATUS_KILLED=true | |
RUST_LOG=info,restate_invoker=trace,restate_ingress_http=trace,restate_bifrost=trace,restate_log_server=trace,restate_core::partitions=trace,restate=debug | |
testArtifactOutput: sdk-java-invocation-status-killed-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 |