Add sanity check on PRs #49
Workflow file for this run
This file contains 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
--- | |
name: Pull Request | |
on: | |
pull_request: | |
types: [opened, synchronize, reopened] | |
jobs: | |
sanity: | |
name: Sanity Check | |
strategy: | |
matrix: | |
ansible: | |
# 2.9 fails due to https://github.com/ansible/ansible/issues/68819 | |
- stable-2.10 | |
- stable-2.15 | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
with: | |
path: ${{ matrix.ansible }}/ansible_collections/redhatci/ocp | |
- name: Set up Python | |
uses: actions/setup-python@v3 | |
with: | |
python-version: 3.11 | |
- name: Install ansible-base ${{ matrix.ansible }} | |
run: pip install https://github.com/ansible/ansible/archive/${{ matrix.ansible }}.tar.gz --disable-pip-version-check | |
# Fail when new errors appear | |
- name: Run sanity test | |
run: | | |
set -x | |
git checkout -b branch | |
git fetch --unshallow origin main | |
git config user.name 'Fake' && git config user.email 'fake@localhost' | |
git merge origin/main --no-edit | |
cmd="ansible-test sanity --verbose --color --docker --coverage --failure-ok" | |
$cmd 2>&1 | tee branch.output | |
git checkout main | |
$cmd > main.output 2>&1 | |
for key in branch main; do | |
grep -E "(ERROR|FATAL):" "$key.output" | \ | |
grep -v "issue(s) which need to be resolved\|See error output above for details." > "$key.errors" | |
done | |
set +ex | |
echo "## Improvements are listed below" | tee -a ${GITHUB_STEP_SUMMARY} | |
echo "\`\`\`diff" >> ${GITHUB_STEP_SUMMARY} | |
diff -u0 branch.errors main.errors | grep '^+[^+]' | tee -a ${GITHUB_STEP_SUMMARY} | |
echo "\`\`\`" >> ${GITHUB_STEP_SUMMARY} | |
echo "## Regressions are listed below" | tee -a ${GITHUB_STEP_SUMMARY} | |
echo "\`\`\`diff" >> ${GITHUB_STEP_SUMMARY} | |
diff -u0 branch.errors main.errors | grep '^-[^-]' | tee -a ${GITHUB_STEP_SUMMARY} | |
echo "\`\`\`" >> ${GITHUB_STEP_SUMMARY} | |
if diff -q main.errors branch.errors; then | |
echo "> Fix the regressions listed above (starting with a '-')" | tee -a ${GITHUB_STEP_SUMMARY} | |
exit 1 | |
fi | |
working-directory: ${{ matrix.ansible }}/ansible_collections/redhatci/ocp | |
check-all-dependencies-are-merged: | |
name: "Check all dependencies are merged" | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
- name: Check all dependent Pull Requests are merged | |
uses: depends-on/depends-on-action@main | |
with: | |
token: ${{ secrets.GITHUB_TOKEN }} | |
check-unmerged-pr: true | |
... |