From a9d18036d8ac5f4c95e278afccc7fd56d1d05f84 Mon Sep 17 00:00:00 2001 From: pulpbot Date: Sun, 10 Dec 2023 02:38:46 +0000 Subject: [PATCH] Update CI files [noissue] --- .ci/ansible/Containerfile.j2 | 20 +++++++------------ .github/template_gitref | 2 +- .github/workflows/ci.yml | 18 ++++++++++++++++- .github/workflows/scripts/before_install.sh | 3 +-- .github/workflows/scripts/install.sh | 14 ++++++++++++- .../scripts/install_python_client.sh | 3 ++- 6 files changed, 41 insertions(+), 19 deletions(-) diff --git a/.ci/ansible/Containerfile.j2 b/.ci/ansible/Containerfile.j2 index 0eb5d5ccb..c6c21fdb4 100644 --- a/.ci/ansible/Containerfile.j2 +++ b/.ci/ansible/Containerfile.j2 @@ -2,27 +2,21 @@ FROM {{ ci_base | default("ghcr.io/pulp/pulp-ci-centos:" + pulp_container_tag) } # Add source directories to container {% for item in plugins %} -{% if item.source.startswith("./") or item.ci_requirements | default(false) %} ADD ./{{ item.name }} ./{{ item.name }} -{% endif %} {% endfor %} # Install python packages +# S3 botocore needs to be patched to handle responses from minio during 0-byte uploads +# Hacking botocore (https://github.com/boto/botocore/pull/1990) RUN pip3 install -{%- for item in plugins -%} -{%- if item.name == "pulp-certguard" -%} -{{ " " }}python-dateutil rhsm -{%- endif -%} -{{ " " }}{{ item.source }} -{%- if item.name == "pulpcore" -%} {%- if s3_test | default(false) -%} -[s3] -{%- elif azure_test | default(false) -%} -[azure] -{%- elif gcp_test | default(false) -%} -[google] +{{ " " }}git+https://github.com/fabricio-aguiar/botocore.git@fix-100-continue {%- endif -%} +{%- for item in plugins -%} +{{ " " }}{{ item.source }} +{%- if item.lowerbounds | default(false) -%} +{{ " " }}-c ./{{ item.name }}/lowerbounds_constraints.txt {%- endif -%} {%- if item.ci_requirements | default(false) -%} {{ " " }}-r ./{{ item.name }}/ci_requirements.txt diff --git a/.github/template_gitref b/.github/template_gitref index 5eb4b23f5..93f101901 100644 --- a/.github/template_gitref +++ b/.github/template_gitref @@ -1 +1 @@ -2021.08.26-290-g4d54366 +2021.08.26-296-g466c79b diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 48b45f8e0..20b7dffb6 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -18,7 +18,7 @@ defaults: working-directory: "pulp_container" jobs: - ready-to-ship: + check-commits: runs-on: "ubuntu-latest" steps: - uses: "actions/checkout@v4" @@ -75,3 +75,19 @@ jobs: run: | cat deprecations-*.txt | sort -u ! cat deprecations-*.txt | grep '[^[:space:]]' + + ready-to-ship: + # This is a dummy dependent task to have a single entry for the branch protection rules. + runs-on: "ubuntu-latest" + needs: + - "check-commits" + - "lint" + - "test" + if: "always()" + steps: + - name: "Collect needed jobs results" + working-directory: "." + run: | + echo '${{toJson(needs)}}' | jq -r 'to_entries[]|select(.value.result!="success")|.key + ": " + .value.result' + echo '${{toJson(needs)}}' | jq -e 'to_entries|map(select(.value.result!="success"))|length == 0' + echo "CI says: Looks good!" diff --git a/.github/workflows/scripts/before_install.sh b/.github/workflows/scripts/before_install.sh index b49c14c32..80a4383b0 100755 --- a/.github/workflows/scripts/before_install.sh +++ b/.github/workflows/scripts/before_install.sh @@ -66,8 +66,7 @@ then fi if [[ "$TEST" = "lowerbounds" ]]; then - python3 .ci/scripts/calc_deps_lowerbounds.py > lowerbounds_requirements.txt - mv lowerbounds_requirements.txt requirements.txt + python3 .ci/scripts/calc_deps_lowerbounds.py > lowerbounds_constraints.txt fi if [ -f $POST_BEFORE_INSTALL ]; then diff --git a/.github/workflows/scripts/install.sh b/.github/workflows/scripts/install.sh index 401e142df..4ddb135f4 100755 --- a/.github/workflows/scripts/install.sh +++ b/.github/workflows/scripts/install.sh @@ -37,6 +37,13 @@ then fi cd .ci/ansible/ +PLUGIN_SOURCE="${PLUGIN_NAME}" +if [ "$TEST" = "s3" ]; then + PLUGIN_SOURCE="${PLUGIN_SOURCE} pulpcore[s3]" +fi +if [ "$TEST" = "azure" ]; then + PLUGIN_SOURCE="${PLUGIN_SOURCE} pulpcore[azure]" +fi cat >> vars/main.yaml << VARSYAML image: @@ -44,13 +51,18 @@ image: tag: "ci_build" plugins: - name: pulp_container - source: "${PLUGIN_NAME}" + source: "${PLUGIN_SOURCE}" VARSYAML if [[ -f ../../ci_requirements.txt ]]; then cat >> vars/main.yaml << VARSYAML ci_requirements: true VARSYAML fi +if [ "$TEST" = "lowerbounds" ]; then + cat >> vars/main.yaml << VARSYAML + lowerbounds: true +VARSYAML +fi cat >> vars/main.yaml << VARSYAML services: diff --git a/.github/workflows/scripts/install_python_client.sh b/.github/workflows/scripts/install_python_client.sh index 797dcb779..3a426c9b0 100755 --- a/.github/workflows/scripts/install_python_client.sh +++ b/.github/workflows/scripts/install_python_client.sh @@ -52,6 +52,7 @@ DOCSYAML # Building the bindings docs mkdocs build -tar cvf ../../pulp_container/container-python-client-docs.tar ./docs +# Pack the built site. +tar cvf ../../pulp_container/container-python-client-docs.tar ./site popd popd