xref: /AOO42X/.github/workflows/pre-commit.yml (revision f30d168aa8c015466b436719d01de803179d04a1)
1*f30d168aSJim Jagielski# Licensed to the Apache Software Foundation (ASF) under one
2*f30d168aSJim Jagielski# or more contributor license agreements.  See the NOTICE file
3*f30d168aSJim Jagielski# distributed with this work for additional information
4*f30d168aSJim Jagielski# regarding copyright ownership.  The ASF licenses this file
5*f30d168aSJim Jagielski# to you under the Apache License, Version 2.0 (the
6*f30d168aSJim Jagielski# "License"); you may not use this file except in compliance
7*f30d168aSJim Jagielski# with the License.  You may obtain a copy of the License at
8*f30d168aSJim Jagielski#
9*f30d168aSJim Jagielski#   http://www.apache.org/licenses/LICENSE-2.0
10*f30d168aSJim Jagielski#
11*f30d168aSJim Jagielski# Unless required by applicable law or agreed to in writing,
12*f30d168aSJim Jagielski# software distributed under the License is distributed on an
13*f30d168aSJim Jagielski# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
14*f30d168aSJim Jagielski# KIND, either express or implied.  See the License for the
15*f30d168aSJim Jagielski# specific language governing permissions and limitations
16*f30d168aSJim Jagielski# under the License.
17*f30d168aSJim Jagielski
18*f30d168aSJim Jagielskiname: pre-commit
19*f30d168aSJim Jagielski
20*f30d168aSJim Jagielskion: [pull_request]
21*f30d168aSJim Jagielski
22*f30d168aSJim Jagielskipermissions:
23*f30d168aSJim Jagielski  contents: read
24*f30d168aSJim Jagielski
25*f30d168aSJim Jagielskiconcurrency:
26*f30d168aSJim Jagielski  group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
27*f30d168aSJim Jagielski  cancel-in-progress: true
28*f30d168aSJim Jagielski
29*f30d168aSJim Jagielskijobs:
30*f30d168aSJim Jagielski  pre-commit:
31*f30d168aSJim Jagielski    name: Run pre-commit
32*f30d168aSJim Jagielski    runs-on: ubuntu-24.04
33*f30d168aSJim Jagielski    steps:
34*f30d168aSJim Jagielski      - name: Check Out
35*f30d168aSJim Jagielski        uses: actions/checkout@v6
36*f30d168aSJim Jagielski      - name: Install
37*f30d168aSJim Jagielski        run: |
38*f30d168aSJim Jagielski          python -m pip install --upgrade pip
39*f30d168aSJim Jagielski          pip install -r requirements-dev.txt
40*f30d168aSJim Jagielski      - name: Set PY
41*f30d168aSJim Jagielski        run: echo "PY=$(python -VV | sha256sum | cut -d' ' -f1)" >> $GITHUB_ENV
42*f30d168aSJim Jagielski      - uses: actions/cache@v5
43*f30d168aSJim Jagielski        with:
44*f30d168aSJim Jagielski          path: ~/.cache/pre-commit
45*f30d168aSJim Jagielski          key: pre-commit|${{ env.PY }}|${{ hashFiles('.pre-commit-config.yaml') }}
46*f30d168aSJim Jagielski      - name: Run pre-commit
47*f30d168aSJim Jagielski        run: pre-commit run --color=always --all-files
48