From 84faafb6dac04636970c5b38f4c983c113291bde Mon Sep 17 00:00:00 2001 From: Ken Payne Date: Wed, 20 Sep 2023 16:41:02 +0100 Subject: [PATCH] add pre-commit workflow --- .github/workflows/pre-comit.yml | 71 +++++++++++++++++++++++++++++++++ 1 file changed, 71 insertions(+) create mode 100644 .github/workflows/pre-comit.yml diff --git a/.github/workflows/pre-comit.yml b/.github/workflows/pre-comit.yml new file mode 100644 index 0000000..1b0a407 --- /dev/null +++ b/.github/workflows/pre-comit.yml @@ -0,0 +1,71 @@ +name: pre-commit + +on: + merge_group: + pull_request: + push: + branches: [main] + workflow_dispatch: + inputs: {} + +concurrency: + group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }} + cancel-in-progress: true + +jobs: + pre-commit: + runs-on: ubuntu-latest + steps: + - name: Install system dependencies + run: | + sudo apt-get update + sudo apt-get install libcurl4-openssl-dev libssl-dev + + - name: Checkout the repository + uses: actions/checkout@v4 + + - name: Cache pre-commit environments + uses: actions/cache@v3 + with: + key: pre-commit-config-${{ hashFiles('.pre-commit-config.yaml') }} + path: ~/.cache/pre-commit + + - name: Setup Python 3.11 + uses: actions/setup-python@v4 + with: + python-version: "3.11" + architecture: x64 + + - name: Install Poetry + run: | + pipx install poetry + poetry --version + + - name: Configure Poetry + run: | + poetry env use 3.11 + poetry debug info + + - name: Install dependencies + run: poetry install + + - name: Use Node.js + uses: actions/setup-node@v3 + with: + node-version: '18.16.0' + + - uses: actions/cache@v3 + with: + path: ~/.pnpm-store + key: ${{ runner.os }}-pnpm-${{ hashFiles('**/pnpm-lock.yaml') }} + restore-keys: | + ${{ runner.os }}-pnpm- + + - name: Install pnpm + run: npm install -g pnpm + + - name: Install UI dependencies + run: cd ui && pnpm install + + - name: pre-commit + run: poetry run pre-commit run --show-diff-on-failure --color=always --all-files