Skip to content

Commit b523301

Browse files
committed
Merge remote-tracking branch 'origin/main' into network
2 parents 8c2f8b9 + ca65a91 commit b523301

File tree

153 files changed

+5727
-4733
lines changed

Some content is hidden

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

153 files changed

+5727
-4733
lines changed

.coveragerc

Lines changed: 0 additions & 12 deletions
This file was deleted.
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
echo "Running post-create-command.sh"
2+
3+
curl -sSL https://install.python-poetry.org | python3 -
4+
5+
poetry install --all-extras

.devcontainer/devcontainer.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818
// "forwardPorts": [],
1919

2020
// Use 'postCreateCommand' to run commands after the container is created.
21-
"postCreateCommand": "pip install --user -r requirements/ubuntu-latest-3.11.txt",
21+
"postCreateCommand": ".devcontainer/commands/post-create-command.sh",
2222
"customizations": {
2323
"vscode": {
2424
"extensions": [

.github/.release-please-manifest.json

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
{
2+
".": "4.0.1"
3+
}

.github/actions/setup-env/action.yml

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
name: setup-env
2+
description: set up the python environment
3+
4+
inputs:
5+
python-version:
6+
description: "The python version to install and use"
7+
default: "3.12" # we default to latest supported
8+
required: false
9+
10+
runs:
11+
using: composite
12+
steps:
13+
- name: Setup Poetry
14+
run: pipx install poetry
15+
shell: bash
16+
- name: Setup python ${{ inputs.python-version }}
17+
uses: actions/setup-python@v5
18+
with:
19+
python-version: ${{ inputs.python-version }}
20+
cache: poetry

.github/release-please-config.json

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
{
2+
"release-type": "python",
3+
"bootstrap-sha": "dcb4f6842cbfe6e880a77b0d4aabb3f396c6dc19",
4+
"packages": {
5+
".": {
6+
"package-name": "testcontainers"
7+
}
8+
},
9+
"$schema": "https://raw.githubusercontent.com/googleapis/release-please/main/schemas/config.json"
10+
}

.github/settings.yml

Lines changed: 152 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,152 @@
1+
# These settings are synced to GitHub by https://probot.github.io/apps/settings/
2+
3+
repository:
4+
# See https://docs.github.com/en/rest/reference/repos#update-a-repository for all available settings.
5+
6+
# The name of the repository. Changing this will rename the repository
7+
name: testcontainers-python
8+
9+
# A short description of the repository that will show up on GitHub
10+
description: "Python library that providing a friendly API to run Docker containers when from tests."
11+
12+
# A URL with more information about the repository
13+
homepage: https://testcontainers-python.readthedocs.io/en/latest
14+
15+
# A comma-separated list of topics to set on the repository
16+
topics: database,python,python3,selenium,testcontainers,testing
17+
18+
# Either `true` to make the repository private, or `false` to make it public.
19+
private: false
20+
21+
# Either `true` to enable issues for this repository, `false` to disable them.
22+
has_issues: true
23+
24+
# Either `true` to enable projects for this repository, or `false` to disable them.
25+
# If projects are disabled for the organization, passing `true` will cause an API error.
26+
has_projects: false
27+
28+
# Either `true` to enable the wiki for this repository, `false` to disable it.
29+
has_wiki: false
30+
31+
# Either `true` to enable downloads for this repository, `false` to disable them.
32+
has_downloads: true
33+
34+
# Updates the default branch for this repository.
35+
default_branch: main
36+
37+
# Either `true` to allow squash-merging pull requests, or `false` to prevent
38+
# squash-merging.
39+
allow_squash_merge: true
40+
41+
# Either `true` to allow merging pull requests with a merge commit, or `false`
42+
# to prevent merging pull requests with merge commits.
43+
allow_merge_commit: false
44+
45+
# Either `true` to allow rebase-merging pull requests, or `false` to prevent
46+
# rebase-merging.
47+
allow_rebase_merge: false
48+
49+
# Either `true` to enable automatic deletion of branches on merge, or `false` to disable
50+
delete_branch_on_merge: true
51+
52+
# Labels: define labels for Issues and Pull Requests
53+
# If including a `#`, make sure to wrap it with quotes!
54+
labels:
55+
- { name: '⛔ invalid', color: '#e6e6e6', description: '' }
56+
- { name: 'dependencies', color: '#0366d6', description: 'Pull requests that update a dependency file' }
57+
- { name: 'good first issue', color: '#1C49A0', description: '' }
58+
- { name: '✅ close on merge', color: '#0E8A16', description: 'Issue that will be closed by an open pull request' }
59+
- { name: '✨ package: new', color: '#0E8A16', description: '' }
60+
- { name: '❓ question', color: '#cc317c', description: '' }
61+
- { name: '🍏 macos', color: '#C5BF0',, description: '' }
62+
- { name: '🐛 bug', color: '#ee001',, description: '' }
63+
- { name: '🐧 linux', color: '#3ED4D',, description: '' }
64+
- { name: '👀 requires attention', color: '#fef2c0', description: '' }
65+
- { name: '📖 documentation', color: '#d93f0b', description: '' }
66+
- { name: '📦 package: clickhouse', color: '#0052CC', description: '' }
67+
- { name: '📦 package: compose', color: '#0052CC', description: '' }
68+
- { name: '📦 package: core', color: '#0052CC', description: '' }
69+
- { name: '📦 package: elasticsearch', color: '#0052CC', description: '' }
70+
- { name: '📦 package: google', color: '#0052CC', description: '' }
71+
- { name: '📦 package: kafka', color: '#0052CC', description: '' }
72+
- { name: '📦 package: keycloak', color: '#0052CC', description: '' }
73+
- { name: '📦 package: mongodb', color: '#0052CC', description: '' }
74+
- { name: '📦 package: mssql', color: '#0052CC', description: '' }
75+
- { name: '📦 package: neo4j', color: '#0052CC', description: '' }
76+
- { name: '📦 package: oracle', color: '#0052CC', description: '' }
77+
- { name: '📦 package: postgres', color: '#0052CC', description: '' }
78+
- { name: '📦 package: rabbitmq', color: '#0052CC', description: '' }
79+
- { name: '📦 package: selenium', color: '#0052CC', description: '' }
80+
- { name: '🔀 requires triage', color: '#bfdadc', description: '' }
81+
- { name: '🔧 maintenance', color: '#c2f759', description: '' }
82+
- { name: '🚀 enhancement', color: '#84b6eb', description: '' }
83+
- { name: '🚫 wontfix', color: '#ffffff', description: '' }
84+
- { name: '🛟 help wanted', color: '#128A0C', description: '' }
85+
86+
# Collaborators: give specific users access to this repository.
87+
# See https://docs.github.com/en/rest/reference/repos#add-a-repository-collaborator for available options
88+
collaborators:
89+
- username: totallyzen
90+
permission: maintain
91+
- username: alexanderankin
92+
permission: maintain
93+
- username: kiview
94+
permission: admin
95+
#- username: testcontainersbot
96+
# permission: write
97+
98+
# Note: `permission` is only valid on organization-owned repositories.
99+
# The permission to grant the collaborator. Can be one of:
100+
# * `pull` - can pull, but not push to or administer this repository.
101+
# * `push` - can pull and push, but not administer this repository.
102+
# * `admin` - can pull, push and administer this repository.
103+
# * `maintain` - Recommended for project managers who need to manage the repository without access to sensitive or destructive actions.
104+
# * `triage` - Recommended for contributors who need to proactively manage issues and pull requests without write access.
105+
106+
# See https://docs.github.com/en/rest/reference/teams#add-or-update-team-repository-permissions for available options
107+
teams:
108+
# Please make sure the team already exist in the organization, as the repository-settings application is not creating them.
109+
# See https://github.com/repository-settings/app/discussions/639 for more information about teams and settings
110+
# - name: go-team
111+
# # The permission to grant the team. Can be one of:
112+
# # * `pull` - can pull, but not push to or administer this repository.
113+
# # * `push` - can pull and push, but not administer this repository.
114+
# # * `admin` - can pull, push and administer this repository.
115+
# # * `maintain` - Recommended for project managers who need to manage the repository without access to sensitive or destructive actions.
116+
# # * `triage` - Recommended for contributors who need to proactively manage issues and pull requests without write access.
117+
# permission: admin
118+
- name: oss-maintainers
119+
permission: admin
120+
121+
branches:
122+
- name: main
123+
# https://docs.github.com/en/rest/reference/repos#update-branch-protection
124+
# Branch Protection settings. Set to null to disable
125+
protection:
126+
# Required. Require at least one approving review on a pull request, before merging. Set to null to disable.
127+
required_pull_request_reviews:
128+
# The number of approvals required. (1-6)
129+
required_approving_review_count: 1
130+
# Dismiss approved reviews automatically when a new commit is pushed.
131+
dismiss_stale_reviews: false
132+
# Blocks merge until code owners have reviewed.
133+
require_code_owner_reviews: false
134+
# Specify which users and teams can dismiss pull request reviews. Pass an empty dismissal_restrictions object to disable. User and team dismissal_restrictions are only available for organization-owned repositories. Omit this parameter for personal repositories.
135+
dismissal_restrictions:
136+
users: []
137+
teams: [] # [go-team]
138+
# Required. Require status checks to pass before merging. Set to null to disable
139+
required_status_checks:
140+
# Required. Require branches to be up to date before merging.
141+
strict: true
142+
# Required. The list of status checks to require in order to merge into this branch
143+
contexts: ["core"]
144+
# Required. Enforce all configured restrictions for administrators. Set to true to enforce required status checks for repository administrators. Set to null to disable.
145+
enforce_admins: false
146+
# Prevent merge commits from being pushed to matching branches
147+
required_linear_history: true
148+
# Required. Restrict who can push to this branch. Team and user restrictions are only available for organization-owned repositories. Set to null to disable.
149+
restrictions:
150+
apps: []
151+
users: [kiview,totallyzen,alexanderankin]
152+
teams: [oss-maintainers]

.github/workflows/attention-label.yml.disabled

Lines changed: 0 additions & 30 deletions
This file was deleted.

.github/workflows/ci-community.yml

Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
# Contrinuous Integration for community modules
2+
3+
name: modules
4+
5+
on:
6+
push:
7+
branches: [ main ]
8+
paths:
9+
- "modules/**"
10+
pull_request:
11+
branches: [ main ]
12+
paths:
13+
- "modules/**"
14+
15+
jobs:
16+
track-modules:
17+
runs-on: ubuntu-latest
18+
steps:
19+
- name: Checkout contents
20+
uses: actions/checkout@v4
21+
with:
22+
fetch-depth: 0 # recommended by tj-actions/changed-files
23+
- name: Get changed files
24+
id: changed-files
25+
uses: tj-actions/changed-files@v42
26+
with:
27+
path: "./modules"
28+
diff_relative: true
29+
dir_names: true
30+
dir_names_exclude_current_dir: true
31+
json: true
32+
- name: Compute modules from files
33+
id: compute-changes
34+
run: |
35+
modules=$(echo "${{ steps.changed-files.outputs.all_changed_files }}" | jq '.[] | split("/") | first' | jq -s -c '. | unique')
36+
echo "computed_modules=$modules"
37+
echo "computed_modules=$modules" >> $GITHUB_OUTPUT
38+
outputs:
39+
changed_modules: ${{ steps.compute-changes.outputs.computed_modules }}
40+
test:
41+
needs: [track-modules]
42+
if: ${{ needs.track-modules.outputs.changed_modules != '[]' }}
43+
strategy:
44+
fail-fast: false
45+
matrix:
46+
python-version: [ "3.11" ]
47+
module: ${{ fromJSON(needs.track-modules.outputs.changed_modules) }}
48+
runs-on: ubuntu-latest
49+
steps:
50+
- name: Checkout contents
51+
uses: actions/checkout@v4
52+
- name: Set up Python
53+
uses: ./.github/actions/setup-env
54+
with:
55+
python-version: ${{ matrix.python-version }}
56+
- name: Install Python dependencies
57+
run: poetry install -E ${{ matrix.module }}
58+
- name: Run tests
59+
run: make modules/${{ matrix.module }}/tests

.github/workflows/ci-core.yml

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
# Contrinuous Integration for the core package
2+
3+
name: core
4+
5+
on:
6+
push:
7+
branches: [main]
8+
pull_request:
9+
branches: [main]
10+
11+
jobs:
12+
test:
13+
strategy:
14+
fail-fast: false
15+
matrix:
16+
os: [ ubuntu ]
17+
python-version: ["3.9", "3.10", "3.11", "3.12"]
18+
runs-on: ${{ matrix.os }}-latest
19+
steps:
20+
- uses: actions/checkout@v4
21+
- name: Set up Python
22+
uses: ./.github/actions/setup-env
23+
with:
24+
python-version: ${{ matrix.python-version }}
25+
- name: Install Python dependencies
26+
run: poetry install --all-extras
27+
- name: Run twine check
28+
run: poetry build && poetry run twine check dist/*.tar.gz
29+
- name: Run tests
30+
run: make core/tests

0 commit comments

Comments
 (0)