Skip to content

Avoid a hang on linux by always create the renderer, even when we have no store_view #8968

Avoid a hang on linux by always create the renderer, even when we have no store_view

Avoid a hang on linux by always create the renderer, even when we have no store_view #8968

Workflow file for this run

# Jobs that only run for developers on the `rerun` team.
# - We have to ensure that these jobs _only_ run for PRs inside the `rerun-io` organization
# this is done using the following check, added to every job:
# if: github.event.pull_request.head.repo.owner.login == 'rerun-io'
name: Pull-Request
on:
pull_request:
types:
- opened
- synchronize
# These jobs use fairly short names as they are a prefix in the display hierarchy
jobs:
checks:
name: Checks
if: github.event.pull_request.head.repo.owner.login == 'rerun-io'
uses: ./.github/workflows/reusable_checks.yml
with:
CONCURRENCY: pr-${{ github.event.pull_request.number }}
secrets: inherit
rust-paths-filter:
runs-on: ubuntu-latest
outputs:
rust_changes: ${{ steps.filter.outputs.rust_changes }}
steps:
- uses: actions/checkout@v4
with:
ref: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.ref || '' }}
- uses: dorny/paths-filter@v2
id: filter
with:
filters: |
rust_changes:
- "**/*.rs"
- "**/*.toml"
cpp-paths-filter:
runs-on: ubuntu-latest
outputs:
cpp_changes: ${{ steps.filter.outputs.cpp_changes }}
steps:
- uses: actions/checkout@v4
with:
ref: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.ref || '' }}
- uses: dorny/paths-filter@v2
id: filter
with:
filters: |
cpp_changes:
- '**/*.hpp'
- '**/*.cpp'
- '**/CMakeLists.txt'
- '**/*cmake'
rust-checks:
name: "Rust Checks"
if: github.event.pull_request.head.repo.owner.login == 'rerun-io' && needs.rust-paths-filter.outputs.rust_changes == 'true'
# Wait for the rust-paths-filter to be completed before starting.
needs: rust-paths-filter
uses: ./.github/workflows/reusable_checks_rust.yml
with:
CONCURRENCY: pr-${{ github.event.pull_request.number }}
secrets: inherit
cpp-tests:
name: "C++ tests"
if: needs.cpp-paths-filter.outputs.cpp_changes == 'true'
# Wait for the cpp-paths-filter to be completed before starting.
needs: cpp-paths-filter
uses: ./.github/workflows/reusable_checks_cpp.yml
with:
CONCURRENCY: pr-${{ github.event.pull_request.number }}
FULL: "true"
secrets: inherit
# Build and test a single wheel to limit CI cost. We use linux-x64 because it's fast. linux-arm64 would also be a good
# choice, but reusable_test_wheels.yml is broken for that target (https://github.com/rerun-io/rerun/issues/5525)
min-wheel-build:
name: "Minimum Wheel Build"
if: github.event.pull_request.head.repo.owner.login == 'rerun-io'
uses: ./.github/workflows/reusable_build_and_upload_wheels.yml
with:
CONCURRENCY: pr-${{ github.event.pull_request.number }}
MODE: "pr"
PLATFORM: linux-x64
WHEEL_ARTIFACT_NAME: "linux-x64-wheel-fast"
secrets: inherit
min-wheel-test:
name: "Minimum Wheel Test"
if: github.event.pull_request.head.repo.owner.login == 'rerun-io'
needs: [min-wheel-build]
uses: ./.github/workflows/reusable_test_wheels.yml
with:
CONCURRENCY: pr-${{ github.event.pull_request.number }}
PLATFORM: linux-x64
WHEEL_ARTIFACT_NAME: "linux-x64-wheel-fast"
secrets: inherit
build-js:
name: "Build JS"
if: github.event.pull_request.head.repo.owner.login == 'rerun-io'
uses: ./.github/workflows/reusable_build_js.yml
with:
CONCURRENCY: pr-${{ github.event.pull_request.number }}
secrets: inherit
build-web:
name: "Build Web"
if: github.event.pull_request.head.repo.owner.login == 'rerun-io'
uses: ./.github/workflows/reusable_build_web.yml
with:
CONCURRENCY: pr-${{ github.event.pull_request.number }}
CHANNEL: main
secrets: inherit
upload-web:
name: "Upload Web"
if: github.event.pull_request.head.repo.owner.login == 'rerun-io'
needs: [build-web]
uses: ./.github/workflows/reusable_upload_web.yml
with:
CONCURRENCY: pr-${{ github.event.pull_request.number }}
PR_NUMBER: ${{ github.event.pull_request.number }}
secrets: inherit
build-examples:
name: "Build Examples"
if: github.event.pull_request.head.repo.owner.login == 'rerun-io'
needs: [min-wheel-build]
uses: ./.github/workflows/reusable_build_examples.yml
with:
CONCURRENCY: pr-${{ github.event.pull_request.number }}
CHANNEL: main
WHEEL_ARTIFACT_NAME: linux-x64-wheel-fast
secrets: inherit
track-sizes:
name: "Track Sizes"
if: github.event.pull_request.head.repo.owner.login == 'rerun-io'
needs: [build-web, build-examples]
uses: ./.github/workflows/reusable_track_size.yml
with:
CONCURRENCY: push-${{ github.ref_name }}
PR_NUMBER: ${{ github.event.pull_request.number }}
secrets: inherit
upload-examples:
name: "Upload Examples"
if: github.event.pull_request.head.repo.owner.login == 'rerun-io'
needs: [build-examples]
uses: ./.github/workflows/reusable_upload_examples.yml
with:
CONCURRENCY: pr-${{ github.event.pull_request.number }}
PR_NUMBER: ${{ github.event.pull_request.number }}
secrets: inherit
run-notebook:
name: "Run Notebook"
if: github.event.pull_request.head.repo.owner.login == 'rerun-io'
needs: [min-wheel-build]
uses: ./.github/workflows/reusable_run_notebook.yml
with:
CONCURRENCY: pr-${{ github.event.pull_request.number }}
WHEEL_ARTIFACT_NAME: linux-x64-wheel-fast
secrets: inherit
save-pr-summary:
name: "Save PR Summary"
if: github.event.pull_request.head.repo.owner.login == 'rerun-io'
needs: [upload-web, run-notebook]
uses: ./.github/workflows/reusable_pr_summary.yml
with:
CONCURRENCY: pr-${{ github.event.pull_request.number }}
PR_NUMBER: ${{ github.event.pull_request.number }}
secrets: inherit
update-pr-body:
name: "Update PR Body"
if: github.event.pull_request.head.repo.owner.login == 'rerun-io'
uses: ./.github/workflows/reusable_update_pr_body.yml
with:
CONCURRENCY: pr-${{ github.event.pull_request.number }}
PR_NUMBER: ${{ github.event.pull_request.number }}
secrets: inherit