about summary refs log blame commit diff stats
path: root/.github/workflows/main.yml
blob: ee0c48c907f7c8b5aafc7f869cdb9520a5cd5af1 (plain) (tree)
1
2
3
4
5
6
7
8
9
10
11
12
13
14













                          
                                        








                                                                        











                                                                                                                                                                                                                                                                    

             
                         



                                 




                                                  













                                                               
name: CI

on:
  push:
    branches: [master]
  pull_request:
    branches: [master]

jobs:
  linux:
    runs-on: ubuntu-latest

    strategy:
      matrix:
        flavor: [debian, fedora, ubuntu]

    name: Linux
    steps:
      - uses: actions/checkout@v2
      - name: Run tests
        run: |
          docker build -f Dockerfile.${{ matrix.flavor }} -t profanity .
          docker run profanity ./ci-build.sh

  macos:
    runs-on: macos-latest
    name: macOS
    steps:
      - uses: actions/checkout@v2
      - name: Run brew bundle
        run: brew bundle
      - name: Run tests
        env:
          # Ensure that "keg-only" Homebrew versions are used.
          PKG_CONFIG_PATH: "/usr/local/opt/ncurses/lib/pkgconfig:/usr/local/opt/expat/lib/pkgconfig:/usr/local/opt/curl/lib/pkgconfig:/usr/local/opt/openssl/lib/pkgconfig:/usr/local/opt/libffi/lib/pkgconfig:/usr/local/opt/sqlite/lib/pkgconfig:$PKG_CONFIG_PATH"
        run: ./ci-build.sh

  code-style:
    runs-on: ubuntu-22.04
    name: Check coding style
    continue-on-error: true
    steps:
      - uses: actions/checkout@v2
      - name: Run clang-format
        uses: jidicula/clang-format-action@v4.11.0
        with:
          clang-format-version: '16'
          check-path: 'src'

  spell-check:
    runs-on: ubuntu-22.04
    name: Check spelling
    continue-on-error: true
    steps:
      - uses: actions/checkout@v2
      - name: install dependencies
        run: |
          sudo apt update
          sudo apt install -y --no-install-recommends codespell
      - name: Check spelling
        run: |
          codespell