diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 00000000..c652d23b --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,69 @@ +name: CI + +on: + push: + branches: + - '*' + pull_request: + branches: + - '*' + +env: + # Disable running Husky. + HUSKY: 0 + +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + +jobs: + commitlint: + name: commitlint + runs-on: ubuntu-latest + steps: + - name: Checkout code + uses: actions/checkout@v4 + with: + fetch-depth: 0 + + - name: Install pnpm + uses: pnpm/action-setup@v4 + + - name: Set up Node + uses: actions/setup-node@v4 + with: + node-version: 22 + cache: 'pnpm' + + - name: Install dependencies + run: pnpm install + + - name: Lint commit messages + run: | + if [[ "${{ github.event_name }}" == "push" ]]; then + echo "Linting commit range for push: ${{ github.event.before }}..${{ github.sha }}" + pnpm dlx commitlint --from ${{ github.event.before }} --to ${{ github.sha }} --verbose + + elif [[ "${{ github.event_name }}" == "pull_request" ]]; then + pnpm dlx commitlint --from ${{ github.event.pull_request.base.sha }} --to ${{ github.event.pull_request.head.sha }} --verbose + fi + + luacheck: + name: Luacheck + runs-on: ubuntu-latest + steps: + - name: Checkout code + uses: actions/checkout@v4 + + - name: Install LuaRocks + run: | + sudo apt update + sudo apt install lua5.1 luarocks + + - name: Install Luacheck + run: | + luarocks install luacheck + + - name: Lint Lua files + run: | + luacheck . diff --git a/.github/workflows/commitlint.yml b/.github/workflows/commitlint.yml deleted file mode 100644 index e46576c5..00000000 --- a/.github/workflows/commitlint.yml +++ /dev/null @@ -1,24 +0,0 @@ -name: commitlint - -on: pull_request - -jobs: - commitlint: - name: commitlint - runs-on: ubuntu-20.04 - steps: - - name: Checkout - uses: actions/checkout@v2 - with: - fetch-depth: 0 - - - name: Setup Node - uses: actions/setup-node@v2 - with: - node-version: 16.x - - - name: Install dependencies - run: npm install - - - name: Lint commit messages - run: npx commitlint --from ${{ github.event.pull_request.base.sha }} --to ${{ github.event.pull_request.head.sha }} --verbose diff --git a/.github/workflows/luacheck.yml b/.github/workflows/luacheck.yml deleted file mode 100644 index 501a8a87..00000000 --- a/.github/workflows/luacheck.yml +++ /dev/null @@ -1,20 +0,0 @@ -name: luacheck - -on: [push, pull_request] - -jobs: - luacheck: - name: Luacheck - runs-on: ubuntu-20.04 - steps: - - name: Checkout - uses: actions/checkout@v2 - - - name: Prepare - run: | - sudo apt update - sudo apt install luarocks - sudo luarocks install luacheck - - - name: Lint - run: luacheck .