From 5539f34e82bf605560198f23ac3787bb3ebc4bb3 Mon Sep 17 00:00:00 2001 From: Yusuf Kandemir Date: Tue, 10 Nov 2026 16:36:18 +0300 Subject: [PATCH] ci: add GitHub Actions workflow for CI --- .github/workflows/ci.yml | 36 ++++++++++++++++++++++++++++++++++++ .prettierignore | 1 + package.json | 3 ++- pnpm-workspace.yaml | 2 +- 4 files changed, 40 insertions(+), 2 deletions(-) create mode 100644 .github/workflows/ci.yml create mode 100644 .prettierignore diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 0000000..a0be4ae --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,36 @@ +name: CI + +on: + push: + branches: [main] + pull_request: + +permissions: + contents: read + +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + +jobs: + check: + runs-on: ubuntu-26.04 + timeout-minutes: 15 + steps: + - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 + with: + persist-credentials: false + + # Reads the pnpm version from the packageManager field in package.json. + - uses: pnpm/action-setup@73e46992e05b19abd31f2f3c20e0e7370d762115 # v6.1.1 + with: + cache: true + + - uses: actions/setup-node@949feb2413d6458794dcd2491c4babbbce0c15c1 # v7.1.0 + with: + node-version-file: .node-version + + - run: pnpm install --frozen-lockfile + - run: pnpm lint + - run: pnpm format:check + - run: pnpm build diff --git a/.prettierignore b/.prettierignore new file mode 100644 index 0000000..bd5535a --- /dev/null +++ b/.prettierignore @@ -0,0 +1 @@ +pnpm-lock.yaml diff --git a/package.json b/package.json index 4f1867d..0d01bff 100644 --- a/package.json +++ b/package.json @@ -6,7 +6,8 @@ "build": "pnpm run --recursive --stream --parallel build", "test": "pnpm run --recursive --stream test", "lint": "eslint . --ext .ts,.js,.cjs", - "format": "prettier --write \"**/*.{js,ts,json,ya?ml,md}\" --ignore-path .gitignore", + "format": "prettier --write \"**/*.{js,cjs,mjs,ts,mts,json,yaml,yml,md}\"", + "format:check": "prettier --check \"**/*.{js,cjs,mjs,ts,mts,json,yaml,yml,md}\"", "deploy": "pnpm run build && pnpm -r publish" }, "engines": { diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index b9d0a49..8ee6463 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -1,5 +1,5 @@ packages: - - "packages/*" + - 'packages/*' allowBuilds: # Checks that the platform binary is installed.