--- name: CI "on": push: pull_request: types: - opened - synchronize - reopened jobs: build: runs-on: ubuntu-latest strategy: matrix: os: [ubuntu-latest] python-version: ["3.10", "3.11"] steps: - uses: actions/checkout@v4 - uses: actions/setup-node@v4.3.0 with: node-version: '22' - name: Install the latest version of uv uses: astral-sh/setup-uv@v5 with: enable-cache: true - uses: actions/cache@v4 name: Setup uv cache with: path: .venv key: ${{ runner.os }}-uv-store-${{ hashFiles('**/uv.lock') }} restore-keys: | ${{ runner.os }}-uv-store- - run: uv sync - name: Setup pnpm uses: pnpm/action-setup@v4.1.0 - name: Get pnpm store directory shell: bash run: | echo "STORE_PATH=$(pnpm store path --silent)" >> "${GITHUB_ENV}" - uses: actions/cache@v4 name: Setup pnpm cache with: path: ${{ env.STORE_PATH }} key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }} restore-keys: | ${{ runner.os }}-pnpm-store- - name: Install dependencies run: pnpm install - name: Install Task uses: arduino/setup-task@v2 with: version: 3.x repo-token: ${{ secrets.GITHUB_TOKEN }} - run: uv run task -p lint - run: uv run task -p test