Update CI files for branch 3.91 #12576
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# WARNING: DO NOT EDIT! | |
# | |
# This file was generated by plugin_template, and is managed by it. Please use | |
# './plugin-template --github pulpcore' to update this file. | |
# | |
# For more info visit https://github.com/pulp/plugin_template | |
--- | |
name: "Core CI" | |
on: {pull_request: {branches: ['*']}} | |
concurrency: | |
group: ${{ github.ref_name }}-${{ github.workflow }} | |
cancel-in-progress: true | |
defaults: | |
run: | |
working-directory: "pulpcore" | |
jobs: | |
check-commits: | |
runs-on: "ubuntu-latest" | |
steps: | |
- uses: "actions/checkout@v4" | |
with: | |
fetch-depth: 0 | |
path: "pulpcore" | |
- uses: "actions/setup-python@v5" | |
with: | |
python-version: "3.11" | |
- name: "Install python dependencies" | |
run: | | |
echo ::group::PYDEPS | |
pip install requests pygithub pyyaml | |
echo ::endgroup:: | |
- name: "Check commit message" | |
if: github.event_name == 'pull_request' | |
env: | |
PY_COLORS: "1" | |
ANSIBLE_FORCE_COLOR: "1" | |
GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}" | |
GITHUB_CONTEXT: "${{ github.event.pull_request.commits_url }}" | |
run: | | |
.github/workflows/scripts/check_commit.sh | |
check-changes: | |
runs-on: ubuntu-latest | |
outputs: | |
run_tests: ${{ steps.check.outputs.run_tests }} | |
steps: | |
- uses: "actions/checkout@v4" | |
with: | |
fetch-depth: 0 | |
path: "pulpcore" | |
- uses: "actions/setup-python@v5" | |
with: | |
python-version: "3.12" | |
- name: "Install python dependencies" | |
run: | | |
echo ::group::PYDEPS | |
pip install gitpython | |
echo ::endgroup:: | |
- name: Analyze changed files | |
shell: bash | |
id: check | |
run: | | |
set +e | |
BASE_REF=${{ github.event.pull_request.base.sha }} | |
echo "Checking against:" | |
git name-rev $BASE_REF | |
python3 .ci/scripts/skip_tests.py . $BASE_REF | |
exit_code=$? | |
if [ $exit_code -ne 0 ] && [ $exit_code -ne 1 ]; then | |
echo "Error: skip_tests.py returned unexpected exit code $exit_code" | |
exit $exit_code | |
fi | |
echo "run_tests=$exit_code" >> $GITHUB_OUTPUT | |
docs: | |
uses: "./.github/workflows/docs.yml" | |
lint: | |
needs: | |
- "check-changes" | |
if: needs.check-changes.outputs.run_tests == '1' | |
uses: "./.github/workflows/lint.yml" | |
build: | |
needs: "lint" | |
uses: "./.github/workflows/build.yml" | |
test: | |
needs: "build" | |
uses: "./.github/workflows/test.yml" | |
with: | |
matrix_env: | | |
[{"TEST": "pulp"}, {"TEST": "azure"}, {"TEST": "s3"}, {"TEST": "lowerbounds"}] | |
deprecations: | |
runs-on: "ubuntu-latest" | |
if: github.base_ref == 'main' | |
needs: "test" | |
steps: | |
- name: "Create working directory" | |
run: | | |
mkdir -p "pulpcore" | |
working-directory: "." | |
- name: "Download Deprecations" | |
uses: actions/download-artifact@v4 | |
with: | |
pattern: "deprecations-*" | |
path: "pulpcore" | |
merge-multiple: true | |
- name: "Print deprecations" | |
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-changes" | |
- "check-commits" | |
- "lint" | |
- "test" | |
- "docs" | |
if: "always()" | |
steps: | |
- name: "Collect needed jobs results" | |
working-directory: "." | |
run: | | |
if [ ${{ needs.check-changes.outputs.run_tests }} == "1" ]; then | |
# Full test run - check all jobs | |
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' | |
else | |
# Docs-only run - check only required jobs (exclude lint and test) | |
echo '${{toJson(needs)}}' | jq -r 'to_entries[]|select(.key != "lint" and .key != "test")|select(.value.result!="success")|.key + ": " + .value.result' | |
echo '${{toJson(needs)}}' | jq -e 'to_entries|map(select(.key != "lint" and .key != "test"))|map(select(.value.result!="success"))|length == 0' | |
fi | |
echo "CI says: Looks good!" |