From 185ff2ca7107f8ce2286caeef00f2d421827b3e0 Mon Sep 17 00:00:00 2001 From: pulpbot Date: Thu, 17 Sep 2026 13:19:59 +0000 Subject: [PATCH] Update CI files --- .ci/ansible/inventory.yaml | 2 +- .ci/ansible/start_container.yaml | 6 +++--- .ci/scripts/calc_constraints.py | 10 +++++++--- .ci/scripts/pr_labels.py | 6 ++++++ .github/workflows/build.yml | 2 +- .github/workflows/ci.yml | 4 ++-- .github/workflows/create-branch.yml | 2 +- .github/workflows/lint.yml | 2 +- .github/workflows/pr_checks.yml | 4 ++-- .github/workflows/release.yml | 2 +- .github/workflows/sanity.yml | 2 +- .github/workflows/scripts/before_install.sh | 18 +++++++++--------- .github/workflows/test.yml | 2 +- .github/workflows/update-labels.yml | 2 +- .github/workflows/update_ci.yml | 2 +- template_config.yml | 2 +- 16 files changed, 39 insertions(+), 29 deletions(-) diff --git a/.ci/ansible/inventory.yaml b/.ci/ansible/inventory.yaml index 3b85c5f4057..ad2fbceacdc 100644 --- a/.ci/ansible/inventory.yaml +++ b/.ci/ansible/inventory.yaml @@ -5,7 +5,7 @@ all: hosts: pulp: pulp-fixtures: - minio: + rustfs: ci-sftp: vars: ansible_connection: docker diff --git a/.ci/ansible/start_container.yaml b/.ci/ansible/start_container.yaml index f0b4d43c2cb..d471c6499dc 100644 --- a/.ci/ansible/start_container.yaml +++ b/.ci/ansible/start_container.yaml @@ -64,9 +64,9 @@ from botocore.exceptions import ClientError client = boto3.client( "s3", - aws_access_key_id="{{ minio_access_key }}", - aws_secret_access_key="{{ minio_secret_key }}", - endpoint_url="http://minio:9000", + aws_access_key_id="{{ rustfs_access_key }}", + aws_secret_access_key="{{ rustfs_secret_key }}", + endpoint_url="http://rustfs:9000", region_name="eu-central-1", ) try: diff --git a/.ci/scripts/calc_constraints.py b/.ci/scripts/calc_constraints.py index 1a4880613ba..b9af2e73f99 100755 --- a/.ci/scripts/calc_constraints.py +++ b/.ci/scripts/calc_constraints.py @@ -26,10 +26,14 @@ def fetch_pulpcore_upper_bound(requirement): with urllib.request.urlopen(CORE_TEMPLATE_URL) as f: template = yaml.safe_load(f.read()) - supported_versions = template["supported_release_branches"] - supported_versions.append(template["latest_release_branch"]) + supported_branches = [ + *template["supported_release_branches"], + template["latest_release_branch"], + ] applicable_versions = sorted( - requirement.specifier.filter((Version(v) for v in supported_versions)) + Version(branch) + for branch in supported_branches + if requirement.specifier.contains(Version(f"{branch}.999999")) ) if len(applicable_versions) == 0: raise Exception("No supported pulpcore version in required range.") diff --git a/.ci/scripts/pr_labels.py b/.ci/scripts/pr_labels.py index 4f801c39e18..d4ccc5d9993 100755 --- a/.ci/scripts/pr_labels.py +++ b/.ci/scripts/pr_labels.py @@ -1,4 +1,10 @@ #!/bin/env python3 +# /// script +# requires-python = ">=3.12" +# dependencies = [ +# "gitpython>=3.1.62", +# ] +# /// # This script is running with elevated privileges from the main branch against pull requests. diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 4682047735c..9eb96cdd9b0 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -33,7 +33,7 @@ jobs: path: "pulp-openapi-generator" - uses: "actions/setup-python@v6" with: - python-version: "3.11" + python-version: "3.9" - name: "Install uv" uses: "astral-sh/setup-uv@v7" with: diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 452d934b082..79289e8e3e0 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -30,7 +30,7 @@ jobs: path: "pulpcore" - uses: "actions/setup-python@v6" with: - python-version: "3.11" + python-version: "3.9" - name: "Install uv" uses: "astral-sh/setup-uv@v7" with: @@ -61,7 +61,7 @@ jobs: - uses: "actions/setup-python@v6" with: - python-version: "3.12" + python-version: "3.9" - name: "Install uv" uses: "astral-sh/setup-uv@v7" with: diff --git a/.github/workflows/create-branch.yml b/.github/workflows/create-branch.yml index e44dc924c7b..02d1e7f0643 100644 --- a/.github/workflows/create-branch.yml +++ b/.github/workflows/create-branch.yml @@ -38,7 +38,7 @@ jobs: - uses: "actions/setup-python@v6" with: - python-version: "3.11" + python-version: "3.9" - name: "Install uv" uses: "astral-sh/setup-uv@v7" with: diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index 44ecdbb1152..1849e7d82c6 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -29,7 +29,7 @@ jobs: - uses: "actions/setup-python@v6" with: - python-version: "3.11" + python-version: "3.9" - name: "Install uv" uses: "astral-sh/setup-uv@v7" with: diff --git a/.github/workflows/pr_checks.yml b/.github/workflows/pr_checks.yml index 556d676000b..6f73e14eec6 100644 --- a/.github/workflows/pr_checks.yml +++ b/.github/workflows/pr_checks.yml @@ -40,7 +40,7 @@ jobs: fetch-depth: 0 - uses: "actions/setup-python@v6" with: - python-version: "3.11" + python-version: "3.14" - name: "Install uv" uses: "astral-sh/setup-uv@v7" with: @@ -49,7 +49,7 @@ jobs: run: | uv pip install GitPython==3.1.42 git fetch origin ${{ github.event.pull_request.head.sha }} - python .ci/scripts/pr_labels.py "origin/${{ github.base_ref }}" "${{ github.event.pull_request.head.sha }}" >> "$GITHUB_ENV" + uv run --script .ci/scripts/pr_labels.py "origin/${{ github.base_ref }}" "${{ github.event.pull_request.head.sha }}" >> "$GITHUB_ENV" - uses: "actions/github-script@v8" name: "Apply PR Labels" with: diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 755a5069a11..106125cccfc 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -33,7 +33,7 @@ jobs: - uses: "actions/setup-python@v6" with: - python-version: "3.11" + python-version: "3.9" - name: "Install uv" uses: "astral-sh/setup-uv@v7" with: diff --git a/.github/workflows/sanity.yml b/.github/workflows/sanity.yml index e2bf0785cdc..d469f7356b7 100644 --- a/.github/workflows/sanity.yml +++ b/.github/workflows/sanity.yml @@ -32,7 +32,7 @@ jobs: - uses: "actions/setup-python@v6" with: - python-version: "3.11" + python-version: "3.9" - name: "Install uv" uses: "astral-sh/setup-uv@v7" with: diff --git a/.github/workflows/scripts/before_install.sh b/.github/workflows/scripts/before_install.sh index 41e2b6e4a5b..95dc3d88d23 100755 --- a/.github/workflows/scripts/before_install.sh +++ b/.github/workflows/scripts/before_install.sh @@ -80,19 +80,19 @@ services: VARSYAML if [ "$TEST" = "s3" ]; then - MINIO_ACCESS_KEY=AKIAIT2Z5TDYPX3ARJBA - MINIO_SECRET_KEY=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 + RUSTFS_ACCESS_KEY=AKIAIT2Z5TDYPX3ARJBA + RUSTFS_SECRET_KEY=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 cat >> .ci/ansible/vars/main.yaml << VARSYAML - - name: "minio" - image: "minio/minio" + - name: "rustfs" + image: "rustfs/rustfs" env: - MINIO_ACCESS_KEY: "${MINIO_ACCESS_KEY}" - MINIO_SECRET_KEY: "${MINIO_SECRET_KEY}" + RUSTFS_ACCESS_KEY: "${RUSTFS_ACCESS_KEY}" + RUSTFS_SECRET_KEY: "${RUSTFS_SECRET_KEY}" command: "server /data" s3_test: true -minio_access_key: "${MINIO_ACCESS_KEY}" -minio_secret_key: "${MINIO_SECRET_KEY}" -pulp_scenario_settings: {"DISABLED_authentication_backends": "@merge django.contrib.auth.backends.RemoteUserBackend", "DISABLED_authentication_json_header": "HTTP_X_RH_IDENTITY", "DISABLED_authentication_json_header_jq_filter": ".identity.user.username", "DISABLED_authentication_json_header_openapi_security_scheme": {"description": "External OAuth integration", "flows": {"clientCredentials": {"scopes": {"api.console": "grant_access_to_pulp"}, "tokenUrl": "https://your-identity-provider/token/issuer"}}, "type": "oauth2"}, "DISABLED_rest_framework__default_authentication_classes": "@merge pulpcore.app.authentication.JSONHeaderRemoteAuthentication", "MEDIA_ROOT": "", "STORAGES": {"default": {"BACKEND": "storages.backends.s3boto3.S3Boto3Storage", "OPTIONS": {"access_key": "AKIAIT2Z5TDYPX3ARJBA", "addressing_style": "path", "bucket_name": "pulp3", "default_acl": "@none", "endpoint_url": "http://minio:9000", "region_name": "eu-central-1", "secret_key": "fqRvjWaPU5o0fCqQuUWbj9Fainj2pVZtBCiDiieS", "signature_version": "s3v4"}}, "staticfiles": {"BACKEND": "django.contrib.staticfiles.storage.StaticFilesStorage"}}, "api_root": "/rerouted/djnd/", "domain_enabled": true, "hide_guarded_distributions": true, "rest_framework__default_permission_classes": ["pulpcore.plugin.access_policy.AccessPolicyFromSettings"]} +rustfs_access_key: "${RUSTFS_ACCESS_KEY}" +rustfs_secret_key: "${RUSTFS_SECRET_KEY}" +pulp_scenario_settings: {"DISABLED_authentication_backends": "@merge django.contrib.auth.backends.RemoteUserBackend", "DISABLED_authentication_json_header": "HTTP_X_RH_IDENTITY", "DISABLED_authentication_json_header_jq_filter": ".identity.user.username", "DISABLED_authentication_json_header_openapi_security_scheme": {"description": "External OAuth integration", "flows": {"clientCredentials": {"scopes": {"api.console": "grant_access_to_pulp"}, "tokenUrl": "https://your-identity-provider/token/issuer"}}, "type": "oauth2"}, "DISABLED_rest_framework__default_authentication_classes": "@merge pulpcore.app.authentication.JSONHeaderRemoteAuthentication", "MEDIA_ROOT": "", "STORAGES": {"default": {"BACKEND": "storages.backends.s3boto3.S3Boto3Storage", "OPTIONS": {"access_key": "AKIAIT2Z5TDYPX3ARJBA", "addressing_style": "path", "bucket_name": "pulp3", "default_acl": "@none", "endpoint_url": "http://rustfs:9000", "region_name": "eu-central-1", "secret_key": "fqRvjWaPU5o0fCqQuUWbj9Fainj2pVZtBCiDiieS", "signature_version": "s3v4"}}, "staticfiles": {"BACKEND": "django.contrib.staticfiles.storage.StaticFilesStorage"}}, "api_root": "/rerouted/djnd/", "domain_enabled": true, "hide_guarded_distributions": true, "rest_framework__default_permission_classes": ["pulpcore.plugin.access_policy.AccessPolicyFromSettings"]} # MinIO omits 100-continue on 0-byte PUTs; stock botocore hangs without this (boto/botocore#3123). pulp_scenario_env: {"BOTO_EXPERIMENTAL__NO_EMPTY_CONTINUE": "true"} VARSYAML diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 5b98b004ef2..2673a816e2a 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -43,7 +43,7 @@ jobs: - uses: "actions/setup-python@v6" with: - python-version: "3.11" + python-version: "3.9" - name: "Install uv" uses: "astral-sh/setup-uv@v7" with: diff --git a/.github/workflows/update-labels.yml b/.github/workflows/update-labels.yml index 72e9fe750a6..081f82dbe1a 100644 --- a/.github/workflows/update-labels.yml +++ b/.github/workflows/update-labels.yml @@ -24,7 +24,7 @@ jobs: steps: - uses: "actions/setup-python@v6" with: - python-version: "3.11" + python-version: "3.9" - name: "Install uv" uses: "astral-sh/setup-uv@v7" with: diff --git a/.github/workflows/update_ci.yml b/.github/workflows/update_ci.yml index a89a65642af..985d7b857a2 100644 --- a/.github/workflows/update_ci.yml +++ b/.github/workflows/update_ci.yml @@ -34,7 +34,7 @@ jobs: - uses: "actions/setup-python@v6" with: - python-version: "3.11" + python-version: "3.9" - name: "Install uv" uses: "astral-sh/setup-uv@v7" with: diff --git a/template_config.yml b/template_config.yml index 09bbf3a4958..7733076ebfe 100644 --- a/template_config.yml +++ b/template_config.yml @@ -107,7 +107,7 @@ pulp_settings_s3: addressing_style: "path" bucket_name: "pulp3" default_acl: "@none" - endpoint_url: "http://minio:9000" + endpoint_url: "http://rustfs:9000" region_name: "eu-central-1" secret_key: "fqRvjWaPU5o0fCqQuUWbj9Fainj2pVZtBCiDiieS" signature_version: "s3v4"