feat: more robust Reusable containers experience #6878
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# This file is autogenerated by the 'modulegen' tool. | |
# Please update the 'ci.yml' template instead. | |
name: Main pipeline | |
on: | |
push: | |
branches: | |
- main | |
paths-ignore: | |
- '.vscode/**' | |
- 'mkdocs.yml' | |
- 'docs/**' | |
- 'README.md' | |
pull_request: | |
paths-ignore: | |
- '.vscode/**' | |
- 'mkdocs.yml' | |
- 'docs/**' | |
- 'README.md' | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.head_ref || github.sha }} | |
cancel-in-progress: true | |
jobs: | |
test: | |
strategy: | |
matrix: | |
go-version: [1.22.x, 1.x] | |
platform: [ubuntu-latest, macos-latest] | |
uses: ./.github/workflows/ci-test-go.yml | |
with: | |
go-version: ${{ matrix.go-version }} | |
fail-fast: true | |
platform: ${{ matrix.platform }} | |
project-directory: "." | |
rootless-docker: false | |
run-tests: ${{ matrix.platform == 'ubuntu-latest' }} | |
ryuk-disabled: false | |
# The job below is a copy of the job above, but with ryuk disabled. | |
# It's executed in the first stage to avoid concurrency issues. | |
test-reaper-off: | |
name: "Test with reaper off" | |
strategy: | |
matrix: | |
go-version: [1.22.x, 1.x] | |
uses: ./.github/workflows/ci-test-go.yml | |
with: | |
go-version: ${{ matrix.go-version }} | |
fail-fast: false | |
platform: "ubuntu-latest" | |
project-directory: "." | |
rootless-docker: false | |
run-tests: true | |
ryuk-disabled: true | |
# The job below is a copy of the job above, but with Docker rootless. | |
# It's executed in the first stage to avoid concurrency issues. | |
test-rootless-docker: | |
name: "Test with Rootless Docker" | |
strategy: | |
matrix: | |
go-version: [1.22.x, 1.x] | |
platform: [ubuntu-latest] | |
uses: ./.github/workflows/ci-test-go.yml | |
with: | |
go-version: ${{ matrix.go-version }} | |
fail-fast: false | |
platform: "ubuntu-latest" | |
project-directory: "." | |
rootless-docker: true | |
run-tests: true | |
ryuk-disabled: false | |
test-module-generator: | |
strategy: | |
matrix: | |
go-version: [1.22.x, 1.x] | |
platform: [ubuntu-latest, macos-latest, windows-latest] | |
uses: ./.github/workflows/ci-test-go.yml | |
with: | |
go-version: ${{ matrix.go-version }} | |
fail-fast: true | |
platform: ${{ matrix.platform }} | |
project-directory: "modulegen" | |
rootless-docker: false | |
run-tests: true | |
ryuk-disabled: false | |
test-modules: | |
needs: test | |
strategy: | |
matrix: | |
go-version: [1.22.x, 1.x] | |
platform: [ubuntu-latest] | |
module: [artemis, azurite, cassandra, chroma, clickhouse, cockroachdb, compose, consul, couchbase, dolt, elasticsearch, gcloud, grafana-lgtm, inbucket, influxdb, k3s, k6, kafka, localstack, mariadb, milvus, minio, mockserver, mongodb, mssql, mysql, nats, neo4j, ollama, openfga, openldap, opensearch, postgres, pulsar, qdrant, rabbitmq, redis, redpanda, registry, surrealdb, valkey, vault, vearch, weaviate] | |
uses: ./.github/workflows/ci-test-go.yml | |
with: | |
go-version: ${{ matrix.go-version }} | |
fail-fast: false | |
platform: ${{ matrix.platform }} | |
project-directory: modules/${{ matrix.module }} | |
rootless-docker: false | |
run-tests: ${{ matrix.platform == 'ubuntu-latest' }} | |
ryuk-disabled: false | |
test-examples: | |
needs: test-modules | |
strategy: | |
matrix: | |
module: [nginx, toxiproxy] | |
uses: ./.github/workflows/ci-test-go.yml | |
with: | |
go-version: "1.22.x" | |
fail-fast: true | |
platform: 'ubuntu-latest' | |
project-directory: examples/${{ matrix.module }} | |
rootless-docker: false | |
run-tests: true | |
ryuk-disabled: false | |
sonarcloud: | |
permissions: | |
contents: read # for actions/checkout to fetch code | |
pull-requests: read # for sonarsource/sonarcloud-github-action to determine which PR to decorate | |
if: ${{ github.ref_name == 'main' && github.repository_owner == 'testcontainers' }} | |
needs: test-examples | |
runs-on: ubuntu-latest | |
steps: | |
- name: Check out code into the Go module directory | |
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 | |
with: | |
# Disabling shallow clone is recommended for improving relevancy of reporting | |
fetch-depth: 0 | |
- uses: actions/download-artifact@9bc31d5ccc31df68ecc42ccf4149144866c47d8a # v3.0.2 | |
with: | |
name: sonarcloud | |
- name: Analyze with SonarCloud | |
uses: sonarsource/sonarcloud-github-action@49e6cd3b187936a73b8280d59ffd9da69df63ec9 # v2.1.1 | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} |