sequoia fix #252
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
--- | |
# GitHub workflow to check pull requests and commits for pitfalls and formatting | |
# mistakes in build recipes. | |
name: Check recipes | |
'on': | |
push: | |
paths: | |
- '*.sh' | |
pull_request: | |
paths: | |
- '*.sh' | |
permissions: {} | |
jobs: | |
lint: | |
name: alidistlint | |
runs-on: ubuntu-latest | |
steps: | |
- name: Install dependencies | |
run: python3 -m pip install -U --user 'alidistlint[git]' | |
- uses: actions/checkout@v3 | |
with: | |
fetch-depth: 0 | |
- name: Run linter | |
run: | | |
if [ -n "$BASE_SHA" ]; then | |
# For pull requests, only check files that have changed relative to | |
# the base commit. | |
merge_base=$(git merge-base "$BASE_SHA" "$HEAD_SHA") | |
git diff -z --diff-filter d --name-only "$merge_base..$HEAD_SHA" -- '*.sh' | | |
xargs -0tr alidistlint -f github --changes "$merge_base..$HEAD_SHA" | |
else | |
# On push, check every file, ignoring warnings and notes. | |
alidistlint -ef github ./*.sh | |
fi | |
env: | |
BASE_SHA: ${{ github.event.pull_request.base.sha }} | |
HEAD_SHA: ${{ github.event.pull_request.head.sha || github.event.head_commit.sha }} | |
circular: | |
name: circular dependencies | |
runs-on: ubuntu-latest | |
steps: | |
- name: Install dependencies | |
run: | | |
sudo apt update -y | |
sudo apt install -y graphviz | |
python3 -m pip install -U --user alibuild | |
aliBuild analytics off | |
- uses: actions/checkout@v3 | |
- name: Run check | |
run: | | |
for fname in *.sh; do | |
case "$fname" in | |
jalien*) default=jalien ;; | |
*) default=o2 ;; | |
esac | |
echo "Checking $fname with --defaults $default" | |
if aliBuild deps --defaults "$default" --outgraph /dev/null --no-system --neat -c . \ | |
"$(awk '/^package: /{print $2}' "$fname")" 2>&1 | | |
grep -q 'transitive reduction not unique' | |
then | |
echo -n "::error title=circular dependency,file=$fname,line=1" | |
echo '::recipe has circular dependency' | |
err=1 | |
fi | |
done | |
exit "${err:-0}" |