Skip to content

Commit d5b17f1

Browse files
authored
release: v1.58.0
2 parents 3370bee + bff45b3 commit d5b17f1

File tree

441 files changed

+16238
-3526
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

441 files changed

+16238
-3526
lines changed
+5
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
### Allow configuring host via Helm template for virtual service ([PR #5545](https://github.com/apollographql/router/pull/5795))
2+
3+
When deploying via Helm, you can now configure hosts in `virtualservice.yaml` as a single host or a range of hosts. This is helpful when different hosts could be used within a cluster.
4+
5+
By [@nicksephora](https://github.com/nicksephora) in https://github.com/apollographql/router/pull/5545

.circleci/config.yml

+106-58
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
version: 2.1
22

3-
# Cache key bump: 1
3+
# Cache key bump: 2
44

55
# These "CircleCI Orbs" are reusable bits of configuration that can be shared
66
# across projects. See https://circleci.com/orbs/ for more information.
@@ -48,18 +48,14 @@ executors:
4848
# See https://circleci.com/docs/xcode-policy along with the support matrix
4949
# at https://circleci.com/docs/using-macos#supported-xcode-versions.
5050
# We use the major.minor notation to bring in compatible patches.
51-
xcode: "14.2.0"
51+
xcode: "15.4.0"
5252
resource_class: macos.m1.large.gen1
5353
macos_test: &macos_test_executor
5454
macos:
5555
# See https://circleci.com/docs/xcode-policy along with the support matrix
5656
# at https://circleci.com/docs/using-macos#supported-xcode-versions.
5757
# We use the major.minor notation to bring in compatible patches.
58-
#
59-
# TODO: remove workaround added in https://github.com/apollographql/router/pull/5462
60-
# once we update to Xcode >= 15.1.0
61-
# See: https://github.com/apollographql/router/pull/5462
62-
xcode: "14.2.0"
58+
xcode: "15.4.0"
6359
resource_class: macos.m1.large.gen1
6460
windows_build: &windows_build_executor
6561
machine:
@@ -76,23 +72,30 @@ executors:
7672
parameters:
7773
toolchain_version:
7874
type: string
79-
default: '{{ checksum ".circleci/config.yml" }}-v2-{{ checksum "~/.arch" }}-{{ checksum "rust-toolchain.toml" }}-{{ checksum "~/.daily_version" }}'
75+
default: '{{ checksum ".circleci/config.yml" }}-v3-{{ checksum "~/.arch" }}-{{ checksum "rust-toolchain.toml" }}-{{ checksum "~/.daily_version" }}'
8076
xtask_version:
8177
type: string
82-
default: '{{ checksum ".circleci/config.yml" }}-{{ checksum "~/.arch" }}-{{ checksum "rust-toolchain.toml" }}-{{ checksum "~/.xtask_version" }}'
78+
default: '{{ checksum ".circleci/config.yml" }}-v3-{{ checksum "~/.arch" }}-{{ checksum "rust-toolchain.toml" }}-{{ checksum "~/.xtask_version" }}'
8379
merge_version:
8480
type: string
85-
default: '{{ checksum ".circleci/config.yml" }}-{{ checksum "~/.arch" }}-{{ checksum "rust-toolchain.toml" }}-{{ checksum "~/.xtask_version" }}-{{ checksum "~/.merge_version" }}'
81+
default: '{{ checksum ".circleci/config.yml" }}-v3-{{ checksum "~/.arch" }}-{{ checksum "rust-toolchain.toml" }}-{{ checksum "~/.xtask_version" }}-{{ checksum "~/.merge_version" }}'
8682
protoc_version:
8783
type: string
8884
default: "21.8"
85+
# note the cmake version is only used for manual installs, not for installs from a package manager like apt or homebrew
86+
cmake_version:
87+
type: string
88+
default: "3.31.1"
8989
nightly:
9090
type: boolean
9191
default: false
9292
# quick_nightly will skip testing and only build the release artifacts.
9393
quick_nightly:
9494
type: boolean
9595
default: false
96+
test_updated_cargo_deps:
97+
type: boolean
98+
default: false
9699

97100
# These are common environment variables that we want to set on on all jobs.
98101
# While these could conceivably be set on the CircleCI project settings'
@@ -246,9 +249,15 @@ commands:
246249
- run:
247250
name: Install CMake
248251
command: |
249-
choco install cmake.install -y
250-
echo 'export PATH="/c/Program Files/CMake/bin:$PATH"' >> "$BASH_ENV"
251-
exit $LASTEXITCODE
252+
mkdir -p "$HOME/.local"
253+
if [[ ! -f "$HOME/.local/bin/cmake" ]]; then
254+
curl -L https://github.com/Kitware/CMake/releases/download/v<< pipeline.parameters.cmake_version >>/cmake-<< pipeline.parameters.cmake_version >>-windows-x86_64.zip --output cmake.zip
255+
# The zip file has a root directory, so we put it somewhere else first before placing the files in .local
256+
unzip cmake.zip -d /tmp > /dev/null
257+
cp /tmp/cmake-<< pipeline.parameters.cmake_version >>-windows-x86_64/* -R "$HOME/.local"
258+
fi
259+
260+
cmake --version
252261
- when:
253262
condition:
254263
or:
@@ -503,11 +512,7 @@ commands:
503512
environment:
504513
# Use the settings from the "ci" profile in nextest configuration.
505514
NEXTEST_PROFILE: ci
506-
# Temporary disable lib backtrace since it crashing on MacOS
507-
# TODO: remove this workaround once we update to Xcode >= 15.1.0
508-
# See: https://github.com/apollographql/router/pull/5462
509-
RUST_LIB_BACKTRACE: 0
510-
command: xtask test --workspace --locked --features ci
515+
command: xtask test --workspace --locked --features ci,hyper_header_limits
511516
- run:
512517
name: Delete large files from cache
513518
command: |
@@ -599,6 +604,10 @@ jobs:
599604
parameters:
600605
platform:
601606
type: executor
607+
default: amd_linux_test
608+
from_test_updated_cargo_deps_workflow:
609+
type: boolean
610+
default: false
602611
executor: << parameters.platform >>
603612
steps:
604613
- checkout
@@ -611,6 +620,67 @@ jobs:
611620
cargo fetch
612621
- xtask_test:
613622
variant: "updated"
623+
624+
- when:
625+
condition:
626+
equal: [ true, << parameters.from_test_updated_cargo_deps_workflow >> ]
627+
steps:
628+
- slack/notify:
629+
event: fail
630+
custom: |
631+
{
632+
"blocks": [
633+
{
634+
"type": "section",
635+
"text": {
636+
"type": "mrkdwn",
637+
"text": ":x: The `test_updated_cargo_deps` workflow has **failed** for `${CIRCLE_JOB}` on `${CIRCLE_PROJECT_REPONAME}`'s `${CIRCLE_BRANCH}`!"
638+
}
639+
},
640+
{
641+
"type": "actions",
642+
"elements": [
643+
{
644+
"type": "button",
645+
"action_id": "success_tagged_deploy_view",
646+
"text": {
647+
"type": "plain_text",
648+
"text": "View Job"
649+
},
650+
"url": "${CIRCLE_BUILD_URL}"
651+
}
652+
]
653+
}
654+
]
655+
}
656+
- slack/notify:
657+
event: pass
658+
custom: |
659+
{
660+
"blocks": [
661+
{
662+
"type": "section",
663+
"text": {
664+
"type": "mrkdwn",
665+
"text": ":white_check_mark: The `test_updated_cargo_deps` workflow has passed for `${CIRCLE_JOB}` on `${CIRCLE_PROJECT_REPONAME}`'s `${CIRCLE_BRANCH}`."
666+
}
667+
},
668+
{
669+
"type": "actions",
670+
"elements": [
671+
{
672+
"type": "button",
673+
"action_id": "success_tagged_deploy_view",
674+
"text": {
675+
"type": "plain_text",
676+
"text": "View Job"
677+
},
678+
"url": "${CIRCLE_BUILD_URL}"
679+
}
680+
]
681+
}
682+
]
683+
}
614684
pre_verify_release:
615685
environment:
616686
<<: *common_job_environment
@@ -655,10 +725,10 @@ jobs:
655725
- run: cargo xtask release prepare nightly
656726
- run:
657727
command: >
658-
cargo xtask dist --target aarch64-apple-darwin
728+
cargo xtask dist --target aarch64-apple-darwin --features hyper_header_limits
659729
- run:
660730
command: >
661-
cargo xtask dist --target x86_64-apple-darwin
731+
cargo xtask dist --target x86_64-apple-darwin --features hyper_header_limits
662732
- run:
663733
command: >
664734
mkdir -p artifacts
@@ -718,7 +788,7 @@ jobs:
718788
- run: cargo xtask release prepare nightly
719789
- run:
720790
command: >
721-
cargo xtask dist
791+
cargo xtask dist --features hyper_header_limits
722792
- run:
723793
command: >
724794
mkdir -p artifacts
@@ -750,20 +820,20 @@ jobs:
750820
command: |
751821
# Source of the new image will be ser to the repo URL.
752822
# This will have the effect of setting org.opencontainers.image.source and org.opencontainers.image.author to the originating pipeline
753-
# Therefore the docker image will have the same permissions as the originating project.
823+
# Therefore the docker image will have the same permissions as the originating project.
754824
# See: https://docs.github.com/en/packages/learn-github-packages/connecting-a-repository-to-a-package#connecting-a-repository-to-a-container-image-using-the-command-line
755-
825+
756826
BASE_VERSION=$(cargo metadata --format-version=1 --no-deps | jq --raw-output '.packages[0].version')
757827
ARTIFACT_URL="https://output.circle-artifacts.com/output/job/${CIRCLE_WORKFLOW_JOB_ID}/artifacts/0/artifacts/router-v${BASE_VERSION}-x86_64-unknown-linux-gnu.tar.gz"
758828
VERSION="v$(echo "${BASE_VERSION}" | tr "+" "-")"
759829
ROUTER_TAG=ghcr.io/apollographql/nightly/router
760-
830+
761831
echo "REPO_URL: ${REPO_URL}"
762832
echo "BASE_VERSION: ${BASE_VERSION}"
763833
echo "ARTIFACT_URL: ${ARTIFACT_URL}"
764834
echo "VERSION: ${VERSION}"
765835
echo "ROUTER_TAG: ${ROUTER_TAG}"
766-
836+
767837
# Create a multi-arch builder which works properly under qemu
768838
docker run --rm --privileged multiarch/qemu-user-static --reset -p yes
769839
docker context create buildx-build
@@ -948,12 +1018,19 @@ jobs:
9481018
helm push ${CHART} oci://ghcr.io/apollographql/helm-charts
9491019
9501020
workflows:
1021+
test_updated_cargo_deps:
1022+
when: << pipeline.parameters.test_updated_cargo_deps >>
1023+
jobs:
1024+
- test_updated:
1025+
platform: amd_linux_test
1026+
from_test_updated_cargo_deps_workflow: true
9511027
ci_checks:
9521028
when:
9531029
not:
9541030
or:
9551031
- << pipeline.parameters.nightly >>
9561032
- << pipeline.parameters.quick_nightly >>
1033+
- << pipeline.parameters.test_updated_cargo_deps >>
9571034
jobs:
9581035
- lint:
9591036
matrix:
@@ -968,15 +1045,6 @@ workflows:
9681045
parameters:
9691046
platform: [ amd_linux_build ]
9701047

971-
- test_updated:
972-
requires:
973-
- lint
974-
- check_helm
975-
- check_compliance
976-
matrix:
977-
parameters:
978-
platform:
979-
[ amd_linux_test ]
9801048
- test:
9811049
# this should be changed back to true on dev after release
9821050
fuzz: false
@@ -1016,29 +1084,18 @@ workflows:
10161084
matrix:
10171085
parameters:
10181086
platform: [ amd_linux_build ]
1019-
1020-
- test_updated:
1021-
requires:
1022-
- lint
1023-
- check_helm
1024-
- check_compliance
1025-
matrix:
1026-
parameters:
1027-
platform:
1028-
[ amd_linux_test ]
10291087
- test:
10301088
requires:
10311089
- lint
1032-
- check_helm
1033-
- check_compliance
10341090
matrix:
10351091
parameters:
10361092
platform:
10371093
[ macos_test, windows_test, amd_linux_test, arm_linux_test ]
10381094
- build_release:
10391095
requires:
10401096
- test
1041-
- test_updated
1097+
- check_helm
1098+
- check_compliance
10421099
nightly: true
10431100
context:
10441101
- router
@@ -1073,6 +1130,7 @@ workflows:
10731130
or:
10741131
- << pipeline.parameters.nightly >>
10751132
- << pipeline.parameters.quick_nightly >>
1133+
- << pipeline.parameters.test_updated_cargo_deps >>
10761134
jobs:
10771135
- pre_verify_release:
10781136
matrix:
@@ -1110,16 +1168,6 @@ workflows:
11101168
ignore: /.*/
11111169
tags:
11121170
only: /v.*/
1113-
- test_updated:
1114-
matrix:
1115-
parameters:
1116-
platform:
1117-
[ amd_linux_test ]
1118-
filters:
1119-
branches:
1120-
ignore: /.*/
1121-
tags:
1122-
only: /v.*/
11231171
- test:
11241172
matrix:
11251173
parameters:
@@ -1148,7 +1196,6 @@ workflows:
11481196
- check_compliance
11491197
- pre_verify_release
11501198
- test
1151-
- test_updated
11521199
filters:
11531200
branches:
11541201
ignore: /.*/
@@ -1161,6 +1208,7 @@ workflows:
11611208
or:
11621209
- << pipeline.parameters.nightly >>
11631210
- << pipeline.parameters.quick_nightly >>
1211+
- << pipeline.parameters.test_updated_cargo_deps >>
11641212
jobs:
11651213
- secops/gitleaks:
11661214
context:

0 commit comments

Comments
 (0)