Skip to content
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
2 changes: 1 addition & 1 deletion .devcontainer/devcontainer.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
"build": {
"dockerfile": "Dockerfile",
"args": {
"DEV_VERSION": "v47",
"DEV_VERSION": "v48",
"http_proxy": "${localEnv:http_proxy}",
"https_proxy": "${localEnv:https_proxy}"
}
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/beta.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ permissions:
jobs:
build:
runs-on: ${{ vars.LINKERD2_PROXY_RUNNER || 'ubuntu-24.04' }}
container: ghcr.io/linkerd/dev:v47-rust
container: ghcr.io/linkerd/dev:v48-rust
timeout-minutes: 20
continue-on-error: true
steps:
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/coverage.yml
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ jobs:
runs-on: ${{ vars.LINKERD2_PROXY_RUNNER || 'ubuntu-24.04' }}
timeout-minutes: 30
container:
image: docker://ghcr.io/linkerd/dev:v47-rust
image: docker://ghcr.io/linkerd/dev:v48-rust
options: --security-opt seccomp=unconfined # 🤷
env:
CXX: "/usr/bin/clang++-19"
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/fuzzers.yml
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ jobs:
list-changed:
timeout-minutes: 3
runs-on: ${{ vars.LINKERD2_PROXY_RUNNER || 'ubuntu-24.04' }}
container: docker://rust:1.88.0
container: docker://rust:1.90.0
steps:
- run: apt update && apt install -y jo
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8
Expand All @@ -48,7 +48,7 @@ jobs:
needs: [list-changed]
timeout-minutes: 40
runs-on: ${{ vars.LINKERD2_PROXY_RUNNER || 'ubuntu-24.04' }}
container: docker://rust:1.88.0
container: docker://rust:1.90.0
strategy:
matrix:
dir: ${{ fromJson(needs.list-changed.outputs.dirs) }}
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/nightly.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ permissions:
jobs:
build:
runs-on: ${{ vars.LINKERD2_PROXY_RUNNER || 'ubuntu-24.04' }}
container: ghcr.io/linkerd/dev:v47-rust
container: ghcr.io/linkerd/dev:v48-rust
timeout-minutes: 20
continue-on-error: true
steps:
Expand Down
8 changes: 4 additions & 4 deletions .github/workflows/pr.yml
Original file line number Diff line number Diff line change
Expand Up @@ -76,7 +76,7 @@ jobs:
if: needs.meta.outputs.actions_changed == 'true'
runs-on: ${{ vars.LINKERD2_PROXY_RUNNER || 'ubuntu-24.04' }}
steps:
- uses: linkerd/dev/actions/setup-tools@v47
- uses: linkerd/dev/actions/setup-tools@v48
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8
- run: just action-lint
- run: just action-dev-check
Expand All @@ -85,7 +85,7 @@ jobs:
needs: meta
if: needs.meta.outputs.cargo_changed == 'true' || needs.meta.outputs.rust_changed == 'true'
runs-on: ${{ vars.LINKERD2_PROXY_RUNNER || 'ubuntu-24.04' }}
container: ghcr.io/linkerd/dev:v47-rust
container: ghcr.io/linkerd/dev:v48-rust
permissions:
contents: read
timeout-minutes: 20
Expand All @@ -108,7 +108,7 @@ jobs:
if: needs.meta.outputs.cargo_changed == 'true'
timeout-minutes: 20
runs-on: ${{ vars.LINKERD2_PROXY_RUNNER || 'ubuntu-24.04' }}
container: ghcr.io/linkerd/dev:v47-rust
container: ghcr.io/linkerd/dev:v48-rust
strategy:
matrix:
crate: ${{ fromJson(needs.meta.outputs.cargo_crates) }}
Expand All @@ -127,7 +127,7 @@ jobs:
env:
WAIT_TIMEOUT: 2m
steps:
- uses: linkerd/dev/actions/setup-tools@v47
- uses: linkerd/dev/actions/setup-tools@v48
- name: scurl https://run.linkerd.io/install-edge | sh
run: |
scurl https://run.linkerd.io/install-edge | sh
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -155,7 +155,7 @@ jobs:
continue-on-error: ${{ needs.meta.outputs.publish != 'true' }}
runs-on: ${{ vars.LINKERD2_PROXY_RUNNER || 'ubuntu-24.04' }}
timeout-minutes: 40
container: docker://ghcr.io/linkerd/dev:v47-rust-musl
container: docker://ghcr.io/linkerd/dev:v48-rust-musl
env:
LINKERD2_PROXY_VENDOR: ${{ github.repository_owner }}
LINKERD2_PROXY_VERSION: ${{ needs.meta.outputs.version }}
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/shellcheck.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,6 @@ jobs:
timeout-minutes: 5
runs-on: ${{ vars.LINKERD2_PROXY_RUNNER || 'ubuntu-24.04' }}
steps:
- uses: linkerd/dev/actions/setup-tools@v47
- uses: linkerd/dev/actions/setup-tools@v48
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8
- run: just sh-lint
4 changes: 2 additions & 2 deletions .github/workflows/toolchain.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ permissions:
jobs:
devcontainer:
runs-on: ${{ vars.LINKERD2_PROXY_RUNNER || 'ubuntu-24.04' }}
container: ghcr.io/linkerd/dev:v47-rust
container: ghcr.io/linkerd/dev:v48-rust
steps:
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8
- run: git config --global --add safe.directory "$PWD" # actions/runner#2033
Expand All @@ -37,7 +37,7 @@ jobs:
workflows:
runs-on: ${{ vars.LINKERD2_PROXY_RUNNER || 'ubuntu-24.04' }}
steps:
- uses: linkerd/dev/actions/setup-tools@v47
- uses: linkerd/dev/actions/setup-tools@v48
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8
- shell: bash
run: |
Expand Down
2 changes: 1 addition & 1 deletion Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
# This is intended **DEVELOPMENT ONLY**, i.e. so that proxy developers can
# easily test the proxy in the context of the larger `linkerd2` project.

ARG RUST_IMAGE=ghcr.io/linkerd/dev:v47-rust
ARG RUST_IMAGE=ghcr.io/linkerd/dev:v48-rust

# Use an arbitrary ~recent edge release image to get the proxy
# identity-initializing and linkerd-await wrappers.
Expand Down
6 changes: 3 additions & 3 deletions linkerd/app/integration/src/tests/profiles.rs
Original file line number Diff line number Diff line change
Expand Up @@ -130,7 +130,7 @@ impl TestBuilder {
.unwrap()
})
.route_async("/0.5", move |req| {
let fail = counter.fetch_add(1, Ordering::Relaxed) % 2 == 0;
let fail = counter.fetch_add(1, Ordering::Relaxed).is_multiple_of(2);
async move {
// Read the entire body before responding, so that the
// client doesn't fail when writing it out.
Expand All @@ -154,7 +154,7 @@ impl TestBuilder {
})
.route_fn("/0.5/sleep", move |_req| {
::std::thread::sleep(Duration::from_secs(1));
if counter2.fetch_add(1, Ordering::Relaxed) % 2 == 0 {
if counter2.fetch_add(1, Ordering::Relaxed).is_multiple_of(2) {
Response::builder()
.status(533)
.body(BoxBody::from_static("nope"))
Expand All @@ -167,7 +167,7 @@ impl TestBuilder {
}
})
.route_fn("/0.5/100KB", move |_req| {
if counter3.fetch_add(1, Ordering::Relaxed) % 2 == 0 {
if counter3.fetch_add(1, Ordering::Relaxed).is_multiple_of(2) {
Response::builder()
.status(533)
.body(BoxBody::new(http_body_util::Full::new(Bytes::from(vec![
Expand Down
2 changes: 1 addition & 1 deletion linkerd/http/prom/src/record_response.rs
Original file line number Diff line number Diff line change
Expand Up @@ -226,7 +226,7 @@ where

fn poll(self: Pin<&mut Self>, cx: &mut Context<'_>) -> Poll<Self::Output> {
let this = self.project();
let res = futures::ready!(this.inner.poll(cx)).map_err(Into::into);
let res = futures::ready!(this.inner.poll(cx));
let mut state = this.state.take();
match res {
Ok(rsp) => {
Expand Down
19 changes: 5 additions & 14 deletions linkerd/http/route/src/grpc/match.rs
Original file line number Diff line number Diff line change
Expand Up @@ -111,27 +111,19 @@ pub mod proto {

#[derive(Debug, thiserror::Error)]
pub enum InvalidRouteMatch {
#[error("invalid RPC match: {0}")]
Rpc(#[from] InvalidRpcMatch),

#[error("invalid header match: {0}")]
Header(#[from] InvalidHeaderMatch),

#[error("missing RPC match")]
MissingRpc,
}

// Currently, RPC match conversion is infallible; but this could change in
// the future.
#[derive(Debug, thiserror::Error)]
pub enum InvalidRpcMatch {}

impl TryFrom<api::GrpcRouteMatch> for MatchRoute {
type Error = InvalidRouteMatch;

fn try_from(pb: api::GrpcRouteMatch) -> Result<Self, Self::Error> {
Ok(MatchRoute {
rpc: pb.rpc.ok_or(InvalidRouteMatch::MissingRpc)?.try_into()?,
rpc: pb.rpc.ok_or(InvalidRouteMatch::MissingRpc)?.into(),
headers: pb
.headers
.into_iter()
Expand All @@ -140,11 +132,10 @@ pub mod proto {
})
}
}
impl TryFrom<api::GrpcRpcMatch> for MatchRpc {
type Error = InvalidRpcMatch;

fn try_from(pb: api::GrpcRpcMatch) -> Result<Self, Self::Error> {
Ok(MatchRpc {
impl From<api::GrpcRpcMatch> for MatchRpc {
fn from(pb: api::GrpcRpcMatch) -> Self {
MatchRpc {
service: if pb.service.is_empty() {
None
} else {
Expand All @@ -155,7 +146,7 @@ pub mod proto {
} else {
Some(pb.method)
},
})
}
}
}
}
2 changes: 1 addition & 1 deletion rust-toolchain.toml
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
[toolchain]
channel = "1.88.0"
channel = "1.90.0"
Loading