-
Notifications
You must be signed in to change notification settings - Fork 271
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
ci: Split out workflows #1485
ci: Split out workflows #1485
Conversation
This comment was marked as off-topic.
This comment was marked as off-topic.
2660db1
to
150892a
Compare
This change splits out our GitHub workflows to run conditionally, depending on which files change in a pull request. * `build`: builds the proxy in release mode wh * `check-each`: checks that each Cargo.toml checks cleanly on its own. This used to be a serial task, but has been converted to a matrix job. * `deps`: Only runs on dependency changes to check cargo-deny * `integration`: Runs integration tests on code & dependency changes. * `lint`: Runs clippy, fmt, and doc on all source changes. Not run on dependency changes. * `test`: Runs unit tests on code and dependency changes This prevents doing needless work on dependency changes (as these are extremely common) and makes it easier to rerun narrower workflows, if necessary. The best part of this, though, is that we've made `check-each` a matrix job so that its tests can be parallelized. We'll update the github settings to make none of these checks strictly required. Signed-off-by: Oliver Gould <ver@buoyant.io>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
overall, this looks good to me. i had some assorted questions and comments, but the only potential blocker is that it looks like workflows may not run on main
after merging --- is that intended, or do we need to fix it?
image: docker://rust:1.56.1-buster | ||
strategy: | ||
matrix: | ||
crate: ${{ fromJson(needs.enumerate.outputs.crates) }} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
oh, this is cool, i didn't know you could do that!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
yeah, extremely cool
|
||
env: | ||
CARGO_INCREMENTAL: 0 | ||
CARGO_NET_RETRY: 10 | ||
DEBIAN_FRONTEND: noninteractive |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
what does this do? do we want to add it to other workflows as well?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It ensures that apt will never try to ask for user input. I think this is now in all of the other workflows that use apt
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ah, got it, thanks. maybe worth a comment?
Note that CI does not currently run on pushes to |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
since the change to not build pushes to main
is intentional, this looks good to me! no issues here!
This release updates the proxy to avoid time substractions that are liable to panic. --- * build(deps): bump serde_json from 1.0.75 to 1.0.78 (linkerd/linkerd2-proxy#1440) * dependabot: Allow updates for transitive dependencies (linkerd/linkerd2-proxy#1443) * build(deps): bump libc from 0.2.113 to 0.2.114 (linkerd/linkerd2-proxy#1444) * devcontainer: Fix kubectl path (linkerd/linkerd2-proxy#1441) * build(deps): bump serde from 1.0.135 to 1.0.136 (linkerd/linkerd2-proxy#1445) * build(deps): bump tracing-subscriber from 0.3.6 to 0.3.7 (linkerd/linkerd2-proxy#1446) * build(deps): bump h2 from 0.3.10 to 0.3.11 (linkerd/linkerd2-proxy#1448) * build(deps): bump socket2 from 0.4.3 to 0.4.4 (linkerd/linkerd2-proxy#1447) * build(deps): bump tokio from 1.15.0 to 1.16.1 (linkerd/linkerd2-proxy#1450) * build(deps): bump libc from 0.2.114 to 0.2.115 (linkerd/linkerd2-proxy#1449) * build(deps): bump EmbarkStudios/cargo-deny-action from 1.2.9 to 1.2.10 (linkerd/linkerd2-proxy#1451) * deny: Don't skip everything in hyper's tree (linkerd/linkerd2-proxy#1455) * build(deps): bump libc from 0.2.115 to 0.2.116 (linkerd/linkerd2-proxy#1453) * build(deps): bump lock_api from 0.4.5 to 0.4.6 (linkerd/linkerd2-proxy#1454) * build(deps): bump parking_lot from 0.11.2 to 0.12.0 (linkerd/linkerd2-proxy#1452) * Ban uses of `Instant` operations that can panic (linkerd/linkerd2-proxy#1456) * clippy: Disallow lock and instant types from `std` (linkerd/linkerd2-proxy#1458) * build(deps): bump libc from 0.2.116 to 0.2.117 (linkerd/linkerd2-proxy#1459) * build(deps): bump tracing from 0.1.29 to 0.1.30 (linkerd/linkerd2-proxy#1462) * build(deps): bump clang-sys from 1.3.0 to 1.3.1 (linkerd/linkerd2-proxy#1461) * build(deps): bump futures from 0.3.19 to 0.3.21 (linkerd/linkerd2-proxy#1468) * build(deps): bump tracing-subscriber from 0.3.7 to 0.3.8 (linkerd/linkerd2-proxy#1465) * dependabot: Ignore leaf updates (linkerd/linkerd2-proxy#1464) * build(deps): bump rustls-pemfile from 0.2.1 to 0.3.0 (linkerd/linkerd2-proxy#1470) * build(deps): bump unicode-segmentation from 1.8.0 to 1.9.0 (linkerd/linkerd2-proxy#1471) * build(deps): bump crc32fast from 1.3.1 to 1.3.2 (linkerd/linkerd2-proxy#1473) * build(deps): bump autocfg from 1.0.1 to 1.1.0 (linkerd/linkerd2-proxy#1472) * Update the devcontainer (linkerd/linkerd2-proxy#1474) * build(deps): bump httparse from 1.5.1 to 1.6.0 (linkerd/linkerd2-proxy#1477) * build(deps): bump trust-dns-resolver from 0.21.0-alpha.4 to 0.21.0-alpha.5 (linkerd/linkerd2-proxy#1475) * build(deps): bump arbitrary from 1.0.3 to 1.1.0 (linkerd/linkerd2-proxy#1482) * build(deps): bump derive_arbitrary from 1.0.2 to 1.1.0 (linkerd/linkerd2-proxy#1481) * build(deps): bump EmbarkStudios/cargo-deny-action from 1.2.10 to 1.2.11 (linkerd/linkerd2-proxy#1480) * Bump runtime image so that linkerd-await 0.2.5 is used (linkerd/linkerd2-proxy#1479) * ci: Add a toolchain workflow (linkerd/linkerd2-proxy#1484) * build(deps): bump ntapi from 0.3.6 to 0.3.7 (linkerd/linkerd2-proxy#1488) * build(deps): bump hyper from 0.14.16 to 0.14.17 (linkerd/linkerd2-proxy#1486) * Change CODEOWNERS to @linkerd/maintainers (linkerd/linkerd2-proxy#1489) * ci: Add workflows to run beta, nightly builds (linkerd/linkerd2-proxy#1483) * ci: Split out worflows (linkerd/linkerd2-proxy#1485) * build(deps): update tokio-util to v0.7 (linkerd/linkerd2-proxy#1490) * ci: Only run checks on Cargo.toml changes (linkerd/linkerd2-proxy#1491) * build(deps): bump rand from 0.8.4 to 0.8.5 (linkerd/linkerd2-proxy#1496)
This release updates the proxy to avoid time substractions that are liable to panic. --- * build(deps): bump serde_json from 1.0.75 to 1.0.78 (linkerd/linkerd2-proxy#1440) * dependabot: Allow updates for transitive dependencies (linkerd/linkerd2-proxy#1443) * build(deps): bump libc from 0.2.113 to 0.2.114 (linkerd/linkerd2-proxy#1444) * devcontainer: Fix kubectl path (linkerd/linkerd2-proxy#1441) * build(deps): bump serde from 1.0.135 to 1.0.136 (linkerd/linkerd2-proxy#1445) * build(deps): bump tracing-subscriber from 0.3.6 to 0.3.7 (linkerd/linkerd2-proxy#1446) * build(deps): bump h2 from 0.3.10 to 0.3.11 (linkerd/linkerd2-proxy#1448) * build(deps): bump socket2 from 0.4.3 to 0.4.4 (linkerd/linkerd2-proxy#1447) * build(deps): bump tokio from 1.15.0 to 1.16.1 (linkerd/linkerd2-proxy#1450) * build(deps): bump libc from 0.2.114 to 0.2.115 (linkerd/linkerd2-proxy#1449) * build(deps): bump EmbarkStudios/cargo-deny-action from 1.2.9 to 1.2.10 (linkerd/linkerd2-proxy#1451) * deny: Don't skip everything in hyper's tree (linkerd/linkerd2-proxy#1455) * build(deps): bump libc from 0.2.115 to 0.2.116 (linkerd/linkerd2-proxy#1453) * build(deps): bump lock_api from 0.4.5 to 0.4.6 (linkerd/linkerd2-proxy#1454) * build(deps): bump parking_lot from 0.11.2 to 0.12.0 (linkerd/linkerd2-proxy#1452) * Ban uses of `Instant` operations that can panic (linkerd/linkerd2-proxy#1456) * clippy: Disallow lock and instant types from `std` (linkerd/linkerd2-proxy#1458) * build(deps): bump libc from 0.2.116 to 0.2.117 (linkerd/linkerd2-proxy#1459) * build(deps): bump tracing from 0.1.29 to 0.1.30 (linkerd/linkerd2-proxy#1462) * build(deps): bump clang-sys from 1.3.0 to 1.3.1 (linkerd/linkerd2-proxy#1461) * build(deps): bump futures from 0.3.19 to 0.3.21 (linkerd/linkerd2-proxy#1468) * build(deps): bump tracing-subscriber from 0.3.7 to 0.3.8 (linkerd/linkerd2-proxy#1465) * dependabot: Ignore leaf updates (linkerd/linkerd2-proxy#1464) * build(deps): bump rustls-pemfile from 0.2.1 to 0.3.0 (linkerd/linkerd2-proxy#1470) * build(deps): bump unicode-segmentation from 1.8.0 to 1.9.0 (linkerd/linkerd2-proxy#1471) * build(deps): bump crc32fast from 1.3.1 to 1.3.2 (linkerd/linkerd2-proxy#1473) * build(deps): bump autocfg from 1.0.1 to 1.1.0 (linkerd/linkerd2-proxy#1472) * Update the devcontainer (linkerd/linkerd2-proxy#1474) * build(deps): bump httparse from 1.5.1 to 1.6.0 (linkerd/linkerd2-proxy#1477) * build(deps): bump trust-dns-resolver from 0.21.0-alpha.4 to 0.21.0-alpha.5 (linkerd/linkerd2-proxy#1475) * build(deps): bump arbitrary from 1.0.3 to 1.1.0 (linkerd/linkerd2-proxy#1482) * build(deps): bump derive_arbitrary from 1.0.2 to 1.1.0 (linkerd/linkerd2-proxy#1481) * build(deps): bump EmbarkStudios/cargo-deny-action from 1.2.10 to 1.2.11 (linkerd/linkerd2-proxy#1480) * Bump runtime image so that linkerd-await 0.2.5 is used (linkerd/linkerd2-proxy#1479) * ci: Add a toolchain workflow (linkerd/linkerd2-proxy#1484) * build(deps): bump ntapi from 0.3.6 to 0.3.7 (linkerd/linkerd2-proxy#1488) * build(deps): bump hyper from 0.14.16 to 0.14.17 (linkerd/linkerd2-proxy#1486) * Change CODEOWNERS to @linkerd/maintainers (linkerd/linkerd2-proxy#1489) * ci: Add workflows to run beta, nightly builds (linkerd/linkerd2-proxy#1483) * ci: Split out worflows (linkerd/linkerd2-proxy#1485) * build(deps): update tokio-util to v0.7 (linkerd/linkerd2-proxy#1490) * ci: Only run checks on Cargo.toml changes (linkerd/linkerd2-proxy#1491) * build(deps): bump rand from 0.8.4 to 0.8.5 (linkerd/linkerd2-proxy#1496)
This change splits out our GitHub workflows to run conditionally,
depending on which files change in a pull request.
build
: builds the proxy in release mode whcheck-each
: checks that each Cargo.toml checks cleanly on its own.This used to be a serial task, but has been converted to a matrix job.
deps
: Only runs on dependency changes to check cargo-denyintegration
: Runs integration tests on code & dependency changes.lint
: Runs clippy, fmt, and doc on all source changes. Not run ondependency changes.
test
: Runs unit tests on code and dependency changesThis prevents doing needless work on dependency changes (as these are
extremely common) and makes it easier to rerun narrower workflows, if
necessary. The best part of this, though, is that we've made
check-each
a matrix job so that its tests can be parallelized.We'll update the github settings to make none of these checks strictly
required.
Signed-off-by: Oliver Gould ver@buoyant.io