Skip to content

Fix immediate tasks from content app getting stuck in waiting #12580

Fix immediate tasks from content app getting stuck in waiting

Fix immediate tasks from content app getting stuck in waiting #12580

Workflow file for this run

# 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!"