Add CI workflow to publish a continuous release #227
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
# https://github.com/git/git/blob/master/.github/workflows/check-whitespace.yml | |
name: Check Whitespaces | |
# Get the repo with the commits(+1) in the series. | |
# Process `git log --check` output to extract just the check errors. | |
# Add a comment to the pull request with the check errors. | |
on: | |
pull_request: | |
types: [opened, synchronize] | |
jobs: | |
check-whitespace: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Set commit count | |
shell: bash | |
run: echo "COMMIT_DEPTH=$((1+$COMMITS))" >>$GITHUB_ENV | |
env: | |
COMMITS: ${{ github.event.pull_request.commits }} | |
- uses: actions/checkout@v2 | |
with: | |
fetch-depth: ${{ env.COMMIT_DEPTH }} | |
- name: git log --check | |
id: check_out | |
run: | | |
log= | |
commit= | |
while read dash etc | |
do | |
case "${dash}" in | |
"---") | |
commit="${etc}" | |
;; | |
"") | |
;; | |
*) | |
if test -n "${commit}" | |
then | |
log="${log}\n${commit}" | |
echo "" | |
echo "--- ${commit}" | |
fi | |
commit= | |
log="${log}\n${dash} ${etc}" | |
echo "${dash} ${etc}" | |
;; | |
esac | |
done <<< $(git log --check --pretty=format:"---% h% s" -${{github.event.pull_request.commits}}) | |
if test -n "${log}" | |
then | |
echo "::set-output name=checkout::"${log}"" | |
exit 2 | |
fi | |
- name: Add Check Output as Comment | |
uses: actions/github-script@v3 | |
id: add-comment | |
env: | |
log: ${{ steps.check_out.outputs.checkout }} | |
with: | |
script: | | |
await github.issues.createComment({ | |
issue_number: context.issue.number, | |
owner: context.repo.owner, | |
repo: context.repo.repo, | |
body: `Whitespace errors found in workflow ${{ github.workflow }}:\n\n\`\`\`\n${process.env.log.replace(/\\n/g, "\n")}\n\`\`\`` | |
}) | |
if: ${{ failure() }} |