From 29038559826ca5ec6da997a4d9c2ffc63ffd149c Mon Sep 17 00:00:00 2001 From: pulpbot Date: Sun, 19 Nov 2023 02:37:11 +0000 Subject: [PATCH] Update CI files [noissue] --- .github/template_gitref | 2 +- .github/workflows/build.yml | 37 +++++ .github/workflows/ci.yml | 152 +----------------- .github/workflows/lint.yml | 49 ++++++ .github/workflows/nightly.yml | 14 ++ .github/workflows/pr_checks.yml | 8 + .github/workflows/release.yml | 20 --- .../scripts/create_release_from_tag.sh | 4 +- .github/workflows/scripts/install.sh | 8 +- .../scripts/push_branch_and_tag_to_github.sh | 25 ++- .github/workflows/scripts/script.sh | 9 +- .github/workflows/test.yml | 129 +++++++++++++++ template_config.yml | 11 +- 13 files changed, 263 insertions(+), 205 deletions(-) create mode 100644 .github/workflows/build.yml create mode 100644 .github/workflows/lint.yml create mode 100644 .github/workflows/pr_checks.yml create mode 100644 .github/workflows/test.yml diff --git a/.github/template_gitref b/.github/template_gitref index 256a0012e..b11f949e5 100644 --- a/.github/template_gitref +++ b/.github/template_gitref @@ -1 +1 @@ -2021.08.26-251-g45d399d +2021.08.26-265-gbdd41dd diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 000000000..fdb2ff87b --- /dev/null +++ b/.github/workflows/build.yml @@ -0,0 +1,37 @@ +# WARNING: DO NOT EDIT! +# +# This file was generated by plugin_template, and is managed by it. Please use +# './plugin-template --github pulp_deb' to update this file. +# +# For more info visit https://github.com/pulp/plugin_template + +--- +name: Build +on: + workflow_call: + +jobs: + build: + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v4 + with: + fetch-depth: 1 + - uses: actions/setup-python@v4 + with: + python-version: "3.8" + - name: Install python dependencies + run: | + echo ::group::PYDEPS + pip install packaging wheel + echo ::endgroup:: + - name: Build package + run: python3 setup.py sdist bdist_wheel --python-tag py3 + - name: 'Upload Package whl' + uses: actions/upload-artifact@v3 + with: + name: plugin_package + path: dist/ + if-no-files-found: error + retention-days: 5 diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 189496aa7..897786692 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -42,155 +42,15 @@ jobs: run: python .ci/scripts/check_requirements.py lint: - runs-on: ubuntu-latest - - steps: - - uses: actions/checkout@v4 - with: - fetch-depth: 1 - - uses: actions/setup-python@v4 - with: - python-version: "3.8" - # lint_requirements contains tools needed for flake8, etc. - - name: Install requirements - run: pip3 install -r lint_requirements.txt + uses: "./.github/workflows/lint.yml" - # run black separately from flake8 to get a diff - - name: Run black - run: | - black --version - black --check --diff . - - # Lint code. - - name: Run flake8 - run: flake8 - - - name: Run extra lint checks - run: "[ ! -x .ci/scripts/extra_linting.sh ] || .ci/scripts/extra_linting.sh" - - # check for any files unintentionally left out of MANIFEST.in - - name: Check manifest - run: check-manifest - - - name: Check for pulpcore imports outside of pulpcore.plugin - run: sh .ci/scripts/check_pulpcore_imports.sh - - - name: Check for gettext problems - run: sh .ci/scripts/check_gettext.sh - - test: - runs-on: ubuntu-latest - # run only after lint finishes + build: needs: lint - strategy: - fail-fast: false - matrix: - env: - - TEST: pulp - - TEST: docs - - TEST: azure - - TEST: s3 - - TEST: lowerbounds - outputs: - deprecations-pulp: ${{ steps.deprecations.outputs.deprecations-pulp }} - deprecations-azure: ${{ steps.deprecations.outputs.deprecations-azure }} - deprecations-s3: ${{ steps.deprecations.outputs.deprecations-s3 }} - deprecations-lowerbounds: ${{ steps.deprecations.outputs.deprecations-lowerbounds }} - - steps: - - uses: actions/checkout@v4 - with: - fetch-depth: 1 - - - uses: actions/setup-python@v4 - with: - python-version: "3.8" - - - name: Install httpie - run: | - echo ::group::HTTPIE - pip install httpie - echo ::endgroup:: - echo "HTTPIE_CONFIG_DIR=$GITHUB_WORKSPACE/.ci/assets/httpie/" >> $GITHUB_ENV - - - name: Set environment variables - run: | - echo "TEST=${{ matrix.env.TEST }}" >> $GITHUB_ENV - - - name: Before Install - run: .github/workflows/scripts/before_install.sh - shell: bash - env: - PY_COLORS: '1' - ANSIBLE_FORCE_COLOR: '1' - GITHUB_PULL_REQUEST: ${{ github.event.number }} - GITHUB_PULL_REQUEST_BODY: ${{ github.event.pull_request.body }} - GITHUB_BRANCH: ${{ github.head_ref }} - GITHUB_REPO_SLUG: ${{ github.repository }} - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - GITHUB_CONTEXT: ${{ github.event.pull_request.commits_url }} - - - name: Install - run: .github/workflows/scripts/install.sh - shell: bash - env: - PY_COLORS: '1' - ANSIBLE_FORCE_COLOR: '1' - GITHUB_PULL_REQUEST: ${{ github.event.number }} - GITHUB_PULL_REQUEST_BODY: ${{ github.event.pull_request.body }} - GITHUB_BRANCH: ${{ github.head_ref }} - GITHUB_REPO_SLUG: ${{ github.repository }} - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - GITHUB_CONTEXT: ${{ github.event.pull_request.commits_url }} - - - name: Before Script - run: .github/workflows/scripts/before_script.sh - shell: bash - env: - PY_COLORS: '1' - ANSIBLE_FORCE_COLOR: '1' - GITHUB_PULL_REQUEST: ${{ github.event.number }} - GITHUB_PULL_REQUEST_BODY: ${{ github.event.pull_request.body }} - GITHUB_BRANCH: ${{ github.head_ref }} - GITHUB_REPO_SLUG: ${{ github.repository }} - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - GITHUB_CONTEXT: ${{ github.event.pull_request.commits_url }} - REDIS_DISABLED: ${{ contains('', matrix.env.TEST) }} - - - name: Setting secrets - if: github.event_name != 'pull_request' - run: python3 .github/workflows/scripts/secrets.py "$SECRETS_CONTEXT" - env: - SECRETS_CONTEXT: ${{ toJson(secrets) }} + uses: "./.github/workflows/build.yml" - - name: Script - run: .github/workflows/scripts/script.sh - shell: bash - env: - PY_COLORS: '1' - ANSIBLE_FORCE_COLOR: '1' - GITHUB_PULL_REQUEST: ${{ github.event.number }} - GITHUB_PULL_REQUEST_BODY: ${{ github.event.pull_request.body }} - GITHUB_BRANCH: ${{ github.head_ref }} - GITHUB_REPO_SLUG: ${{ github.repository }} - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - GITHUB_CONTEXT: ${{ github.event.pull_request.commits_url }} - - - name: Extract Deprecations from Logs - id: deprecations - run: echo deprecations-${{ matrix.env.TEST }}=$(docker logs pulp 2>&1 | grep -i pulpcore.deprecation | base64 -w 0) >> $GITHUB_OUTPUT - - - name: Logs - if: always() - run: | - echo "Need to debug? Please check: https://github.com/marketplace/actions/debugging-with-tmate" - http --timeout 30 --check-status --pretty format --print hb "https://pulp${PULP_API_ROOT}api/v3/status/" || true - docker images || true - docker ps -a || true - docker logs pulp || true - docker exec pulp ls -latr /etc/yum.repos.d/ || true - docker exec pulp cat /etc/yum.repos.d/* || true - docker exec pulp bash -c "pip3 list && pip3 install pipdeptree && pipdeptree" + test: + needs: build + uses: "./.github/workflows/test.yml" deprecations: runs-on: ubuntu-latest if: github.base_ref == 'main' diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml new file mode 100644 index 000000000..e0baeb955 --- /dev/null +++ b/.github/workflows/lint.yml @@ -0,0 +1,49 @@ +# WARNING: DO NOT EDIT! +# +# This file was generated by plugin_template, and is managed by it. Please use +# './plugin-template --github pulp_deb' to update this file. +# +# For more info visit https://github.com/pulp/plugin_template + +--- +name: Lint +on: + workflow_call: + +jobs: + lint: + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v4 + with: + fetch-depth: 1 + - uses: actions/setup-python@v4 + with: + python-version: "3.8" + # lint_requirements contains tools needed for flake8, etc. + - name: Install requirements + run: pip3 install -r lint_requirements.txt + + # run black separately from flake8 to get a diff + - name: Run black + run: | + black --version + black --check --diff . + + # Lint code. + - name: Run flake8 + run: flake8 + + - name: Run extra lint checks + run: "[ ! -x .ci/scripts/extra_linting.sh ] || .ci/scripts/extra_linting.sh" + + # check for any files unintentionally left out of MANIFEST.in + - name: Check manifest + run: check-manifest + + - name: Check for pulpcore imports outside of pulpcore.plugin + run: sh .ci/scripts/check_pulpcore_imports.sh + + - name: Check for gettext problems + run: sh .ci/scripts/check_gettext.sh diff --git a/.github/workflows/nightly.yml b/.github/workflows/nightly.yml index 530bfc4da..8a8a08c19 100644 --- a/.github/workflows/nightly.yml +++ b/.github/workflows/nightly.yml @@ -19,8 +19,12 @@ concurrency: cancel-in-progress: true jobs: + build: + uses: ./.github/workflows/build.yml + test: runs-on: ubuntu-latest + needs: build strategy: fail-fast: false @@ -39,6 +43,11 @@ jobs: with: fetch-depth: 1 + - uses: actions/download-artifact@v3 + with: + name: plugin_package + path: dist/ + - uses: actions/setup-python@v4 with: python-version: "3.8" @@ -211,6 +220,11 @@ jobs: with: fetch-depth: 1 + - uses: actions/download-artifact@v3 + with: + name: plugin_package + path: dist/ + - uses: actions/setup-python@v4 with: python-version: "3.8" diff --git a/.github/workflows/pr_checks.yml b/.github/workflows/pr_checks.yml new file mode 100644 index 000000000..9df0a58e4 --- /dev/null +++ b/.github/workflows/pr_checks.yml @@ -0,0 +1,8 @@ +# WARNING: DO NOT EDIT! +# +# This file was generated by plugin_template, and is managed by it. Please use +# './plugin-template --github pulp_deb' to update this file. +# +# For more info visit https://github.com/pulp/plugin_template + +--- diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index f0ee5a0da..fb5ee472b 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -12,11 +12,6 @@ on: inputs: release: description: "Release tag (e.g. 3.2.1)" - before_script: - description: | - Bash code to run before bindings and docs are built. This should only be used when re-running - a workflow to correct some aspect of the docs. e.g.: git checkout origin/3.14 CHANGES.rst - required: false env: RELEASE_WORKFLOW: true @@ -134,10 +129,6 @@ jobs: GITHUB_CONTEXT: ${{ github.event.pull_request.commits_url }} shell: bash - - name: Additional before_script - run: ${{ github.event.inputs.before_script }} - shell: bash - - name: Install Python client run: .github/workflows/scripts/install_python_client.sh shell: bash @@ -275,16 +266,5 @@ jobs: - name: Publish client to rubygems run: bash .github/workflows/scripts/publish_client_gem.sh - - name: Update GitHub - continue-on-error: true - run: | - set -euv - export COMMIT_MSG=$(git log --format=%B --no-merges -1) - export GH_ISSUES=$(echo $COMMIT_MSG | grep -o "GH Issues: .*" | awk '{print $3}') - pip install pygithub - - echo "GH Issues $GH_ISSUES" - python .ci/scripts/update_github.py - - name: Create release on GitHub run: bash .github/workflows/scripts/create_release_from_tag.sh ${{ github.event.inputs.release }} diff --git a/.github/workflows/scripts/create_release_from_tag.sh b/.github/workflows/scripts/create_release_from_tag.sh index 328454e0d..4de7777d7 100755 --- a/.github/workflows/scripts/create_release_from_tag.sh +++ b/.github/workflows/scripts/create_release_from_tag.sh @@ -1,7 +1,7 @@ #!/bin/sh -set -e +set -eu -curl -s -X POST https://api.github.com/repos/$GITHUB_REPOSITORY/releases \ +curl -s -X "POST https://api.github.com/repos/$GITHUB_REPOSITORY/releases" \ -H "Authorization: token $RELEASE_TOKEN" \ -d @- << EOF { diff --git a/.github/workflows/scripts/install.sh b/.github/workflows/scripts/install.sh index b9079f6d4..586a0dac8 100755 --- a/.github/workflows/scripts/install.sh +++ b/.github/workflows/scripts/install.sh @@ -15,6 +15,9 @@ set -euv source .github/workflows/scripts/utils.sh +PLUGIN_VERSION="$(sed -n -e 's/^\s*current_version\s*=\s*//p' .bumpversion.cfg | python -c 'from packaging.version import Version; print(Version(input()))')" +PLUGIN_NAME="./pulp_deb/dist/pulp_deb-${PLUGIN_VERSION}-py3-none-any.whl" + export PULP_API_ROOT="/pulp/" PIP_REQUIREMENTS=("pulp-cli-deb") @@ -33,11 +36,6 @@ fi cd .ci/ansible/ -if [[ "${RELEASE_WORKFLOW:-false}" == "true" ]]; then - PLUGIN_NAME=./pulp_deb/dist/pulp_deb-$PLUGIN_VERSION-py3-none-any.whl -else - PLUGIN_NAME=./pulp_deb -fi cat >> vars/main.yaml << VARSYAML image: name: pulp diff --git a/.github/workflows/scripts/push_branch_and_tag_to_github.sh b/.github/workflows/scripts/push_branch_and_tag_to_github.sh index 2f13c78d8..09c20228d 100755 --- a/.github/workflows/scripts/push_branch_and_tag_to_github.sh +++ b/.github/workflows/scripts/push_branch_and_tag_to_github.sh @@ -1,21 +1,16 @@ #!/bin/sh -set -e -BRANCH_NAME=$(echo $GITHUB_REF | sed -rn 's/refs\/heads\/(.*)/\1/p') +# WARNING: DO NOT EDIT! +# +# This file was generated by plugin_template, and is managed by it. Please use +# './plugin-template --github pulp_deb' to update this file. +# +# For more info visit https://github.com/pulp/plugin_template -ref_string=$(git show-ref --tags | grep refs/tags/$1) +set -eu -SHA=${ref_string:0:40} +BRANCH_NAME="$(echo "$GITHUB_REF" | sed -rn 's/refs\/heads\/(.*)/\1/p')" -remote_repo=https://pulpbot:${RELEASE_TOKEN}@github.com/${GITHUB_REPOSITORY}.git +remote_repo="https://pulpbot:${RELEASE_TOKEN}@github.com/${GITHUB_REPOSITORY}.git" -git push "${remote_repo}" $BRANCH_NAME - -curl -s -X POST https://api.github.com/repos/$GITHUB_REPOSITORY/git/refs \ --H "Authorization: token $RELEASE_TOKEN" \ --d @- << EOF -{ - "ref": "refs/tags/$1", - "sha": "$SHA" -} -EOF +git push "${remote_repo}" "$BRANCH_NAME" "$1" diff --git a/.github/workflows/scripts/script.sh b/.github/workflows/scripts/script.sh index 181f7e5ae..184ecc4a2 100755 --- a/.github/workflows/scripts/script.sh +++ b/.github/workflows/scripts/script.sh @@ -47,6 +47,7 @@ fi REPORTED_STATUS="$(pulp status)" if [[ "${RELEASE_WORKFLOW:-false}" == "true" ]]; then + # TODO Move this to prerelease checks REPORTED_VERSION="$(echo $REPORTED_STATUS | jq --arg plugin deb --arg legacy_plugin pulp_deb -r '.versions[] | select(.component == $plugin or .component == $legacy_plugin) | .version')" response=$(curl --write-out %{http_code} --silent --output /dev/null https://pypi.org/project/pulp-deb/$REPORTED_VERSION/) if [ "$response" == "200" ]; @@ -117,19 +118,15 @@ fi if [ -f $FUNC_TEST_SCRIPT ]; then source $FUNC_TEST_SCRIPT else - - if [[ "$GITHUB_WORKFLOW" == "Deb Nightly CI/CD" ]] || [[ "${RELEASE_WORKFLOW:-false}" == "true" ]]; then + if [[ "$GITHUB_WORKFLOW" == "Deb Nightly CI/CD" ]] + then cmd_user_prefix bash -c "pytest -v -r sx --color=yes --suppress-no-test-exit-code --pyargs pulp_deb.tests.functional -m parallel -n 8 --nightly" cmd_user_prefix bash -c "pytest -v -r sx --color=yes --pyargs pulp_deb.tests.functional -m 'not parallel' --nightly" - else cmd_user_prefix bash -c "pytest -v -r sx --color=yes --suppress-no-test-exit-code --pyargs pulp_deb.tests.functional -m parallel -n 8" cmd_user_prefix bash -c "pytest -v -r sx --color=yes --pyargs pulp_deb.tests.functional -m 'not parallel'" - - fi - fi export PULP_FIXTURES_URL="http://pulp-fixtures:8080" pushd ../pulp-cli-deb diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml new file mode 100644 index 000000000..adc70ce01 --- /dev/null +++ b/.github/workflows/test.yml @@ -0,0 +1,129 @@ +# WARNING: DO NOT EDIT! +# +# This file was generated by plugin_template, and is managed by it. Please use +# './plugin-template --github pulp_deb' to update this file. +# +# For more info visit https://github.com/pulp/plugin_template + +--- +name: Test +on: + workflow_call: + +jobs: + test: + runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + env: + - TEST: pulp + - TEST: docs + - TEST: azure + - TEST: s3 + - TEST: lowerbounds + outputs: + deprecations-pulp: ${{ steps.deprecations.outputs.deprecations-pulp }} + deprecations-azure: ${{ steps.deprecations.outputs.deprecations-azure }} + deprecations-s3: ${{ steps.deprecations.outputs.deprecations-s3 }} + deprecations-lowerbounds: ${{ steps.deprecations.outputs.deprecations-lowerbounds }} + + steps: + - uses: actions/checkout@v4 + with: + fetch-depth: 1 + + - uses: actions/setup-python@v4 + with: + python-version: "3.8" + + - uses: actions/download-artifact@v3 + with: + name: plugin_package + path: dist/ + + - name: Install httpie + run: | + echo ::group::HTTPIE + pip install httpie + echo ::endgroup:: + echo "HTTPIE_CONFIG_DIR=$GITHUB_WORKSPACE/.ci/assets/httpie/" >> $GITHUB_ENV + + - name: Set environment variables + run: | + echo "TEST=${{ matrix.env.TEST }}" >> $GITHUB_ENV + + - name: Before Install + run: .github/workflows/scripts/before_install.sh + shell: bash + env: + PY_COLORS: '1' + ANSIBLE_FORCE_COLOR: '1' + GITHUB_PULL_REQUEST: ${{ github.event.number }} + GITHUB_PULL_REQUEST_BODY: ${{ github.event.pull_request.body }} + GITHUB_BRANCH: ${{ github.head_ref }} + GITHUB_REPO_SLUG: ${{ github.repository }} + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + GITHUB_CONTEXT: ${{ github.event.pull_request.commits_url }} + + - name: Install + run: .github/workflows/scripts/install.sh + shell: bash + env: + PY_COLORS: '1' + ANSIBLE_FORCE_COLOR: '1' + GITHUB_PULL_REQUEST: ${{ github.event.number }} + GITHUB_PULL_REQUEST_BODY: ${{ github.event.pull_request.body }} + GITHUB_BRANCH: ${{ github.head_ref }} + GITHUB_REPO_SLUG: ${{ github.repository }} + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + GITHUB_CONTEXT: ${{ github.event.pull_request.commits_url }} + + - name: Before Script + run: .github/workflows/scripts/before_script.sh + shell: bash + env: + PY_COLORS: '1' + ANSIBLE_FORCE_COLOR: '1' + GITHUB_PULL_REQUEST: ${{ github.event.number }} + GITHUB_PULL_REQUEST_BODY: ${{ github.event.pull_request.body }} + GITHUB_BRANCH: ${{ github.head_ref }} + GITHUB_REPO_SLUG: ${{ github.repository }} + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + GITHUB_CONTEXT: ${{ github.event.pull_request.commits_url }} + REDIS_DISABLED: ${{ contains('', matrix.env.TEST) }} + + - name: Setting secrets + if: github.event_name != 'pull_request' + run: python3 .github/workflows/scripts/secrets.py "$SECRETS_CONTEXT" + env: + SECRETS_CONTEXT: ${{ toJson(secrets) }} + + - name: Script + run: .github/workflows/scripts/script.sh + shell: bash + env: + PY_COLORS: '1' + ANSIBLE_FORCE_COLOR: '1' + GITHUB_PULL_REQUEST: ${{ github.event.number }} + GITHUB_PULL_REQUEST_BODY: ${{ github.event.pull_request.body }} + GITHUB_BRANCH: ${{ github.head_ref }} + GITHUB_REPO_SLUG: ${{ github.repository }} + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + GITHUB_CONTEXT: ${{ github.event.pull_request.commits_url }} + + - name: Extract Deprecations from Logs + id: deprecations + run: echo deprecations-${{ matrix.env.TEST }}=$(docker logs pulp 2>&1 | grep -i pulpcore.deprecation | base64 -w 0) >> $GITHUB_OUTPUT + + - name: Logs + if: always() + run: | + echo "Need to debug? Please check: https://github.com/marketplace/actions/debugging-with-tmate" + http --timeout 30 --check-status --pretty format --print hb "https://pulp${PULP_API_ROOT}api/v3/status/" || true + docker images || true + docker ps -a || true + docker logs pulp || true + docker exec pulp ls -latr /etc/yum.repos.d/ || true + docker exec pulp cat /etc/yum.repos.d/* || true + docker exec pulp bash -c "pip3 list && pip3 install pipdeptree && pipdeptree" diff --git a/template_config.yml b/template_config.yml index bb561aec2..eeb64741d 100644 --- a/template_config.yml +++ b/template_config.yml @@ -1,7 +1,7 @@ # This config represents the latest values used when running the plugin-template. Any settings that # were not present before running plugin-template have been added with their default values. -# generated with plugin_template@2021.08.26-248-g4bfc3e1 +# generated with plugin_template@2021.08.26-265-gbdd41dd additional_repos: [] api_root: /pulp/ @@ -38,15 +38,8 @@ lint_requirements: true noissue_marker: '[noissue]' parallel_test_workers: 8 plugin_app_label: deb -plugin_camel: PulpDeb -plugin_camel_short: Deb -plugin_caps: PULP_DEB -plugin_caps_short: DEB -plugin_dash: pulp-deb -plugin_dash_short: deb plugin_default_branch: main plugin_name: pulp_deb -plugin_snake: pulp_deb post_job_template: null pre_job_template: null publish_docs_to_pulpprojectdotorg: true @@ -74,7 +67,6 @@ pypi_username: pulp python_version: '3.8' release_email: pulp-infra@redhat.com release_user: pulpbot -run_pulpcore_tests_for_plugins: false single_commit_check: false stalebot: true stalebot_days_until_close: 30 @@ -89,6 +81,5 @@ test_lowerbounds: true test_performance: false test_reroute: true test_s3: true -update_github: true use_issue_template: true