aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/.github/workflows/check.yml
blob: 9c70f043825630420a7b9cec88a66ceec0875c1b (plain) (blame)
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
48
49
50
51
52
53
54
55
56
57
name: check

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

jobs:
  check:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4

      - uses: extractions/setup-just@v3

      - name: Install apt tooling (shfmt, shellcheck)
        run: |
          sudo apt-get update -qq
          sudo apt-get install -y --no-install-recommends shfmt shellcheck

      - name: Install ruff
        run: pipx install ruff

      - name: Install prettier
        run: npm install -g prettier@3

      - name: Install stylua
        run: |
          set -euo pipefail
          url=$(curl -fsSL https://api.github.com/repos/JohnnyMorganz/StyLua/releases/latest \
                 | grep -Eo 'https://[^"]+stylua-linux-x86_64\.zip' | head -1)
          curl -fsSL "$url" -o /tmp/stylua.zip
          unzip -q /tmp/stylua.zip -d /tmp
          sudo install -m 0755 /tmp/stylua /usr/local/bin/stylua

      - name: Install selene
        run: |
          set -euo pipefail
          url=$(curl -fsSL https://api.github.com/repos/Kampfkarren/selene/releases/latest \
                 | grep -Eo 'https://[^"]+selene-light-[^"]+-linux\.zip' | head -1)
          curl -fsSL "$url" -o /tmp/selene.zip
          unzip -q /tmp/selene.zip -d /tmp
          sudo install -m 0755 /tmp/selene /usr/local/bin/selene

      - name: Install taplo
        run: |
          set -euo pipefail
          curl -fsSL https://github.com/tamasfe/taplo/releases/latest/download/taplo-linux-x86_64.gz \
            | gunzip > /tmp/taplo
          sudo install -m 0755 /tmp/taplo /usr/local/bin/taplo

      - name: just doctor
        run: just doctor

      - name: just check
        run: just check