pre_commit.yaml 2.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. # Part of the Carbon Language project, under the Apache License v2.0 with LLVM
  2. # Exceptions. See /LICENSE for license information.
  3. # SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
  4. name: pre-commit
  5. on:
  6. pull_request:
  7. merge_group:
  8. push:
  9. branches: [trunk]
  10. permissions:
  11. contents: read # For actions/checkout.
  12. jobs:
  13. pre-commit:
  14. runs-on: ubuntu-latest
  15. steps:
  16. - name: Harden Runner
  17. uses: step-security/harden-runner@17d0e2bd7d51742c71671bd19fa12bdc9d40a3d6 # v2.8.1
  18. with:
  19. disable-sudo: true
  20. egress-policy: block
  21. # When adding endpoints, see README.md.
  22. # prettier-ignore
  23. allowed-endpoints: >
  24. *.dl.sourceforge.net:443
  25. api.github.com:443
  26. bcr.bazel.build:443
  27. downloads.sourceforge.net:443
  28. files.pythonhosted.org:443
  29. github.com:443
  30. mirror.bazel.build:443
  31. nodejs.org:443
  32. objects.githubusercontent.com:443
  33. pypi.org:443
  34. registry.npmjs.org:443
  35. releases.bazel.build:443
  36. storage.googleapis.com:443
  37. sourceforge.net:443
  38. - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
  39. - uses: actions/setup-python@82c7e631bb3cdc910f68e0081d67478d79c6982d # v5.1.0
  40. # Ensure LLVM is set up consistently.
  41. - uses: ./.github/actions/build-setup-common
  42. with:
  43. matrix_runner: ubuntu-latest
  44. remote_cache_upload: '--remote_upload_local_results=false'
  45. - uses: pre-commit/action@2c7b3805fd2a0fd8c1884dcaebf91fc102a13ecd # v3.0.1
  46. # We want to automatically create github suggestions for pre-commit file
  47. # changes for a pull request. But `pull_request` actions never have write
  48. # permissions to the repository, so we create the suggestions in a separate
  49. # privileged `workflow_run` action in pre_commit_suggestions.yaml. Here,
  50. # we upload the diffs and event configuration to an artifact for use by
  51. # that action.
  52. - name: Collect pre-commit output
  53. if: failure()
  54. run: |
  55. mkdir -p pre-commit-output
  56. git diff > pre-commit-output/diff
  57. cp $GITHUB_EVENT_PATH pre-commit-output/event
  58. - uses: actions/upload-artifact@5d5d22a31266ced268874388b861e4b58bb5c2f3 # v4.3.1
  59. if: failure()
  60. with:
  61. name: pre-commit output
  62. path: pre-commit-output/*