Skip to content

Commit 4da32ff

Browse files
committed
Merge remote-tracking branch 'upstream/main' into dependabot/moby-term-v2
* upstream/main: (269 commits) chore(deps): bump actions/checkout from 6.0.1 to 6.0.2 (#3560) chore(deps): bump go.opentelemetry.io/otel/sdk to v1.41.0 (#3589) feat: add TiDB module (#3575) feat: add Forgejo module (#3556) feat: improve container conflict detection (#3574) chore(deps): bump go to 1.25 everywhere (#3572) chore(pulsar): bump base image to 4.x, replacing the wait for log strategy with wait for listening port (deterministic) (#3573) chore(deps): bump github.com/sigstore/sigstore in /modules/compose (#3571) chore(compose): update to compose-v5 (#3568) chore(deps): bump github.com/modelcontextprotocol/go-sdk (#3557) chore(deps): bump mkdocs-codeinclude-plugin from 0.2.1 to 0.3.1 (#3561) chore: update usage metrics (2026-03-02) (#3565) chore(deps): bump mkdocs-include-markdown-plugin from 7.2.0 to 7.2.1 (#3562) chore(deps): bump go.opentelemetry.io/otel/sdk in /modules/grafana-lgtm (#3563) chore(deps): bump go.opentelemetry.io/otel/sdk in /modules/toxiproxy (#3564) feat(azure): add lowkey vault container (#3542) feat(chroma): update to chroma 1.x (#3552) chore(deps): bump mkdocs-include-markdown-plugin from 7.2.0 to 7.2.1 (#3547) chore(deps): bump tj-actions/changed-files from 47.0.0 to 47.0.1 (#3546) chore(deps): bump actions/upload-artifact from 4.6.2 to 6.0.0 (#3545) ...
2 parents bde36a7 + bad114f commit 4da32ff

601 files changed

Lines changed: 35710 additions & 15638 deletions

File tree

Some content is hidden

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

.devcontainer/devcontainer.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
// README at: https://github.com/devcontainers/templates/tree/main/src/go
33
{
44
"name": "Go",
5-
"image": "mcr.microsoft.com/devcontainers/go:1.23-bookworm",
5+
"image": "mcr.microsoft.com/devcontainers/go:1.25-trixie",
66

77
// Features to add to the dev container. More info: https://containers.dev/features.
88
// "features": {},

.github/dependabot.yml

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,9 @@ updates:
1414
directories:
1515
- /
1616
- /examples/nginx
17-
- /examples/toxiproxy
1817
- /modulegen
18+
- /modules/aerospike
19+
- /modules/arangodb
1920
- /modules/artemis
2021
- /modules/azure
2122
- /modules/azurite
@@ -28,10 +29,13 @@ updates:
2829
- /modules/couchbase
2930
- /modules/databend
3031
- /modules/dind
32+
- /modules/dockermcpgateway
33+
- /modules/dockermodelrunner
3134
- /modules/dolt
3235
- /modules/dynamodb
3336
- /modules/elasticsearch
3437
- /modules/etcd
38+
- /modules/forgejo
3539
- /modules/gcloud
3640
- /modules/grafana-lgtm
3741
- /modules/inbucket
@@ -42,13 +46,15 @@ updates:
4246
- /modules/localstack
4347
- /modules/mariadb
4448
- /modules/meilisearch
49+
- /modules/memcached
4550
- /modules/milvus
4651
- /modules/minio
4752
- /modules/mockserver
4853
- /modules/mongodb
4954
- /modules/mssql
5055
- /modules/mysql
5156
- /modules/nats
57+
- /modules/nebulagraph
5258
- /modules/neo4j
5359
- /modules/ollama
5460
- /modules/openfga
@@ -63,7 +69,11 @@ updates:
6369
- /modules/redpanda
6470
- /modules/registry
6571
- /modules/scylladb
72+
- /modules/socat
73+
- /modules/solace
6674
- /modules/surrealdb
75+
- /modules/tidb
76+
- /modules/toxiproxy
6777
- /modules/valkey
6878
- /modules/vault
6979
- /modules/vearch

.github/workflows/ci-lint-go.yml

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -21,20 +21,19 @@ jobs:
2121
runs-on: 'ubuntu-latest'
2222
steps:
2323
- name: Check out code into the Go module directory
24-
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
24+
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
2525

2626
- name: Set up Go
27-
uses: actions/setup-go@0aaccfd150d50ccaeb58ebd88d36e91967a5f35b # v5.4.0
27+
uses: actions/setup-go@44694675825211faa026b3c33043df3e48a5fa00 # v6.0.0
2828
with:
2929
go-version-file: "${{ inputs.project-directory == '' && '.' || inputs.project-directory }}/go.mod"
3030
cache-dependency-path: "${{ inputs.project-directory == '' && '.' || inputs.project-directory }}/go.sum"
3131
id: go
3232

3333
- name: golangci-lint
34-
uses: golangci/golangci-lint-action@55c2c1448f86e01eaae002a5a3a9624417608d84 # v6.5.2
34+
uses: golangci/golangci-lint-action@1481404843c368bc19ca9406f87d6e0fc97bdcfd # v7.0.0
3535
with:
36-
# Optional: version of golangci-lint to use in form of v1.2 or v1.2.3 or `latest` to use the latest version
37-
version: v1.63.4
36+
version: v2.9.0
3837
# Optional: working directory, useful for monorepos
3938
working-directory: ${{ inputs.project-directory }}
4039

@@ -45,6 +44,12 @@ jobs:
4544
make generate
4645
git --no-pager diff && [[ 0 -eq $(git status --porcelain | wc -l) ]]
4746
47+
- name: generate project files by modulegen
48+
if: ${{ inputs.project-directory == 'modulegen' }}
49+
working-directory: ./${{ inputs.project-directory }}
50+
shell: bash
51+
run: go run . refresh
52+
4853
- name: modTidy
4954
working-directory: ./${{ inputs.project-directory }}
5055
shell: bash

.github/workflows/ci-test-go.yml

Lines changed: 25 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,11 @@ on:
1818
type: string
1919
default: "."
2020
description: "The directory where the Go project is located."
21+
testcontainers-cloud:
22+
required: false
23+
type: boolean
24+
default: false
25+
description: "Run the tests on Testcontainers Cloud"
2126
rootless-docker:
2227
required: false
2328
type: boolean
@@ -50,18 +55,18 @@ jobs:
5055
steps:
5156
- name: Setup rootless Docker
5257
if: ${{ inputs.rootless-docker }}
53-
uses: docker/setup-docker-action@c2d73c1a11a9b44be6d855121d75c3e0dac814c1 # v4
58+
uses: docker/setup-docker-action@efe9e3891a4f7307e689f2100b33a155b900a608 # v4.5.0
5459
with:
5560
rootless: true
5661

5762
- name: Check out code into the Go module directory
58-
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
63+
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
5964
with:
6065
# Disabling shallow clone is recommended for improving relevancy of reporting
6166
fetch-depth: 0
6267

6368
- name: Set up Go
64-
uses: actions/setup-go@0aaccfd150d50ccaeb58ebd88d36e91967a5f35b # v5.4.0
69+
uses: actions/setup-go@44694675825211faa026b3c33043df3e48a5fa00 # v6.0.0
6570
with:
6671
go-version: '${{ inputs.go-version }}'
6772
cache-dependency-path: '${{ inputs.project-directory }}/go.sum'
@@ -81,6 +86,13 @@ jobs:
8186
echo "No dependencies script found at $SCRIPT_PATH - skipping installation"
8287
fi
8388
89+
# Setup Testcontainers Cloud Client right before your Testcontainers tests
90+
- name: Setup Testcontainers Cloud Client
91+
if: ${{ inputs.testcontainers-cloud }}
92+
uses: atomicjar/testcontainers-cloud-setup-action@c335bdbb570ec7c48f72c7d450c077f0a002293e # v1.3
93+
with:
94+
token: ${{ secrets.TCC_TOKEN }}
95+
8496
- name: go test
8597
working-directory: ./${{ inputs.project-directory }}
8698
timeout-minutes: 30
@@ -90,6 +102,13 @@ jobs:
90102
run: |
91103
./scripts/check_environment.sh
92104
105+
# (Optionally) When you don't need Testcontainers Cloud anymore, you could terminate sessions eagerly
106+
- name: Terminate Testcontainers Cloud Client active sessions
107+
if: ${{ inputs.testcontainers-cloud }}
108+
uses: atomicjar/testcontainers-cloud-setup-action@c335bdbb570ec7c48f72c7d450c077f0a002293e # v1.3
109+
with:
110+
action: terminate
111+
93112
- name: Test Summary
94113
uses: test-summary/action@31493c76ec9e7aa675f1585d3ed6f1da69269a86 # v2.4
95114
with:
@@ -99,8 +118,9 @@ jobs:
99118
- name: Decide if Sonar must be run
100119
if: ${{ matrix.platform == 'ubuntu-latest' }}
101120
run: |
102-
if [[ "1.23.x" == "${{ inputs.go-version }}" ]] && \
121+
if [[ "1.25.x" == "${{ inputs.go-version }}" ]] && \
103122
[[ "true" != "${{ inputs.rootless-docker }}" ]] && \
123+
[[ "true" != "${{ inputs.testcontainers-cloud }}" ]] && \
104124
[[ "true" != "${{ inputs.ryuk-disabled }}" ]] && \
105125
[[ "main" == "${{ github.ref_name }}" ]] && \
106126
[[ "testcontainers" == "${{ github.repository_owner }}" ]]; then
@@ -125,7 +145,7 @@ jobs:
125145
126146
- name: SonarQube Scan
127147
if: ${{ env.SHOULD_RUN_SONAR == 'true' }}
128-
uses: SonarSource/sonarqube-scan-action@0303d6b62e310685c0e34d0b9cde218036885c4d # v5.0.0
148+
uses: SonarSource/sonarqube-scan-action@aa494459d7c39c106cc77b166de8b4250a32bb97 # v5.1.0
129149
env:
130150
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
131151
with:

.github/workflows/ci-windows.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,14 +24,14 @@ jobs:
2424
})
2525
2626
- name: Checkout
27-
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
27+
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
2828
with:
2929
token: ${{ secrets.GITHUB_TOKEN }}
3030
repository: ${{ github.event.client_payload.pull_request.head.repo.full_name }}
3131
ref: ${{ github.event.client_payload.pull_request.head.ref }}
3232

3333
- name: Set up Go
34-
uses: actions/setup-go@0aaccfd150d50ccaeb58ebd88d36e91967a5f35b # v5
34+
uses: actions/setup-go@44694675825211faa026b3c33043df3e48a5fa00 # v5
3535
with:
3636
go-version-file: go.mod
3737
id: go

.github/workflows/ci.yml

Lines changed: 30 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -18,11 +18,11 @@ jobs:
1818
modules_count: ${{ steps.set-modified-modules-count.outputs.modules_count }}
1919
steps:
2020
- name: Check out code into the Go module directory
21-
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
21+
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
2222

2323
- id: changed-files
2424
name: Get changed files
25-
uses: tj-actions/changed-files@4edd678ac3f81e2dc578756871e4d00c19191daf # v45.0.4
25+
uses: tj-actions/changed-files@e0021407031f5be11a464abee9a0776171c79891 # v47.0.1
2626

2727
- id: set-modified-modules
2828
name: Set all modified modules
@@ -61,7 +61,7 @@ jobs:
6161
# We don't want to fail the build the soonest but identify which modules passed and failed.
6262
fail-fast: false
6363
matrix:
64-
go-version: [1.23.x, 1.24.x]
64+
go-version: [1.25.x, 1.26.x]
6565
module: ${{ fromJSON(needs.detect-modules.outputs.modules) }}
6666
permissions:
6767
contents: read # for actions/checkout to fetch code
@@ -71,10 +71,33 @@ jobs:
7171
go-version: ${{ matrix.go-version }}
7272
platforms: ${{ matrix.module == 'modulegen' && '["ubuntu-latest", "macos-latest", "windows-latest"]' || '["ubuntu-latest"]' }}
7373
project-directory: "${{ matrix.module }}"
74+
testcontainers-cloud: false
7475
rootless-docker: false
7576
ryuk-disabled: false
7677
secrets: inherit
7778

79+
# The job below is a copy of the job above, but using Docker Cloud.
80+
test-testcontainers-cloud:
81+
# the core module is identified by the empty string (the root path)
82+
if: ${{ contains(fromJSON(needs.detect-modules.outputs.modules), '') }}
83+
needs:
84+
- detect-modules
85+
- lint
86+
name: "Test using Testcontainers Cloud"
87+
strategy:
88+
# We don't want to fail the build the soonest but identify which modules passed and failed.
89+
fail-fast: false
90+
matrix:
91+
go-version: [1.25.x, 1.26.x]
92+
uses: ./.github/workflows/ci-test-go.yml
93+
with:
94+
go-version: ${{ matrix.go-version }}
95+
platforms: '["ubuntu-latest"]'
96+
project-directory: "."
97+
testcontainers-cloud: true
98+
rootless-docker: false
99+
ryuk-disabled: false
100+
78101
# The job below is a copy of the job above, but with ryuk disabled.
79102
# It's executed in the first stage to avoid concurrency issues.
80103
test-reaper-off:
@@ -86,12 +109,13 @@ jobs:
86109
name: "Test with reaper off"
87110
strategy:
88111
matrix:
89-
go-version: [1.23.x, 1.24.x]
112+
go-version: [1.25.x, 1.26.x]
90113
uses: ./.github/workflows/ci-test-go.yml
91114
with:
92115
go-version: ${{ matrix.go-version }}
93116
platforms: '["ubuntu-latest"]'
94117
project-directory: "."
118+
testcontainers-cloud: false
95119
rootless-docker: false
96120
ryuk-disabled: true
97121

@@ -106,12 +130,13 @@ jobs:
106130
name: "Test with Rootless Docker"
107131
strategy:
108132
matrix:
109-
go-version: [1.23.x, 1.24.x]
133+
go-version: [1.25.x, 1.26.x]
110134
uses: ./.github/workflows/ci-test-go.yml
111135
with:
112136
go-version: ${{ matrix.go-version }}
113137
platforms: '["ubuntu-latest"]'
114138
project-directory: "."
139+
testcontainers-cloud: false
115140
rootless-docker: true
116141
ryuk-disabled: false
117142

.github/workflows/codeql.yml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -41,19 +41,19 @@ jobs:
4141
strategy:
4242
fail-fast: false
4343
matrix:
44-
language: [ 'go', 'javascript']
44+
language: [ 'go' ]
4545
# CodeQL supports [ 'cpp', 'csharp', 'go', 'java', 'javascript', 'python', 'ruby', 'swift' ]
4646
# Use only 'java' to analyze code written in Java, Kotlin or both
4747
# Use only 'javascript' to analyze code written in JavaScript, TypeScript or both
4848
# Learn more about CodeQL language support at https://aka.ms/codeql-docs/language-support
4949

5050
steps:
5151
- name: Checkout repository
52-
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
52+
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
5353

5454
# Initializes the CodeQL tools for scanning.
5555
- name: Initialize CodeQL
56-
uses: github/codeql-action/init@5f8171a638ada777af81d42b55959a643bb29017 # v3.28.12
56+
uses: github/codeql-action/init@192325c86100d080feab897ff886c34abd4c83a3 # v3.30.3
5757
with:
5858
languages: ${{ matrix.language }}
5959
# If you wish to specify custom queries, you can do so here or in a config file.
@@ -67,7 +67,7 @@ jobs:
6767
# Autobuild attempts to build any compiled languages (C/C++, C#, Go, Java, or Swift).
6868
# If this step fails, then you should remove it and run the build manually (see below)
6969
- name: Autobuild
70-
uses: github/codeql-action/autobuild@5f8171a638ada777af81d42b55959a643bb29017 # v3.28.12
70+
uses: github/codeql-action/autobuild@192325c86100d080feab897ff886c34abd4c83a3 # v3.30.3
7171

7272
# ℹ️ Command-line programs to run using the OS shell.
7373
# 📚 See https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsrun
@@ -80,6 +80,6 @@ jobs:
8080
# ./location_of_script_within_repo/buildscript.sh
8181

8282
- name: Perform CodeQL Analysis
83-
uses: github/codeql-action/analyze@5f8171a638ada777af81d42b55959a643bb29017 # v3.28.12
83+
uses: github/codeql-action/analyze@192325c86100d080feab897ff886c34abd4c83a3 # v3.30.3
8484
with:
8585
category: "/language:${{matrix.language}}"

.github/workflows/conventions.yml

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ jobs:
1616
name: Validate PR title follows Conventional Commits
1717
runs-on: ubuntu-latest
1818
steps:
19-
- uses: amannn/action-semantic-pull-request@0723387faaf9b38adef4775cd42cfd5155ed6017 # v5
19+
- uses: amannn/action-semantic-pull-request@48f256284bd46cdaab1048c3721360e808335d50 # v6
2020
env:
2121
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
2222
with:
@@ -47,3 +47,11 @@ jobs:
4747
docs
4848
chore
4949
deps
50+
51+
- name: Detect if the Pull Request was sent from the main branch
52+
if: "${{ github.head_ref == 'main' }}"
53+
env:
54+
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
55+
run: |
56+
gh pr close --comment "This Pull Request has been automatically closed because it was sent from the fork's main branch. Please use a different branch so that the maintainers can contribute to your Pull Request."
57+
exit 1

.github/workflows/docker-projects-latest.yml

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -22,10 +22,10 @@ jobs:
2222
echo "containerd_integration=${{ matrix.containerd-integration == true && 'containerd' || '' }}" >> "$GITHUB_ENV"
2323
2424
- name: Check out code into the Go module directory
25-
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
25+
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
2626

2727
- name: Set up Go
28-
uses: actions/setup-go@0aaccfd150d50ccaeb58ebd88d36e91967a5f35b # v5.4.0
28+
uses: actions/setup-go@44694675825211faa026b3c33043df3e48a5fa00 # v6.0.0
2929
with:
3030
go-version-file: 'go.mod'
3131
cache-dependency-path: 'go.sum'
@@ -67,7 +67,7 @@ jobs:
6767
- name: Notify to Slack on failures
6868
if: failure()
6969
id: slack
70-
uses: slackapi/slack-github-action@v2.0.0
70+
uses: slackapi/slack-github-action@91efab103c0de0a537f72a35f6b8cda0ee76bf0a # v2.1.1
7171
with:
7272
payload-templated: true
7373
payload-file-path: "./payload-slack-content.json"
@@ -88,10 +88,10 @@ jobs:
8888
continue-on-error: true
8989
steps:
9090
- name: Check out code into the Go module directory
91-
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
91+
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
9292

9393
- name: Set up Go
94-
uses: actions/setup-go@0aaccfd150d50ccaeb58ebd88d36e91967a5f35b # v5.4.0
94+
uses: actions/setup-go@44694675825211faa026b3c33043df3e48a5fa00 # v6.0.0
9595
with:
9696
go-version-file: 'modules/compose/go.mod'
9797
cache-dependency-path: 'modules/compose/go.sum'
@@ -127,7 +127,7 @@ jobs:
127127
- name: Notify to Slack on failures
128128
if: failure()
129129
id: slack
130-
uses: slackapi/slack-github-action@v2.0.0
130+
uses: slackapi/slack-github-action@91efab103c0de0a537f72a35f6b8cda0ee76bf0a #v2.1.1
131131
with:
132132
payload-templated: true
133133
payload-file-path: "./payload-slack-content.json"

0 commit comments

Comments
 (0)