12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970 |
- name: Check format
- on:
- push:
- workflow_dispatch:
- jobs:
- build:
- runs-on: ubuntu-22.04
- steps:
- - name: Install OS dependencies (needed for act on ubuntu-latest)
- run: |
- sudo apt update
- sudo apt install -y --force-yes curl xz-utils libicu-dev git dos2unix libncurses5
- - uses: actions/checkout@v3
- - name: Cache Clang
- id: cache-clang
- uses: actions/cache@v3
- with:
- path: clang
- key: ${{ runner.os }}-clang-13-0-1
- - name: Install Clang
- if: steps.cache-clang.outputs.cache-hit != 'true'
- run: |
- curl -L https://github.com/llvm/llvm-project/releases/download/llvmorg-13.0.1/clang+llvm-13.0.1-x86_64-linux-gnu-ubuntu-18.04.tar.xz --output clang.tar.xz
- tar -xf clang.tar.xz
- mv clang+llvm-13.0.1-x86_64-linux-gnu-ubuntu-18.04 clang
- - name: Install dotnet
- uses: actions/setup-dotnet@v3
- with:
- dotnet-version: "6.0.x"
- - run: dotnet tool install -g dotnet-format
- - name: Install Node and dependenceis
- uses: actions/setup-node@v3
- with:
- node-version: "16"
- - run: npm install -g typescript typescript-formatter
- - name: Install JDK
- uses: actions/setup-java@v3
- with:
- distribution: 'zulu'
- java-version: "16"
- - name: Format
- run: |
- export CLANGFORMAT=`pwd`/clang/bin/clang-format
- export PATH="$PATH:/root/.dotnet/tools"
- dotnet-format --version
- ./formatters/format.sh
- find . -type f -name '*.cs' -exec perl -pi -e 's/\r\n/\n/g' '{}' +
- git diff
- git diff > format-diff.txt
- - name: Archive formatting result
- uses: actions/upload-artifact@v4
- with:
- name: format-diff
- path: format-diff.txt
- - name: Fail on format changes
- run: |
- git ls-files -m
- if [[ `git ls-files -m` ]]; then echo "Detected formatting errors!" & exit 1; fi
|