From 9910bd69fa99905e7cd54c49e293ddacae3650ae Mon Sep 17 00:00:00 2001 From: Peter Lithammer Date: Mon, 15 Nov 2021 10:18:53 +0100 Subject: ci: add Selene linter (#904) * see https://github.com/Kampfkarren/selene --- .github/workflows/lint.yml | 60 ++++++++++++++++++-------- .github/workflows/problem_matchers/selene.json | 30 +++++++++++++ 2 files changed, 71 insertions(+), 19 deletions(-) create mode 100644 .github/workflows/problem_matchers/selene.json (limited to '.github/workflows') diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index ce14ade8..5c9622bd 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -9,24 +9,46 @@ jobs: lint: runs-on: [ubuntu-latest] steps: - - name: Checkout sources - uses: actions/checkout@v2 - - name: Setup luacheck - run: | - sudo apt update && - sudo apt install -y lua5.1 luarocks && - sudo luarocks install luacheck - - name: Run luacheck - run: | - luacheck lua/* test/* + - name: Checkout sources + uses: actions/checkout@v2 + + - name: Setup luacheck + run: | + sudo apt update + sudo apt install -y lua5.1 luarocks + sudo luarocks install luacheck + + - name: Setup selene + run: | + wget "https://github.com/Kampfkarren/selene/releases/download/$VERSION/selene-$VERSION-linux.zip" + echo "$SHA256_CHECKSUM selene-$VERSION-linux.zip" > "selene-$VERSION-linux.zip.checksum" + sha256sum --check "selene-$VERSION-linux.zip.checksum" + unzip "selene-$VERSION-linux.zip" + install -Dp selene "$HOME/.local/bin/selene" + + echo "::add-matcher::.github/workflows/problem_matchers/selene.json" + env: + VERSION: "0.15.0" + SHA256_CHECKSUM: "8ff9272170158fbd9c1af38206ecadc894dc456665dc9bd9f0d43a26e5e8f1af" + + - name: Add $HOME/.local/bin to $PATH + run: echo "$HOME/.local/bin" >> $GITHUB_PATH + + - name: Run luacheck + run: luacheck lua/* test/* + + - name: Run selene + run: selene --display-style=quiet . + style-lint: runs-on: [ubuntu-latest] - steps: - - name: Checkout sources - uses: actions/checkout@v2 - - name: Lint with stylua - uses: JohnnyMorganz/stylua-action@1.0.0 - with: - token: ${{ secrets.GITHUB_TOKEN }} - # CLI arguments - args: --check . + steps: + - name: Checkout sources + uses: actions/checkout@v2 + + - name: Lint with stylua + uses: JohnnyMorganz/stylua-action@1.0.0 + with: + token: ${{ secrets.GITHUB_TOKEN }} + # CLI arguments + args: --check . diff --git a/.github/workflows/problem_matchers/selene.json b/.github/workflows/problem_matchers/selene.json new file mode 100644 index 00000000..4bbf24f3 --- /dev/null +++ b/.github/workflows/problem_matchers/selene.json @@ -0,0 +1,30 @@ +{ + "problemMatcher": [ + { + "owner": "selene-error", + "severity": "error", + "pattern": [ + { + "regexp": "^([^:]+):(\\d+):(\\d+):\\serror(.*)$", + "file": 1, + "line": 2, + "column": 3, + "message": 4 + } + ] + }, + { + "owner": "selene-warning", + "severity": "warning", + "pattern": [ + { + "regexp": "^([^:]+):(\\d+):(\\d+):\\swarning(.*)$", + "file": 1, + "line": 2, + "column": 3, + "message": 4 + } + ] + } + ] +} -- cgit v1.2.3-70-g09d2