diff --git a/.ci/ansible/Containerfile.j2 b/.ci/ansible/Containerfile.j2 index 0eb5d5cc..c6c21fdb 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 5eb4b23f..93f10190 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 9fd34e4b..7ff34f83 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -18,7 +18,7 @@ defaults: working-directory: "pulp_file" 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/nightly.yml b/.github/workflows/nightly.yml index 6a527b47..f6f2995f 100644 --- a/.github/workflows/nightly.yml +++ b/.github/workflows/nightly.yml @@ -156,7 +156,7 @@ jobs: - name: "Install python dependencies" run: | echo ::group::PYDEPS - pip install towncrier twine wheel httpie docker netaddr boto3 ansible + pip install towncrier twine wheel httpie docker netaddr boto3 ansible mkdocs echo "HTTPIE_CONFIG_DIR=$GITHUB_WORKSPACE/pulp_file/.ci/assets/httpie/" >> $GITHUB_ENV echo ::endgroup:: diff --git a/.github/workflows/scripts/before_install.sh b/.github/workflows/scripts/before_install.sh index 190b8339..727bea5b 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 473e46f3..011667ad 100755 --- a/.github/workflows/scripts/install.sh +++ b/.github/workflows/scripts/install.sh @@ -35,6 +35,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: @@ -42,13 +49,18 @@ image: tag: "ci_build" plugins: - name: pulp_file - 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 96160e22..ab8bf6da 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_file/file-python-client-docs.tar ./docs +# Pack the built site. +tar cvf ../../pulp_file/file-python-client-docs.tar ./site popd popd