diff --git a/.github/dependabot.yml b/.github/dependabot.yml new file mode 100644 index 0000000..847b634 --- /dev/null +++ b/.github/dependabot.yml @@ -0,0 +1,12 @@ +version: 2 +updates: + - package-ecosystem: github-actions + directory: "/" + schedule: + interval: weekly + day: monday + time: "06:00" + timezone: Etc/UTC + commit-message: + prefix: ci + open-pull-requests-limit: 5 \ No newline at end of file diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 0000000..fbd7b0e --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,51 @@ +name: CI + +on: + pull_request: + branches: + - main + push: + branches: + - main + +permissions: + contents: read + +concurrency: + group: ci-${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} + cancel-in-progress: true + +jobs: + test: + name: Test (Node ${{ matrix.node-version }}) + runs-on: ubuntu-latest + timeout-minutes: 15 + strategy: + fail-fast: false + matrix: + node-version: + - '22' + - '24' + + steps: + - name: Checkout repository + uses: actions/checkout@v6 # v6.0.2 + + - name: Install pnpm + uses: pnpm/action-setup@v5 # v5.0.0 + with: + version: 10 + run_install: false + + - name: Setup Node.js + uses: actions/setup-node@v6 # v6.3.0 + with: + node-version: ${{ matrix.node-version }} + cache: pnpm + cache-dependency-path: pnpm-lock.yaml + + - name: Install dependencies + run: pnpm install --frozen-lockfile + + - name: Run tests + run: pnpm test \ No newline at end of file