File: format.yml

package info (click to toggle)
verilator 5.042-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 61,876 kB
  • sloc: cpp: 149,079; python: 21,943; ansic: 10,559; yacc: 6,019; lex: 1,971; makefile: 1,384; sh: 603; perl: 302; fortran: 22
file content (47 lines) | stat: -rw-r--r-- 1,269 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
---
# DESCRIPTION: Github actions config
# SPDX-License-Identifier: LGPL-3.0-only OR Artistic-2.0
#
name: format
on:
  push:
    branches-ignore:
      - 'dependabot/**'  # Avoid duplicates: only run the PR, not the push

permissions:
  contents: write

jobs:
  format:
    runs-on: ubuntu-24.04
    name: Ubuntu 24.04 | format
    env:
      CI_OS_NAME: linux
      CI_RUNS_ON: ubuntu-24.04
      CI_COMMIT: ${{ github.sha }}
    steps:
      - name: Checkout
        uses: actions/checkout@v5
        with:
          token: ${{ secrets.GITHUB_TOKEN }}
      - name: Install packages for build
        env:
          CI_BUILD_STAGE_NAME: build
        run: |
          bash ci/ci-install.bash &&
          sudo apt-get install clang-format-18 yapf3 &&
          sudo pip3 install gersemi mbake &&
          git config --global user.email "action@example.com" &&
          git config --global user.name "github action"
      - name: Format code
        run: |
          autoconf &&
          ./configure &&
          make -j 2 format CLANGFORMAT=clang-format-18 &&
          git status
      - name: Push
        run: |-
          if [ -n "$(git status --porcelain)" ]; then
            git commit . -m "Apply 'make format'" &&
            git push origin
          fi