Add OTel HTTP support #573
Workflow file for this run
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: Per merge CI | |
on: # rebuild any PRs and main branch changes | |
pull_request: | |
push: | |
branches: | |
- master | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} | |
cancel-in-progress: true | |
jobs: | |
build-and-test: | |
name: "Format, docs, and lint" | |
timeout-minutes: 10 | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
submodules: recursive | |
- uses: dtolnay/rust-toolchain@stable | |
with: | |
toolchain: 1.80.0 | |
- name: Install protoc | |
uses: arduino/setup-protoc@v3 | |
with: | |
# TODO: Upgrade proto once https://github.com/arduino/setup-protoc/issues/99 is fixed | |
version: '23.x' | |
repo-token: ${{ secrets.GITHUB_TOKEN }} | |
- run: rustup component add rustfmt clippy | |
- uses: Swatinem/rust-cache@v2 | |
- run: cargo fmt --all --check | |
- run: cargo doc --workspace --all-features --no-deps | |
- run: cargo lint | |
- run: cargo test-lint | |
test: | |
name: Unit Tests | |
timeout-minutes: 10 | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: dtolnay/rust-toolchain@stable | |
with: | |
toolchain: 1.80.0 | |
- name: Install protoc | |
uses: arduino/setup-protoc@v3 | |
with: | |
# TODO: Upgrade proto once https://github.com/arduino/setup-protoc/issues/99 is fixed | |
version: '23.x' | |
repo-token: ${{ secrets.GITHUB_TOKEN }} | |
- uses: Swatinem/rust-cache@v2 | |
- run: cargo test -- --include-ignored --nocapture | |
- uses: actions/upload-artifact@v4 | |
with: | |
name: coverage-report | |
path: tarpaulin-report.html | |
- uses: actions/upload-artifact@v4 | |
with: | |
name: state-machine-coverage | |
path: machine_coverage/ | |
integ-tests: | |
name: Integ tests | |
env: | |
TEMPORAL_CLOUD_ADDRESS: https://${{ vars.TEMPORAL_CLIENT_NAMESPACE }}.tmprl.cloud:7233 | |
TEMPORAL_CLOUD_NAMESPACE: ${{ vars.TEMPORAL_CLIENT_NAMESPACE }} | |
TEMPORAL_CLIENT_CERT: ${{ secrets.TEMPORAL_CLIENT_CERT }} | |
TEMPORAL_CLIENT_KEY: ${{ secrets.TEMPORAL_CLIENT_KEY }} | |
timeout-minutes: 20 | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: dtolnay/rust-toolchain@stable | |
with: | |
toolchain: 1.80.0 | |
- name: Install protoc | |
uses: arduino/setup-protoc@v3 | |
with: | |
# TODO: Upgrade proto once https://github.com/arduino/setup-protoc/issues/99 is fixed | |
version: '23.x' | |
repo-token: ${{ secrets.GITHUB_TOKEN }} | |
- uses: Swatinem/rust-cache@v2 | |
- run: cargo integ-test | |
docker-integ-tests: | |
name: Docker integ tests | |
env: | |
TEMPORAL_CLOUD_ADDRESS: https://${{ vars.TEMPORAL_CLIENT_NAMESPACE }}.tmprl.cloud:7233 | |
TEMPORAL_CLOUD_NAMESPACE: ${{ vars.TEMPORAL_CLIENT_NAMESPACE }} | |
TEMPORAL_CLIENT_CERT: ${{ secrets.TEMPORAL_CLIENT_CERT }} | |
TEMPORAL_CLIENT_KEY: ${{ secrets.TEMPORAL_CLIENT_KEY }} | |
DOCKER_PROMETHEUS_RUNNING: true | |
timeout-minutes: 20 | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: dtolnay/rust-toolchain@stable | |
with: | |
toolchain: 1.80.0 | |
- name: Install protoc | |
uses: arduino/setup-protoc@v3 | |
with: | |
# TODO: Upgrade proto once https://github.com/arduino/setup-protoc/issues/99 is fixed | |
version: '23.x' | |
repo-token: ${{ secrets.GITHUB_TOKEN }} | |
- name: Start container for otel-collector and prometheus | |
uses: hoverkraft-tech/[email protected] | |
with: | |
compose-file: ./docker/docker-compose-ci.yaml | |
- uses: Swatinem/rust-cache@v2 | |
- run: cargo integ-test test_docker_ |