Skip to content

ACL do not create 1001 rule for allow all ips from inbound or outbound and merged 1001 to last allow rule. #2

ACL do not create 1001 rule for allow all ips from inbound or outbound and merged 1001 to last allow rule.

ACL do not create 1001 rule for allow all ips from inbound or outbound and merged 1001 to last allow rule. #2

name: pre-commit-check
on:
pull_request:
jobs:
pre-commit:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
- run: pip install pre-commit>=3.2.1
- run: pre-commit --version
- run: git --version
- run: git status
- run: pre-commit install
- run: git fetch origin
- run: |
set -x
set +e
OUTPUT=$(pre-commit run --color never --from-ref HEAD^ --to-ref HEAD 2>&1)
EXIT_CODE=$?
echo $OUTPUT
echo $EXIT_CODE
echo "pre_commit<<EOF" >> $GITHUB_ENV
echo $OUTPUT >> $GITHUB_ENV
echo "EOF" >> $GITHUB_ENV
echo "exit_code=$EXIT_CODE" >> $GITHUB_ENV
continue-on-error: true
- name: Prepare comment
if: ${{ env.exit_code != 0 }}
env:
PRE_COMMIT: ${{ env.pre_commit }}
EXIT_CODE: ${{ env.exit_code }}
run: |
echo "$PRE_COMMIT"
echo $EXIT_CODE
if [[ `echo "$PRE_COMMIT" | wc -l` -gt 20 ]]; then
PRE_COMMIT=`echo "$PRE_COMMIT" | head -n 20`
PRE_COMMIT="$PRE_COMMIT\n...\n[truncated extra lines, please run pre-commit locally to view full check results]"
PRE_COMMIT=`printf "$PRE_COMMIT"`
fi
br='<br/>'
PR_MESSAGE="The [pre-commit](http://pre-commit.com/) check detected issues in the files touched by this pull request.
Detailed pre-commit check results:
<samp>$PRE_COMMIT</samp>
To run the pre-commit checks locally, you can follow below steps:
1. Ensure that default python is python3.
2. Ensure that the \`pre-commit\` package is installed:
\`\`\`sudo pip install pre-commit\`\`\`
3. Go to repository root folder
4. Install the pre-commit hooks:
\`\`\`pre-commit install\`\`\`
5. Use pre-commit to check staged file:
\`\`\`pre-commit\`\`\`
6. Alternatively, you can check committed files using:
\`\`\`pre-commit run --from-ref <commit_id> --to-ref <commit_id>\`\`\`
or
\`\`\`pre-commit run --all-files\`\`\`"
results=`echo "$PR_MESSAGE" | while read line; do echo $line$br; done | tr -d '\n'`
echo "pre_commit_mod=$results" >> $GITHUB_ENV
echo "exit_code=$EXIT_CODE" >> $GITHUB_ENV
- name: Add comment to PR
if: ${{ env.exit_code != 0 }}
env:
URL: ${{ github.event.pull_request.comments_url }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
PRE_COMMIT: ${{ env.pre_commit_mod }}
run: |
curl \
-X POST \
$URL \
-H "Content-Type: application/json" \
-H "Authorization: token $GITHUB_TOKEN" \
--data "{ \"body\": \"$PRE_COMMIT\" }"
- name: pre-commit exit code
env:
EXIT_CODE: ${{ env.exit_code }}
run: exit $EXIT_CODE