Skip to content

Commit

Permalink
release: v1.58.0
Browse files Browse the repository at this point in the history
  • Loading branch information
abernix authored Nov 27, 2024
2 parents 3370bee + bff45b3 commit d5b17f1
Show file tree
Hide file tree
Showing 441 changed files with 16,238 additions and 3,526 deletions.
5 changes: 5 additions & 0 deletions .changesets/helm_host_configuration.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
### Allow configuring host via Helm template for virtual service ([PR #5545](https://github.com/apollographql/router/pull/5795))

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.

By [@nicksephora](https://github.com/nicksephora) in https://github.com/apollographql/router/pull/5545
164 changes: 106 additions & 58 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
version: 2.1

# Cache key bump: 1
# Cache key bump: 2

# These "CircleCI Orbs" are reusable bits of configuration that can be shared
# across projects. See https://circleci.com/orbs/ for more information.
Expand Down Expand Up @@ -48,18 +48,14 @@ executors:
# See https://circleci.com/docs/xcode-policy along with the support matrix
# at https://circleci.com/docs/using-macos#supported-xcode-versions.
# We use the major.minor notation to bring in compatible patches.
xcode: "14.2.0"
xcode: "15.4.0"
resource_class: macos.m1.large.gen1
macos_test: &macos_test_executor
macos:
# See https://circleci.com/docs/xcode-policy along with the support matrix
# at https://circleci.com/docs/using-macos#supported-xcode-versions.
# We use the major.minor notation to bring in compatible patches.
#
# TODO: remove workaround added in https://github.com/apollographql/router/pull/5462
# once we update to Xcode >= 15.1.0
# See: https://github.com/apollographql/router/pull/5462
xcode: "14.2.0"
xcode: "15.4.0"
resource_class: macos.m1.large.gen1
windows_build: &windows_build_executor
machine:
Expand All @@ -76,23 +72,30 @@ executors:
parameters:
toolchain_version:
type: string
default: '{{ checksum ".circleci/config.yml" }}-v2-{{ checksum "~/.arch" }}-{{ checksum "rust-toolchain.toml" }}-{{ checksum "~/.daily_version" }}'
default: '{{ checksum ".circleci/config.yml" }}-v3-{{ checksum "~/.arch" }}-{{ checksum "rust-toolchain.toml" }}-{{ checksum "~/.daily_version" }}'
xtask_version:
type: string
default: '{{ checksum ".circleci/config.yml" }}-{{ checksum "~/.arch" }}-{{ checksum "rust-toolchain.toml" }}-{{ checksum "~/.xtask_version" }}'
default: '{{ checksum ".circleci/config.yml" }}-v3-{{ checksum "~/.arch" }}-{{ checksum "rust-toolchain.toml" }}-{{ checksum "~/.xtask_version" }}'
merge_version:
type: string
default: '{{ checksum ".circleci/config.yml" }}-{{ checksum "~/.arch" }}-{{ checksum "rust-toolchain.toml" }}-{{ checksum "~/.xtask_version" }}-{{ checksum "~/.merge_version" }}'
default: '{{ checksum ".circleci/config.yml" }}-v3-{{ checksum "~/.arch" }}-{{ checksum "rust-toolchain.toml" }}-{{ checksum "~/.xtask_version" }}-{{ checksum "~/.merge_version" }}'
protoc_version:
type: string
default: "21.8"
# note the cmake version is only used for manual installs, not for installs from a package manager like apt or homebrew
cmake_version:
type: string
default: "3.31.1"
nightly:
type: boolean
default: false
# quick_nightly will skip testing and only build the release artifacts.
quick_nightly:
type: boolean
default: false
test_updated_cargo_deps:
type: boolean
default: false

# These are common environment variables that we want to set on on all jobs.
# While these could conceivably be set on the CircleCI project settings'
Expand Down Expand Up @@ -246,9 +249,15 @@ commands:
- run:
name: Install CMake
command: |
choco install cmake.install -y
echo 'export PATH="/c/Program Files/CMake/bin:$PATH"' >> "$BASH_ENV"
exit $LASTEXITCODE
mkdir -p "$HOME/.local"
if [[ ! -f "$HOME/.local/bin/cmake" ]]; then
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
# The zip file has a root directory, so we put it somewhere else first before placing the files in .local
unzip cmake.zip -d /tmp > /dev/null
cp /tmp/cmake-<< pipeline.parameters.cmake_version >>-windows-x86_64/* -R "$HOME/.local"
fi
cmake --version
- when:
condition:
or:
Expand Down Expand Up @@ -503,11 +512,7 @@ commands:
environment:
# Use the settings from the "ci" profile in nextest configuration.
NEXTEST_PROFILE: ci
# Temporary disable lib backtrace since it crashing on MacOS
# TODO: remove this workaround once we update to Xcode >= 15.1.0
# See: https://github.com/apollographql/router/pull/5462
RUST_LIB_BACKTRACE: 0
command: xtask test --workspace --locked --features ci
command: xtask test --workspace --locked --features ci,hyper_header_limits
- run:
name: Delete large files from cache
command: |
Expand Down Expand Up @@ -599,6 +604,10 @@ jobs:
parameters:
platform:
type: executor
default: amd_linux_test
from_test_updated_cargo_deps_workflow:
type: boolean
default: false
executor: << parameters.platform >>
steps:
- checkout
Expand All @@ -611,6 +620,67 @@ jobs:
cargo fetch
- xtask_test:
variant: "updated"

- when:
condition:
equal: [ true, << parameters.from_test_updated_cargo_deps_workflow >> ]
steps:
- slack/notify:
event: fail
custom: |
{
"blocks": [
{
"type": "section",
"text": {
"type": "mrkdwn",
"text": ":x: The `test_updated_cargo_deps` workflow has **failed** for `${CIRCLE_JOB}` on `${CIRCLE_PROJECT_REPONAME}`'s `${CIRCLE_BRANCH}`!"
}
},
{
"type": "actions",
"elements": [
{
"type": "button",
"action_id": "success_tagged_deploy_view",
"text": {
"type": "plain_text",
"text": "View Job"
},
"url": "${CIRCLE_BUILD_URL}"
}
]
}
]
}
- slack/notify:
event: pass
custom: |
{
"blocks": [
{
"type": "section",
"text": {
"type": "mrkdwn",
"text": ":white_check_mark: The `test_updated_cargo_deps` workflow has passed for `${CIRCLE_JOB}` on `${CIRCLE_PROJECT_REPONAME}`'s `${CIRCLE_BRANCH}`."
}
},
{
"type": "actions",
"elements": [
{
"type": "button",
"action_id": "success_tagged_deploy_view",
"text": {
"type": "plain_text",
"text": "View Job"
},
"url": "${CIRCLE_BUILD_URL}"
}
]
}
]
}
pre_verify_release:
environment:
<<: *common_job_environment
Expand Down Expand Up @@ -655,10 +725,10 @@ jobs:
- run: cargo xtask release prepare nightly
- run:
command: >
cargo xtask dist --target aarch64-apple-darwin
cargo xtask dist --target aarch64-apple-darwin --features hyper_header_limits
- run:
command: >
cargo xtask dist --target x86_64-apple-darwin
cargo xtask dist --target x86_64-apple-darwin --features hyper_header_limits
- run:
command: >
mkdir -p artifacts
Expand Down Expand Up @@ -718,7 +788,7 @@ jobs:
- run: cargo xtask release prepare nightly
- run:
command: >
cargo xtask dist
cargo xtask dist --features hyper_header_limits
- run:
command: >
mkdir -p artifacts
Expand Down Expand Up @@ -750,20 +820,20 @@ jobs:
command: |
# Source of the new image will be ser to the repo URL.
# This will have the effect of setting org.opencontainers.image.source and org.opencontainers.image.author to the originating pipeline
# Therefore the docker image will have the same permissions as the originating project.
# Therefore the docker image will have the same permissions as the originating project.
# 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
BASE_VERSION=$(cargo metadata --format-version=1 --no-deps | jq --raw-output '.packages[0].version')
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"
VERSION="v$(echo "${BASE_VERSION}" | tr "+" "-")"
ROUTER_TAG=ghcr.io/apollographql/nightly/router
echo "REPO_URL: ${REPO_URL}"
echo "BASE_VERSION: ${BASE_VERSION}"
echo "ARTIFACT_URL: ${ARTIFACT_URL}"
echo "VERSION: ${VERSION}"
echo "ROUTER_TAG: ${ROUTER_TAG}"
# Create a multi-arch builder which works properly under qemu
docker run --rm --privileged multiarch/qemu-user-static --reset -p yes
docker context create buildx-build
Expand Down Expand Up @@ -948,12 +1018,19 @@ jobs:
helm push ${CHART} oci://ghcr.io/apollographql/helm-charts
workflows:
test_updated_cargo_deps:
when: << pipeline.parameters.test_updated_cargo_deps >>
jobs:
- test_updated:
platform: amd_linux_test
from_test_updated_cargo_deps_workflow: true
ci_checks:
when:
not:
or:
- << pipeline.parameters.nightly >>
- << pipeline.parameters.quick_nightly >>
- << pipeline.parameters.test_updated_cargo_deps >>
jobs:
- lint:
matrix:
Expand All @@ -968,15 +1045,6 @@ workflows:
parameters:
platform: [ amd_linux_build ]

- test_updated:
requires:
- lint
- check_helm
- check_compliance
matrix:
parameters:
platform:
[ amd_linux_test ]
- test:
# this should be changed back to true on dev after release
fuzz: false
Expand Down Expand Up @@ -1016,29 +1084,18 @@ workflows:
matrix:
parameters:
platform: [ amd_linux_build ]

- test_updated:
requires:
- lint
- check_helm
- check_compliance
matrix:
parameters:
platform:
[ amd_linux_test ]
- test:
requires:
- lint
- check_helm
- check_compliance
matrix:
parameters:
platform:
[ macos_test, windows_test, amd_linux_test, arm_linux_test ]
- build_release:
requires:
- test
- test_updated
- check_helm
- check_compliance
nightly: true
context:
- router
Expand Down Expand Up @@ -1073,6 +1130,7 @@ workflows:
or:
- << pipeline.parameters.nightly >>
- << pipeline.parameters.quick_nightly >>
- << pipeline.parameters.test_updated_cargo_deps >>
jobs:
- pre_verify_release:
matrix:
Expand Down Expand Up @@ -1110,16 +1168,6 @@ workflows:
ignore: /.*/
tags:
only: /v.*/
- test_updated:
matrix:
parameters:
platform:
[ amd_linux_test ]
filters:
branches:
ignore: /.*/
tags:
only: /v.*/
- test:
matrix:
parameters:
Expand Down Expand Up @@ -1148,7 +1196,6 @@ workflows:
- check_compliance
- pre_verify_release
- test
- test_updated
filters:
branches:
ignore: /.*/
Expand All @@ -1161,6 +1208,7 @@ workflows:
or:
- << pipeline.parameters.nightly >>
- << pipeline.parameters.quick_nightly >>
- << pipeline.parameters.test_updated_cargo_deps >>
jobs:
- secops/gitleaks:
context:
Expand Down
Loading

0 comments on commit d5b17f1

Please sign in to comment.