From 92c8b9106dfbbf933a46b609823c3d1ec97872c8 Mon Sep 17 00:00:00 2001 From: Preston Vasquez Date: Mon, 9 Jun 2025 18:46:25 -0600 Subject: [PATCH 01/12] GODRIVER-3560 Use lambda-specific arn for FaaS (#2093) --- .evergreen/config.yml | 9 +++++++-- internal/test/faas/awslambda/template.yaml | 14 -------------- 2 files changed, 7 insertions(+), 16 deletions(-) diff --git a/.evergreen/config.yml b/.evergreen/config.yml index e8ebae8bda..1800457b2b 100644 --- a/.evergreen/config.yml +++ b/.evergreen/config.yml @@ -26,7 +26,7 @@ timeout: script: | ls -la functions: - assume-test-secrets-ec2-role: + assume-test-secrets-ec2-role: - command: ec2.assume_role params: role_arn: ${aws_test_secrets_role} @@ -403,6 +403,7 @@ functions: params: shell: "bash" working_dir: src/go.mongodb.org/mongo-driver + add_expansions_to_env: true script: | ${PREPARE_SHELL} export BASE_SHA=${revision} @@ -415,6 +416,7 @@ functions: params: shell: "bash" working_dir: src/go.mongodb.org/mongo-driver + add_expansions_to_env: true script: | ${PREPARE_SHELL} export CONFIG=$PROJECT_DIRECTORY/.github/labeler.yml @@ -427,6 +429,7 @@ functions: params: shell: "bash" working_dir: src/go.mongodb.org/mongo-driver + add_expansions_to_env: true script: | ${PREPARE_SHELL} export CONFIG=$PROJECT_DIRECTORY/.github/reviewers.txt @@ -932,6 +935,7 @@ tasks: - name: pull-request-helpers allowed_requesters: ["patch", "github_pr"] commands: + - func: assume-test-secrets-ec2-role - func: "add PR reviewer" - func: "add PR labels" - func: "create-api-report" @@ -1988,11 +1992,11 @@ tasks: params: working_dir: src/go.mongodb.org/mongo-driver shell: bash + add_expansions_to_env: true env: TEST_LAMBDA_DIRECTORY: ${PROJECT_DIRECTORY}/internal/test/faas/awslambda LAMBDA_STACK_NAME: dbx-go-lambda AWS_REGION: us-east-1 - include_expansions_in_env: ["AWS_ACCESS_KEY_ID", "AWS_SECRET_ACCESS_KEY", "AWS_SESSION_TOKEN"] script: | ${PREPARE_SHELL} pushd $TEST_LAMBDA_DIRECTORY/mongodb @@ -2375,6 +2379,7 @@ task_groups: params: working_dir: src/go.mongodb.org/mongo-driver binary: bash + add_expansions_to_env: true env: LAMBDA_STACK_NAME: dbx-go-lambda AWS_REGION: us-east-1 diff --git a/internal/test/faas/awslambda/template.yaml b/internal/test/faas/awslambda/template.yaml index 417d3b3a11..34d44007e2 100644 --- a/internal/test/faas/awslambda/template.yaml +++ b/internal/test/faas/awslambda/template.yaml @@ -32,20 +32,6 @@ Resources: Variables: MONGODB_URI: !Ref MongoDbUri - ApplicationResourceGroup: - Type: AWS::ResourceGroups::Group - Properties: - Name: - Fn::Sub: ApplicationInsights-SAM-${AWS::StackName} - ResourceQuery: - Type: CLOUDFORMATION_STACK_1_0 - ApplicationInsightsMonitoring: - Type: AWS::ApplicationInsights::Application - Properties: - ResourceGroupName: - Ref: ApplicationResourceGroup - AutoConfigurationEnabled: 'true' - Outputs: MongoDBApi: Description: "API Gateway endpoint URL for Prod stage for MongoDB function" From 9bfea8ef7d2a26b86548667c724110d8f2e58d3a Mon Sep 17 00:00:00 2001 From: Matt Dale <9760375+matthewdale@users.noreply.github.com> Date: Fri, 1 Aug 2025 01:50:27 -0700 Subject: [PATCH 02/12] Use a pinned Go version for golangci-lint. (#2151) --- .github/workflows/test.yml | 3 +++ .pre-commit-config.yaml | 9 +++++++-- Makefile | 18 +++++++----------- etc/golangci-lint.sh | 24 ++++++++++++++++++++++++ 4 files changed, 41 insertions(+), 13 deletions(-) create mode 100755 etc/golangci-lint.sh diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index c4e5498fbf..a72ffa4ad9 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -18,4 +18,7 @@ jobs: steps: - uses: actions/checkout@v4 - uses: actions/setup-python@v5 + - uses: actions/setup-go@v5 + with: + go-version: 'stable' - uses: pre-commit/action@v3.0.1 diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index f78a95601b..db12c76224 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -50,7 +50,12 @@ repos: - id: markdown-link-check exclude: ^(vendor) -- repo: https://github.com/golangci/golangci-lint - rev: v1.60.1 +- repo: local hooks: - id: golangci-lint + name: golangci-lint + language: system + types: [go] + require_serial: true + pass_filenames: false + entry: etc/golangci-lint.sh diff --git a/Makefile b/Makefile index a3db27e0d1..f6045ba766 100644 --- a/Makefile +++ b/Makefile @@ -70,22 +70,18 @@ doc: fmt: go fmt ./... -.PHONY: install-golangci-lint -install-golangci-lint: - go install github.com/golangci/golangci-lint/cmd/golangci-lint@v1.60.1 - # Lint with various GOOS and GOARCH targets to catch static analysis failures that may only affect # specific operating systems or architectures. For example, staticcheck will only check for 64-bit # alignment of atomically accessed variables on 32-bit architectures (see # https://staticcheck.io/docs/checks#SA1027) .PHONY: lint -lint: install-golangci-lint - GOOS=linux GOARCH=386 golangci-lint run --config .golangci.yml ./... - GOOS=linux GOARCH=arm golangci-lint run --config .golangci.yml ./... - GOOS=linux GOARCH=arm64 golangci-lint run --config .golangci.yml ./... - GOOS=linux GOARCH=amd64 golangci-lint run --config .golangci.yml ./... - GOOS=linux GOARCH=ppc64le golangci-lint run --config .golangci.yml ./... - GOOS=linux GOARCH=s390x golangci-lint run --config .golangci.yml ./... +lint: + GOOS=linux GOARCH=386 etc/golangci-lint.sh + GOOS=linux GOARCH=arm etc/golangci-lint.sh + GOOS=linux GOARCH=arm64 etc/golangci-lint.sh + GOOS=linux GOARCH=amd64 etc/golangci-lint.sh + GOOS=linux GOARCH=ppc64le etc/golangci-lint.sh + GOOS=linux GOARCH=s390x etc/golangci-lint.sh .PHONY: update-notices update-notices: diff --git a/etc/golangci-lint.sh b/etc/golangci-lint.sh new file mode 100755 index 0000000000..8d7903e927 --- /dev/null +++ b/etc/golangci-lint.sh @@ -0,0 +1,24 @@ +#!/usr/bin/env bash +set -ex + +# Keep this in sync with go version used in static-analysis Evergreen build variant. +GO_VERSION=1.22.8 +GOLANGCI_LINT_VERSION=1.60.1 + +# Unset the cross-compiler overrides while downloading binaries. +GOOS_ORIG=${GOOS:-} +export GOOS= +GOARCH_ORIG=${GOARCH:-} +export GOARCH= + +go install golang.org/dl/go$GO_VERSION@latest +go${GO_VERSION} download +GOROOT="$(go${GO_VERSION} env GOROOT)" +PATH="$GOROOT/bin:$PATH" +export PATH +export GOROOT +go install github.com/golangci/golangci-lint/cmd/golangci-lint@v${GOLANGCI_LINT_VERSION} + +export GOOS=$GOOS_ORIG +export GOARCH=$GOARCH_ORIG +golangci-lint run --config .golangci.yml ./... From d4064746e1ae2adcc9ef98147e3d3ef80e23425c Mon Sep 17 00:00:00 2001 From: Andreas Braun Date: Fri, 1 Aug 2025 10:59:10 +0200 Subject: [PATCH 03/12] GODRIVER-3564: Add config and workflows for release note labels (#2148) --- .evergreen/config.yml | 28 ---------------------------- .github/CODEOWNERS | 1 + .github/labeler.yml | 5 ++--- .github/release.yml | 25 +++++++++++++++++++++++++ .github/reviewers.txt | 3 --- .github/workflows/check-labels.yml | 19 +++++++++++++++++++ .github/workflows/labeler.yml | 12 ++++++++++++ 7 files changed, 59 insertions(+), 34 deletions(-) create mode 100644 .github/CODEOWNERS create mode 100644 .github/release.yml delete mode 100644 .github/reviewers.txt create mode 100644 .github/workflows/check-labels.yml create mode 100644 .github/workflows/labeler.yml diff --git a/.evergreen/config.yml b/.evergreen/config.yml index 1800457b2b..6820eee952 100644 --- a/.evergreen/config.yml +++ b/.evergreen/config.yml @@ -410,32 +410,6 @@ functions: export HEAD_SHA=${github_commit} bash etc/api_report.sh - "add PR labels": - - command: shell.exec - type: test - params: - shell: "bash" - working_dir: src/go.mongodb.org/mongo-driver - add_expansions_to_env: true - script: | - ${PREPARE_SHELL} - export CONFIG=$PROJECT_DIRECTORY/.github/labeler.yml - export SCRIPT="$DRIVERS_TOOLS/.evergreen/github_app/apply-labels.sh" - bash $SCRIPT -l $CONFIG -h ${github_commit} -o "mongodb" -n "mongo-go-driver" - - "add PR reviewer": - - command: shell.exec - type: test - params: - shell: "bash" - working_dir: src/go.mongodb.org/mongo-driver - add_expansions_to_env: true - script: | - ${PREPARE_SHELL} - export CONFIG=$PROJECT_DIRECTORY/.github/reviewers.txt - export SCRIPT="$DRIVERS_TOOLS/.evergreen/github_app/assign-reviewer.sh" - bash $SCRIPT -p $CONFIG -h ${github_commit} -o "mongodb" -n "mongo-go-driver" - "backport pr": - command: subprocess.exec type: test @@ -936,8 +910,6 @@ tasks: allowed_requesters: ["patch", "github_pr"] commands: - func: assume-test-secrets-ec2-role - - func: "add PR reviewer" - - func: "add PR labels" - func: "create-api-report" - name: backport-pr diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS new file mode 100644 index 0000000000..1fad82a6a2 --- /dev/null +++ b/.github/CODEOWNERS @@ -0,0 +1 @@ +* @mongodb/dbx-go diff --git a/.github/labeler.yml b/.github/labeler.yml index 58eb1bbd43..ae7a121cc6 100644 --- a/.github/labeler.yml +++ b/.github/labeler.yml @@ -1,15 +1,14 @@ - priority-3-low: - changed-files: - any-glob-to-any-file: '*' documentation: - changed-files: - - any-glob-to-any-file: + - any-glob-to-any-file: - docs/** - examples/** dependencies: - changed-files: - - any-glob-to-any-file: + - any-glob-to-any-file: - go.mod diff --git a/.github/release.yml b/.github/release.yml new file mode 100644 index 0000000000..34b72a0bdf --- /dev/null +++ b/.github/release.yml @@ -0,0 +1,25 @@ +changelog: + exclude: + labels: + - ignore-for-release + - github_actions + - submodules + authors: + - mongodb-drivers-pr-bot + categories: + - title: ⚠️ Breaking Changes + labels: + - breaking + - title: ✨ New Features + labels: + - enhancement + - feature + - title: 🐛 Fixed + labels: + - bug + - title: 📦 Dependency Updates + labels: + - dependencies + - title: 📝 Other Changes + labels: + - "*" diff --git a/.github/reviewers.txt b/.github/reviewers.txt deleted file mode 100644 index 2230c13423..0000000000 --- a/.github/reviewers.txt +++ /dev/null @@ -1,3 +0,0 @@ -qingyang-hu -matthewdale -prestonvasquez diff --git a/.github/workflows/check-labels.yml b/.github/workflows/check-labels.yml new file mode 100644 index 0000000000..6a1be9c31c --- /dev/null +++ b/.github/workflows/check-labels.yml @@ -0,0 +1,19 @@ +name: Label Checker +on: + pull_request: + types: + - opened + - synchronize + - reopened + - labeled + - unlabeled + +jobs: + check_labels: + name: Check labels + runs-on: ubuntu-latest + steps: + - uses: docker://agilepathway/pull-request-label-checker:latest + with: + one_of: bug,feature,enhancement,documentation,dependencies + repo_token: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/labeler.yml b/.github/workflows/labeler.yml new file mode 100644 index 0000000000..52474c6a6c --- /dev/null +++ b/.github/workflows/labeler.yml @@ -0,0 +1,12 @@ +name: "Pull Request Labeler" +on: + - pull_request_target + +jobs: + labeler: + permissions: + contents: read + pull-requests: write + runs-on: ubuntu-latest + steps: + - uses: actions/labeler@v5 From 106cff3f48657f4d5f40d88e24fba88e670ff09e Mon Sep 17 00:00:00 2001 From: Matt Dale <9760375+matthewdale@users.noreply.github.com> Date: Wed, 3 Sep 2025 13:52:44 -0700 Subject: [PATCH 04/12] Retry Markdown link checks on HTTP 429 (v1) (#2186) --- .pre-commit-config.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index db12c76224..8368e9e0d8 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -49,6 +49,8 @@ repos: hooks: - id: markdown-link-check exclude: ^(vendor) + # Retry when the endpoint returns HTTP 429 (Too Many Requests) + args: [-r] - repo: local hooks: From 8c336ff79eaf5b09dc0003d2480552faf3d8e610 Mon Sep 17 00:00:00 2001 From: Matt Dale <9760375+matthewdale@users.noreply.github.com> Date: Wed, 3 Sep 2025 14:40:01 -0700 Subject: [PATCH 05/12] Pin drivers-evergreen-tools to rev 98f6b0e in v1. (#2184) --- .evergreen/config.yml | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/.evergreen/config.yml b/.evergreen/config.yml index 6820eee952..4bd1c35bc3 100644 --- a/.evergreen/config.yml +++ b/.evergreen/config.yml @@ -146,12 +146,15 @@ functions: script: | ${PREPARE_SHELL} rm -rf $DRIVERS_TOOLS - if [ "${project}" = "drivers-tools" ]; then - # If this was a patch build, doing a fresh clone would not actually test the patch - cp -R ${PROJECT_DIRECTORY}/ $DRIVERS_TOOLS - else - git clone https://github.com/mongodb-labs/drivers-evergreen-tools.git $DRIVERS_TOOLS - fi + git clone https://github.com/mongodb-labs/drivers-evergreen-tools.git $DRIVERS_TOOLS + + # Pin drivers-evergreen-tools to revision 98f6b0e (Aug 20, 2025). + # In leu of cutting a dedicated branch, please cherry-pick any required changes inline. + # For example: + # git -C $DRIVERS_TOOLS checkout 98f6b0e + # git -C $DRIVERS_TOOLS cherry-pick # needed for + git -C $DRIVERS_TOOLS checkout 98f6b0e + echo "{ \"releases\": { \"default\": \"$MONGODB_BINARIES\" }}" > $MONGO_ORCHESTRATION_HOME/orchestration.config - command: shell.exec params: From 747a8d0f4fecbeb380f4682855a58b24b2436317 Mon Sep 17 00:00:00 2001 From: Matt Dale <9760375+matthewdale@users.noreply.github.com> Date: Fri, 5 Sep 2025 09:43:59 -0700 Subject: [PATCH 06/12] Consider HTTP 429 a succcessful response in the Markdown link check. (#2191) --- .pre-commit-config.yaml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 8368e9e0d8..ec4bbb529d 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -49,8 +49,9 @@ repos: hooks: - id: markdown-link-check exclude: ^(vendor) - # Retry when the endpoint returns HTTP 429 (Too Many Requests) - args: [-r] + # If the endpoint returns HTTP 429 (Too Many Requests), consider it a + # successful check. + args: ["-a 200,206,429"] - repo: local hooks: From 0b2794fb49f6e1c1fdeb4ed8ea3991119d86053f Mon Sep 17 00:00:00 2001 From: Matt Dale <9760375+matthewdale@users.noreply.github.com> Date: Fri, 5 Sep 2025 10:51:43 -0700 Subject: [PATCH 07/12] GODRIVER-3612 Add an internal-only NewSessionWithLSID API (v1) (#2183) --- .evergreen/config.yml | 2 +- mongo/integration/mongointernal_test.go | 98 +++++++++++++++++++++++++ mongo/mongointernal.go | 41 +++++++++++ 3 files changed, 140 insertions(+), 1 deletion(-) create mode 100644 mongo/integration/mongointernal_test.go create mode 100644 mongo/mongointernal.go diff --git a/.evergreen/config.yml b/.evergreen/config.yml index 4bd1c35bc3..22b8bb2d93 100644 --- a/.evergreen/config.yml +++ b/.evergreen/config.yml @@ -387,7 +387,7 @@ functions: working_dir: src/go.mongodb.org/mongo-driver script: | ${PREPARE_SHELL} - ${BUILD_ENV|} BUILD_TAGS=${BUILD_TAGS|-tags=cse,gssapi} make ${targets} + ${BUILD_ENV|} BUILD_TAGS=${BUILD_TAGS|-tags=cse,gssapi,mongointernal} make ${targets} run-tests: - command: shell.exec diff --git a/mongo/integration/mongointernal_test.go b/mongo/integration/mongointernal_test.go new file mode 100644 index 0000000000..1cdb099d72 --- /dev/null +++ b/mongo/integration/mongointernal_test.go @@ -0,0 +1,98 @@ +// Copyright (C) MongoDB, Inc. 2025-present. +// +// Licensed under the Apache License, Version 2.0 (the "License"); you may +// not use this file except in compliance with the License. You may obtain +// a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 + +//go:build mongointernal + +package integration + +import ( + "context" + "testing" + + "go.mongodb.org/mongo-driver/bson" + "go.mongodb.org/mongo-driver/internal/assert" + "go.mongodb.org/mongo-driver/internal/require" + "go.mongodb.org/mongo-driver/mongo" + "go.mongodb.org/mongo-driver/mongo/integration/mtest" + "go.mongodb.org/mongo-driver/x/bsonx/bsoncore" +) + +func TestNewSessionWithLSID(t *testing.T) { + mt := mtest.New(t) + + mt.Run("can be used to pass a specific session ID to CRUD commands", func(mt *mtest.T) { + mt.Parallel() + + // Create a session ID document, which is a BSON document with field + // "id" containing a 16-byte UUID (binary subtype 4). + sessionID := bson.Raw(bsoncore.NewDocumentBuilder(). + AppendBinary("id", 4, []byte{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15}). + Build()) + + sess := mongo.NewSessionWithLSID(mt.Client, sessionID) + + ctx := mongo.NewSessionContext(context.Background(), sess) + _, err := mt.Coll.InsertOne(ctx, bson.D{{"foo", "bar"}}) + require.NoError(mt, err) + + evt := mt.GetStartedEvent() + val, err := evt.Command.LookupErr("lsid") + require.NoError(mt, err, "lsid should be present in the command document") + + doc, ok := val.DocumentOK() + require.True(mt, ok, "lsid should be a document") + + assert.Equal(mt, sessionID, doc) + }) + + mt.Run("EndSession panics", func(mt *mtest.T) { + mt.Parallel() + + sessionID := bson.Raw(bsoncore.NewDocumentBuilder(). + AppendBinary("id", 4, []byte{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}). + Build()) + sess := mongo.NewSessionWithLSID(mt.Client, sessionID) + + // Use a defer-recover block to catch the expected panic and assert that + // the recovered error is not nil. + defer func() { + err := recover() + assert.NotNil(mt, err, "expected EndSession to panic") + }() + + // Expect this call to panic. + sess.EndSession(context.Background()) + + // We expect that calling EndSession on a Session returned by + // NewSessionWithLSID panics. This code will only be reached if EndSession + // doesn't panic. + t.Errorf("expected EndSession to panic") + }) + + mt.Run("ClientSession.SetServer panics", func(mt *mtest.T) { + mt.Parallel() + + sessionID := bson.Raw(bsoncore.NewDocumentBuilder(). + AppendBinary("id", 4, []byte{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}). + Build()) + sess := mongo.NewSessionWithLSID(mt.Client, sessionID) + + // Use a defer-recover block to catch the expected panic and assert that + // the recovered error is not nil. + defer func() { + err := recover() + assert.NotNil(mt, err, "expected ClientSession.SetServer to panic") + }() + + // Expect this call to panic. + sess.(mongo.XSession).ClientSession().SetServer() + + // We expect that calling ClientSession.SetServer on a Session returned + // by NewSessionWithLSID panics. This code will only be reached if + // ClientSession.SetServer doesn't panic. + t.Errorf("expected ClientSession.SetServer to panic") + }) +} diff --git a/mongo/mongointernal.go b/mongo/mongointernal.go new file mode 100644 index 0000000000..0148756fc3 --- /dev/null +++ b/mongo/mongointernal.go @@ -0,0 +1,41 @@ +// Copyright (C) MongoDB, Inc. 2025-present. +// +// Licensed under the Apache License, Version 2.0 (the "License"); you may +// not use this file except in compliance with the License. You may obtain +// a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 + +//go:build mongointernal + +package mongo + +import ( + "time" + + "go.mongodb.org/mongo-driver/bson" + "go.mongodb.org/mongo-driver/x/bsonx/bsoncore" + "go.mongodb.org/mongo-driver/x/mongo/driver/session" +) + +// NewSessionWithLSID returns a Session with the given sessionID document. The +// sessionID is a BSON document with key "id" containing a 16-byte UUID (binary +// subtype 4). +// +// Sessions returned by NewSessionWithLSID are never added to the driver's +// session pool. Calling "EndSession" or "ClientSession.SetServer" on a Session +// returned by NewSessionWithLSID will panic. +// +// NewSessionWithLSID is intended only for internal use and may be changed or +// removed at any time. +func NewSessionWithLSID(client *Client, sessionID bson.Raw) Session { + return &sessionImpl{ + clientSession: &session.Client{ + Server: &session.Server{ + SessionID: bsoncore.Document(sessionID), + LastUsed: time.Now(), + }, + ClientID: client.id, + }, + client: client, + deployment: client.deployment, + } +} From 8708ca8b6964eb525418c86432ab3b366dbf177d Mon Sep 17 00:00:00 2001 From: Andreas Braun Date: Thu, 25 Sep 2025 17:33:11 +0200 Subject: [PATCH 08/12] Disable merge-up from release/1.17 (#2202) --- .github/workflows/merge-up.yml | 37 ---------------------------------- 1 file changed, 37 deletions(-) delete mode 100644 .github/workflows/merge-up.yml diff --git a/.github/workflows/merge-up.yml b/.github/workflows/merge-up.yml deleted file mode 100644 index 30726ae2f2..0000000000 --- a/.github/workflows/merge-up.yml +++ /dev/null @@ -1,37 +0,0 @@ -name: Merge up - -on: - push: - branches: - - release/*.* - - v* - -permissions: - id-token: write - contents: write - pull-requests: write - -jobs: - merge-up: - name: Create merge up pull request - runs-on: ubuntu-latest - - steps: - - uses: mongodb-labs/drivers-github-tools/secure-checkout@v2 - with: - app_id: ${{ vars.PR_APP_ID }} - private_key: ${{ secrets.PR_APP_PRIVATE_KEY }} - # Make sure to include fetch-depth 0 so all branches are fetched, not - # just the current one - fetch-depth: 0 - - - name: Create pull request - id: create-pull-request - uses: alcaeus/automatic-merge-up-action@1.0.0 - with: - ref: ${{ github.ref_name }} - branchNamePattern: 'release/.' - devBranchNamePattern: 'v' - fallbackBranch: 'master' - ignoredBranches: ${{ vars.IGNORED_MERGE_UP_BRANCHES }} - enableAutoMerge: true From 21f47d4287f28410b3d1852128ed299ba7b2609e Mon Sep 17 00:00:00 2001 From: Andreas Braun Date: Fri, 26 Sep 2025 05:37:37 +0200 Subject: [PATCH 09/12] Allow ignore-for-release label to satisfy label checker (#2203) --- .github/workflows/check-labels.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/check-labels.yml b/.github/workflows/check-labels.yml index 6a1be9c31c..467249202f 100644 --- a/.github/workflows/check-labels.yml +++ b/.github/workflows/check-labels.yml @@ -15,5 +15,5 @@ jobs: steps: - uses: docker://agilepathway/pull-request-label-checker:latest with: - one_of: bug,feature,enhancement,documentation,dependencies + one_of: bug,feature,enhancement,documentation,dependencies,ignore-for-release repo_token: ${{ secrets.GITHUB_TOKEN }} From b8790284926105a1ad35cf8c7be5fb642b78d8ac Mon Sep 17 00:00:00 2001 From: Matt Dale <9760375+matthewdale@users.noreply.github.com> Date: Wed, 22 Oct 2025 09:46:17 -0700 Subject: [PATCH 10/12] GODRIVER-3654 Don't test v1 branches against latest server. (#2188) --- .evergreen/config.yml | 32 +++++--------------------------- 1 file changed, 5 insertions(+), 27 deletions(-) diff --git a/.evergreen/config.yml b/.evergreen/config.yml index 22b8bb2d93..aab8226478 100644 --- a/.evergreen/config.yml +++ b/.evergreen/config.yml @@ -2039,7 +2039,7 @@ tasks: commands: - func: "bootstrap-mongo-orchestration" vars: - VERSION: "latest" + VERSION: "8.0" TOPOLOGY: "replica_set" - func: "run-search-index-tests" @@ -2083,10 +2083,6 @@ axes: display_name: "rapid" variables: VERSION: "rapid" - - id: "latest" - display_name: "latest" - variables: - VERSION: "latest" # OSes that require >= 3.2 for SSL - id: os-ssl-32 @@ -2544,12 +2540,6 @@ buildvariants: tasks: - name: ".test !.enterprise-auth !.snappy" - - matrix_name: "tests-latest-zlib-zstd-support" - matrix_spec: { version: ["latest"], os-ssl-40: ["windows-64", "rhel87-64"] } - display_name: "${version} ${os-ssl-40}" - tasks: - - name: ".test !.enterprise-auth !.snappy" - - matrix_name: "enterprise-auth-tests" matrix_spec: { os-ssl-32: "*" } display_name: "Enterprise Auth - ${os-ssl-32}" @@ -2557,20 +2547,20 @@ buildvariants: - name: ".test .enterprise-auth" - matrix_name: "aws-auth-test" - matrix_spec: { version: ["4.4", "5.0", "6.0", "7.0", "8.0", "latest"], os-aws-auth: "*" } + matrix_spec: { version: ["4.4", "5.0", "6.0", "7.0", "8.0"], os-aws-auth: "*" } display_name: "MONGODB-AWS Auth ${version} ${os-aws-auth}" tasks: - name: "aws-auth-test" - matrix_name: "ocsp-test" - matrix_spec: { version: ["4.4", "5.0", "6.0", "7.0", "8.0", "latest"], ocsp-rhel-87: ["rhel87"] } + matrix_spec: { version: ["4.4", "5.0", "6.0", "7.0", "8.0"], ocsp-rhel-87: ["rhel87"] } display_name: "OCSP ${version} ${ocsp-rhel-87}" batchtime: 20160 # Use a batchtime of 14 days as suggested by the OCSP test README tasks: - name: ".ocsp" - matrix_name: "ocsp-test-windows" - matrix_spec: { version: ["4.4", "5.0", "6.0", "7.0", "8.0", "latest"], os-ssl-40: ["windows-64"] } + matrix_spec: { version: ["4.4", "5.0", "6.0", "7.0", "8.0"], os-ssl-40: ["windows-64"] } display_name: "OCSP ${version} ${os-ssl-40}" batchtime: 20160 # Use a batchtime of 14 days as suggested by the OCSP test README tasks: @@ -2578,7 +2568,7 @@ buildvariants: - name: ".ocsp-rsa !.ocsp-staple" - matrix_name: "ocsp-test-macos" - matrix_spec: { version: ["4.4", "5.0", "6.0", "7.0", "8.0", "latest"], os-ssl-40: ["macos11"] } + matrix_spec: { version: ["4.4", "5.0", "6.0", "7.0", "8.0"], os-ssl-40: ["macos11"] } display_name: "OCSP ${version} ${os-ssl-40}" batchtime: 20160 # Use a batchtime of 14 days as suggested by the OCSP test README tasks: @@ -2599,12 +2589,6 @@ buildvariants: tasks: - name: ".versioned-api" - - matrix_name: "versioned-api-latest-test" - matrix_spec: { version: ["latest"], os-ssl-40: ["windows-64", "rhel87-64"] } - display_name: "API Version ${version} ${os-ssl-40}" - tasks: - - name: ".versioned-api" - - matrix_name: "kms-tls-test" matrix_spec: { version: ["7.0"], os-ssl-40: ["rhel87-64"] } display_name: "KMS TLS ${os-ssl-40}" @@ -2618,12 +2602,6 @@ buildvariants: tasks: - name: ".load-balancer" - - matrix_name: "load-balancer-latest-test" - matrix_spec: { version: ["latest"], os-ssl-40: ["rhel87-64"] } - display_name: "Load Balancer Support ${version} ${os-ssl-40}" - tasks: - - name: ".load-balancer" - - matrix_name: "kms-kmip-test" matrix_spec: { version: ["7.0"], os-ssl-40: ["rhel87-64"] } display_name: "KMS KMIP ${os-ssl-40}" From f1d540b2c4e606b6b0aa5d482fad848139664ef4 Mon Sep 17 00:00:00 2001 From: "mongodb-dbx-release-bot[bot]" <167856002+mongodb-dbx-release-bot[bot]@users.noreply.github.com> Date: Wed, 22 Oct 2025 23:18:45 +0000 Subject: [PATCH 11/12] BUMP v1.17.5 Signed-off-by: mongodb-dbx-release-bot[bot] <167856002+mongodb-dbx-release-bot[bot]@users.noreply.github.com> --- version/version.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/version/version.go b/version/version.go index cf9127b008..1a3c81541c 100644 --- a/version/version.go +++ b/version/version.go @@ -11,4 +11,4 @@ package version // Driver is the current version of the driver. -var Driver = "1.17.4" +var Driver = "1.17.5" From d2fa0ab6f3ba0579b7bca7912d30e23907ffec9a Mon Sep 17 00:00:00 2001 From: "mongodb-dbx-release-bot[bot]" <167856002+mongodb-dbx-release-bot[bot]@users.noreply.github.com> Date: Mon, 27 Oct 2025 23:16:51 +0000 Subject: [PATCH 12/12] BUMP v1.17.6 Signed-off-by: mongodb-dbx-release-bot[bot] <167856002+mongodb-dbx-release-bot[bot]@users.noreply.github.com> --- version/version.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/version/version.go b/version/version.go index 1a3c81541c..ace11008c1 100644 --- a/version/version.go +++ b/version/version.go @@ -11,4 +11,4 @@ package version // Driver is the current version of the driver. -var Driver = "1.17.5" +var Driver = "1.17.6"