Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

New PR template + associated CI updates #8192

Merged
merged 19 commits into from
Nov 21, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
37 changes: 14 additions & 23 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
@@ -1,31 +1,22 @@
<!--
Open the PR up as a draft until you feel it is ready for a proper review.

Do not make PR:s from your own `main` branch, as that makes it difficult for reviewers to add their own fixes.

Add any improvements to the branch as new commits to make it easier for reviewers to follow the progress. All commits will be squashed to a single commit once the PR is merged into `main`.

Make sure you mention any issues that this PR closes in the description, as well as any other related issues.
### Related

To get an auto-generated PR description you can put "copilot:summary" or "copilot:walkthrough" anywhere.
<!--
Include links to any related issues/PRs in a bulleted list, for example:
* Closes #1234
* Part of #1337
-->

### What

### Checklist
* [ ] I have read and agree to [Contributor Guide](https://github.com/rerun-io/rerun/blob/main/CONTRIBUTING.md) and the [Code of Conduct](https://github.com/rerun-io/rerun/blob/main/CODE_OF_CONDUCT.md)
* [ ] I've included a screenshot or gif (if applicable)
* [ ] I have tested the web demo (if applicable):
* Using examples from latest `main` build: [rerun.io/viewer](https://rerun.io/viewer/pr/{{pr.number}}?manifest_url=https://app.rerun.io/version/main/examples_manifest.json)
* Using full set of examples from `nightly` build: [rerun.io/viewer](https://rerun.io/viewer/pr/{{pr.number}}?manifest_url=https://app.rerun.io/version/nightly/examples_manifest.json)
* [ ] The PR title and labels are set such as to maximize their usefulness for the next release's CHANGELOG
* [ ] If applicable, add a new check to the [release checklist](https://github.com/rerun-io/rerun/blob/main/tests/python/release_checklist)!
* [ ] If have noted any breaking changes to the log API in `CHANGELOG.md` and the migration guide
<!--
Make sure the PR title and labels are set to maximize their usefulness for the CHANGELOG,
and our `git log`.

- [PR Build Summary](https://build.rerun.io/pr/{{pr.number}})
- [Recent benchmark results](https://build.rerun.io/graphs/crates.html)
- [Wasm size tracking](https://build.rerun.io/graphs/sizes.html)
If you have noticed any breaking changes, include them in the migration guide.

To run all checks from `main`, comment on the PR with `@rerun-bot full-check`.
We track various metrics at <https://build.rerun.io>.

To deploy documentation changes immediately after merging this PR, add the `deploy docs` label.
For maintainers:
* To run all checks from `main`, comment on the PR with `@rerun-bot full-check`.
* To deploy documentation changes immediately after merging this PR, add the `deploy docs` label.
-->
2 changes: 1 addition & 1 deletion .github/workflows/auto_docs_check.yml
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ jobs:
check-cherry-pick:
name: Check if merge commit can be cherry-picked
runs-on: ubuntu-latest
if: ${{ contains(github.event.pull_request.labels.*.name, 'deploy docs') }}
if: github.event.pull_request.head.repo.owner.login == 'rerun-io' && contains(github.event.pull_request.labels.*.name, 'deploy docs')
steps:
- uses: actions/checkout@v3
with:
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/checkboxes.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ defaults:

permissions:
contents: "read"
pull-requests: "write"
pull-requests: "read"

jobs:
pr-checkboxes:
Expand Down
22 changes: 22 additions & 0 deletions .github/workflows/first_time_contrib.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
name: First time contributors

on:
pull_request_target:

permissions:
contents: "write"
id-token: "write"
pull-requests: "write"

jobs:
comment:
name: Comment on PRs
runs-on: ubuntu-latest
steps:
- uses: actions/[email protected]
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
pr-message: |
Hi! Thanks for opening this pull request.

Because this is your first time contributing to this repository, make sure you've read our [Contributor Guide](https://github.com/rerun-io/rerun/blob/main/CONTRIBUTING.md) and [Code of Conduct](https://github.com/rerun-io/rerun/blob/main/CODE_OF_CONDUCT.md).
jprochazk marked this conversation as resolved.
Show resolved Hide resolved
112 changes: 24 additions & 88 deletions .github/workflows/on_pull_request.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,11 +25,15 @@ jobs:
CHANNEL: pr
secrets: inherit

cpp-paths-filter:
paths-filter:
if: github.event.pull_request.head.repo.owner.login == 'rerun-io'
runs-on: ubuntu-latest
outputs:
cpp_changes: ${{ steps.filter.outputs.cpp_changes }}
docs_changes: ${{ steps.filter.outputs.docs_changes }}
python_changes: ${{ steps.filter.outputs.python_changes }}
rust_changes: ${{ steps.filter.outputs.rust_changes }}
web_changes: ${{ steps.filter.outputs.web_changes }}
steps:
- uses: actions/checkout@v4
with:
Expand All @@ -48,16 +52,6 @@ jobs:
- '**/CMakeLists.txt'
- '**/*cmake'

docs-paths-filter:
if: github.event.pull_request.head.repo.owner.login == 'rerun-io'
runs-on: ubuntu-latest
outputs:
docs_changes: ${{ steps.filter.outputs.docs_changes }}
steps:
- uses: dorny/paths-filter@v3
id: filter
with:
filters: |
docs_changes:
# - .github/**/*.yml - this is tempting, but leads to constant rebuilds
- .github/actions/vercel/**/*
Expand All @@ -68,19 +62,6 @@ jobs:
- 'examples/**/*.md'
- 'examples/manifest.toml'

python-paths-filter:
if: github.event.pull_request.head.repo.owner.login == 'rerun-io'
runs-on: ubuntu-latest
outputs:
python_changes: ${{ steps.filter.outputs.python_changes }}
steps:
- uses: actions/checkout@v4
with:
ref: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.ref || '' }}
- uses: dorny/paths-filter@v3
id: filter
with:
filters: |
python_changes:
# - .github/**/*.yml - this is tempting, but leads to constant rebuilds
- pixi.lock # maybe out build commands have changed
Expand All @@ -90,19 +71,6 @@ jobs:
- '**/requirements.txt'
- '**/pyproject.toml'

rust-paths-filter:
if: github.event.pull_request.head.repo.owner.login == 'rerun-io'
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@v3
id: filter
with:
filters: |
rust_changes:
# - .github/**/*.yml - this is tempting, but leads to constant rebuilds
- Cargo.lock
Expand All @@ -112,19 +80,6 @@ jobs:
- "**/*.rs"
- "**/*.toml"

web-paths-filter:
if: github.event.pull_request.head.repo.owner.login == 'rerun-io'
runs-on: ubuntu-latest
outputs:
web_changes: ${{ steps.filter.outputs.web_changes }}
steps:
- uses: actions/checkout@v4
with:
ref: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.ref || '' }}
- uses: dorny/paths-filter@v3
id: filter
with:
filters: |
web_changes:
# - .github/**/*.yml - this is tempting, but leads to constant rebuilds
- Cargo.lock
Expand All @@ -141,8 +96,8 @@ jobs:

rust-checks:
name: "Rust Checks"
needs: rust-paths-filter
if: github.event.pull_request.head.repo.owner.login == 'rerun-io' && needs.rust-paths-filter.outputs.rust_changes == 'true'
needs: [paths-filter]
if: github.event.pull_request.head.repo.owner.login == 'rerun-io' && needs.paths-filter.outputs.rust_changes == 'true'
uses: ./.github/workflows/reusable_checks_rust.yml
with:
CONCURRENCY: pr-${{ github.event.pull_request.number }}
Expand All @@ -151,17 +106,17 @@ jobs:

python-checks:
name: "Python Checks"
needs: python-paths-filter
if: github.event.pull_request.head.repo.owner.login == 'rerun-io' && needs.python-paths-filter.outputs.python_changes == 'true'
needs: [paths-filter]
if: github.event.pull_request.head.repo.owner.login == 'rerun-io' && needs.paths-filter.outputs.python_changes == 'true'
uses: ./.github/workflows/reusable_checks_python.yml
with:
CONCURRENCY: pr-${{ github.event.pull_request.number }}
secrets: inherit

cpp-tests:
name: "C++ tests"
needs: cpp-paths-filter
if: needs.cpp-paths-filter.outputs.cpp_changes == 'true'
needs: [paths-filter]
if: needs.paths-filter.outputs.cpp_changes == 'true'
uses: ./.github/workflows/reusable_checks_cpp.yml
with:
CONCURRENCY: pr-${{ github.event.pull_request.number }}
Expand All @@ -170,8 +125,8 @@ jobs:

min-cli-build:
name: "Minimum CLI Build"
needs: [python-paths-filter, rust-paths-filter]
if: needs.python-paths-filter.outputs.python_changes == 'true' || needs.rust-paths-filter.outputs.rust_changes == 'true'
needs: [paths-filter]
if: needs.paths-filter.outputs.python_changes == 'true' || needs.paths-filter.outputs.rust_changes == 'true'
uses: ./.github/workflows/reusable_build_and_upload_rerun_cli.yml
with:
CONCURRENCY: pr-${{ github.event.pull_request.number }}
Expand All @@ -182,8 +137,8 @@ jobs:
# 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"
needs: [min-cli-build, python-paths-filter, rust-paths-filter]
if: github.event.pull_request.head.repo.owner.login == 'rerun-io' && (needs.python-paths-filter.outputs.python_changes == 'true' || needs.rust-paths-filter.outputs.rust_changes == 'true')
needs: [min-cli-build, paths-filter]
if: github.event.pull_request.head.repo.owner.login == 'rerun-io' && (needs.paths-filter.outputs.python_changes == 'true' || needs.paths-filter.outputs.rust_changes == 'true')
uses: ./.github/workflows/reusable_build_and_upload_wheels.yml
with:
CONCURRENCY: pr-${{ github.event.pull_request.number }}
Expand All @@ -194,8 +149,8 @@ jobs:

min-wheel-test:
name: "Minimum Wheel Test"
needs: [min-wheel-build, python-paths-filter, rust-paths-filter]
if: github.event.pull_request.head.repo.owner.login == 'rerun-io' && (needs.python-paths-filter.outputs.python_changes == 'true' || needs.rust-paths-filter.outputs.rust_changes == 'true')
needs: [min-wheel-build, paths-filter]
if: github.event.pull_request.head.repo.owner.login == 'rerun-io' && (needs.paths-filter.outputs.python_changes == 'true' || needs.paths-filter.outputs.rust_changes == 'true')
uses: ./.github/workflows/reusable_test_wheels.yml
with:
CONCURRENCY: pr-${{ github.event.pull_request.number }}
Expand All @@ -206,17 +161,17 @@ jobs:

build-js:
name: "Build rerun_js"
needs: [web-paths-filter]
if: github.event.pull_request.head.repo.owner.login == 'rerun-io' && needs.web-paths-filter.outputs.web_changes == 'true'
needs: [paths-filter]
if: github.event.pull_request.head.repo.owner.login == 'rerun-io' && needs.paths-filter.outputs.web_changes == 'true'
uses: ./.github/workflows/reusable_build_js.yml
with:
CONCURRENCY: pr-${{ github.event.pull_request.number }}
secrets: inherit

build-web:
name: "Build web viewer"
needs: [web-paths-filter]
if: github.event.pull_request.head.repo.owner.login == 'rerun-io' && needs.web-paths-filter.outputs.web_changes == 'true'
if: github.event.pull_request.head.repo.owner.login == 'rerun-io' && needs.paths-filter.outputs.web_changes == 'true'
needs: [paths-filter]
uses: ./.github/workflows/reusable_build_web.yml
with:
CONCURRENCY: pr-${{ github.event.pull_request.number }}
Expand All @@ -225,37 +180,18 @@ jobs:

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

save-pr-summary:
name: "Save PR Summary"
if: github.event.pull_request.head.repo.owner.login == 'rerun-io'
needs: [upload-web]
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
uses: ./.github/workflows/reusable_upload_web.yml
with:
CONCURRENCY: pr-${{ github.event.pull_request.number }}
PR_NUMBER: ${{ github.event.pull_request.number }}
secrets: inherit

deploy-landing-preview:
name: "Deploy Landing Preview"
if: github.event.pull_request.head.repo.owner.login == 'rerun-io' && needs.docs-paths-filter.outputs.docs_changes == 'true'
needs: docs-paths-filter
needs: [paths-filter]
if: github.event.pull_request.head.repo.owner.login == 'rerun-io' && needs.paths-filter.outputs.docs_changes == 'true'
uses: ./.github/workflows/reusable_deploy_landing_preview.yml
with:
CONCURRENCY: pr-${{ github.event.pull_request.number }}
Expand Down
39 changes: 0 additions & 39 deletions .github/workflows/on_pull_request_target_contrib.yml

This file was deleted.

Loading
Loading