Merge ecdd71f80ce6e20dd12b3f0850bb68d57fe24cd6 into sapling-pr-archiv… #690
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
| --- | |
| # 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@v6 | |
| 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@v6 | |
| - 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}" |