From 66e3e0648895443d8679a7987552c19255c872ae Mon Sep 17 00:00:00 2001 From: aXenDeveloper Date: Sun, 27 Sep 2026 21:42:12 +0200 Subject: [PATCH 1/3] feat(workflows): Add build, lint, and test workflows for CI/CD --- .../{build-lint-test.yml => build-test.yml} | 6 +-- .github/workflows/bump_publish.yml | 1 + .github/workflows/lint.yml | 44 +++++++++++++++++++ 3 files changed, 47 insertions(+), 4 deletions(-) rename .github/workflows/{build-lint-test.yml => build-test.yml} (91%) create mode 100644 .github/workflows/lint.yml diff --git a/.github/workflows/build-lint-test.yml b/.github/workflows/build-test.yml similarity index 91% rename from .github/workflows/build-lint-test.yml rename to .github/workflows/build-test.yml index 99dcc6dea..771fc8d33 100644 --- a/.github/workflows/build-lint-test.yml +++ b/.github/workflows/build-test.yml @@ -1,4 +1,4 @@ -name: Build, Lint & Test +name: Build & Test on: pull_request: @@ -29,6 +29,7 @@ jobs: with: registry-url: "https://registry.npmjs.org/" node-version: 24 + cache: "pnpm" - name: Install dependencies run: pnpm install --frozen-lockfile @@ -42,9 +43,6 @@ jobs: - name: Run build run: pnpm build - - name: Check formatting - run: pnpm lint - - name: Run tests run: pnpm test diff --git a/.github/workflows/bump_publish.yml b/.github/workflows/bump_publish.yml index baaca628c..cca26f63e 100644 --- a/.github/workflows/bump_publish.yml +++ b/.github/workflows/bump_publish.yml @@ -59,6 +59,7 @@ jobs: with: registry-url: "https://registry.npmjs.org/" node-version: 24 + cache: "pnpm" - name: Install dependencies run: pnpm install --frozen-lockfile diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml new file mode 100644 index 000000000..540049004 --- /dev/null +++ b/.github/workflows/lint.yml @@ -0,0 +1,44 @@ +name: Lint + +on: + pull_request: + types: + - opened + - edited + - synchronize + - reopened + +jobs: + lint: + runs-on: ubuntu-latest + timeout-minutes: 15 + + steps: + - name: Checkout + uses: actions/checkout@v7 + with: + fetch-depth: 2 + + - uses: pnpm/action-setup@v6.0.9 + name: Install pnpm + with: + version: 11.9.0 + + - name: Install Node.js + uses: actions/setup-node@v6.4.0 + with: + registry-url: "https://registry.npmjs.org/" + node-version: 24 + cache: "pnpm" + + - name: Install dependencies + run: pnpm install --frozen-lockfile + + - name: Build Scripts + run: pnpm build:scripts + + - name: Build Plugins + run: pnpm build:plugins + + - name: Run lint + run: pnpm lint From 91ff26523bb7ee09b70a48864ba5061ebc1d31c0 Mon Sep 17 00:00:00 2001 From: aXenDeveloper Date: Sun, 27 Sep 2026 21:48:15 +0200 Subject: [PATCH 2/3] =?UTF-8?q?feat(workflows):=20=E2=9C=A8=20Add=20combin?= =?UTF-8?q?ed=20build,=20lint,=20and=20test=20workflow=20for=20CI/CD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../{build-test.yml => build-lint-test.yml} | 36 ++++++++++++++- .github/workflows/lint.yml | 44 ------------------- 2 files changed, 35 insertions(+), 45 deletions(-) rename .github/workflows/{build-test.yml => build-lint-test.yml} (55%) delete mode 100644 .github/workflows/lint.yml diff --git a/.github/workflows/build-test.yml b/.github/workflows/build-lint-test.yml similarity index 55% rename from .github/workflows/build-test.yml rename to .github/workflows/build-lint-test.yml index 771fc8d33..da8ad84dc 100644 --- a/.github/workflows/build-test.yml +++ b/.github/workflows/build-lint-test.yml @@ -1,4 +1,4 @@ -name: Build & Test +name: Build, Lint & Test on: pull_request: @@ -9,6 +9,40 @@ on: - reopened jobs: + lint: + runs-on: ubuntu-latest + timeout-minutes: 15 + + steps: + - name: Checkout + uses: actions/checkout@v7 + with: + fetch-depth: 2 + + - uses: pnpm/action-setup@v6.0.9 + name: Install pnpm + with: + version: 11.9.0 + + - name: Install Node.js + uses: actions/setup-node@v6.4.0 + with: + registry-url: "https://registry.npmjs.org/" + node-version: 24 + cache: "pnpm" + + - name: Install dependencies + run: pnpm install --frozen-lockfile + + - name: Build Scripts + run: pnpm build:scripts + + - name: Build Plugins + run: pnpm build:plugins + + - name: Run lint + run: pnpm lint + build: runs-on: ubuntu-latest timeout-minutes: 15 diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml deleted file mode 100644 index 540049004..000000000 --- a/.github/workflows/lint.yml +++ /dev/null @@ -1,44 +0,0 @@ -name: Lint - -on: - pull_request: - types: - - opened - - edited - - synchronize - - reopened - -jobs: - lint: - runs-on: ubuntu-latest - timeout-minutes: 15 - - steps: - - name: Checkout - uses: actions/checkout@v7 - with: - fetch-depth: 2 - - - uses: pnpm/action-setup@v6.0.9 - name: Install pnpm - with: - version: 11.9.0 - - - name: Install Node.js - uses: actions/setup-node@v6.4.0 - with: - registry-url: "https://registry.npmjs.org/" - node-version: 24 - cache: "pnpm" - - - name: Install dependencies - run: pnpm install --frozen-lockfile - - - name: Build Scripts - run: pnpm build:scripts - - - name: Build Plugins - run: pnpm build:plugins - - - name: Run lint - run: pnpm lint From 010fbe301e25c3a5f22fdbd70c67e961f70058d5 Mon Sep 17 00:00:00 2001 From: aXenDeveloper Date: Mon, 28 Sep 2026 10:15:02 +0200 Subject: [PATCH 3/3] =?UTF-8?q?feat(workflows):=20=E2=9C=A8=20Add=20build,?= =?UTF-8?q?=20lint,=20and=20test=20workflows=20with=20setup=20action?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/actions/setup/action.yml | 21 +++++++ .github/workflows/build-lint-test.yml | 84 ++++++++++++++------------- 2 files changed, 64 insertions(+), 41 deletions(-) create mode 100644 .github/actions/setup/action.yml diff --git a/.github/actions/setup/action.yml b/.github/actions/setup/action.yml new file mode 100644 index 000000000..e917e2596 --- /dev/null +++ b/.github/actions/setup/action.yml @@ -0,0 +1,21 @@ +name: Setup +description: Install pnpm, Node.js and dependencies + +runs: + using: composite + steps: + - uses: pnpm/action-setup@v6.0.9 + name: Install pnpm + with: + version: 11.9.0 + + - name: Install Node.js + uses: actions/setup-node@v6.4.0 + with: + registry-url: "https://registry.npmjs.org/" + node-version: 24 + cache: "pnpm" + + - name: Install dependencies + shell: bash + run: pnpm install --frozen-lockfile diff --git a/.github/workflows/build-lint-test.yml b/.github/workflows/build-lint-test.yml index da8ad84dc..4aefc80cb 100644 --- a/.github/workflows/build-lint-test.yml +++ b/.github/workflows/build-lint-test.yml @@ -9,7 +9,8 @@ on: - reopened jobs: - lint: + build: + name: Build runs-on: ubuntu-latest timeout-minutes: 15 @@ -19,20 +20,8 @@ jobs: with: fetch-depth: 2 - - uses: pnpm/action-setup@v6.0.9 - name: Install pnpm - with: - version: 11.9.0 - - - name: Install Node.js - uses: actions/setup-node@v6.4.0 - with: - registry-url: "https://registry.npmjs.org/" - node-version: 24 - cache: "pnpm" - - - name: Install dependencies - run: pnpm install --frozen-lockfile + - name: Setup + uses: ./.github/actions/setup - name: Build Scripts run: pnpm build:scripts @@ -40,45 +29,58 @@ jobs: - name: Build Plugins run: pnpm build:plugins - - name: Run lint - run: pnpm lint + - name: Run build + run: pnpm build - build: + - name: Upload packages + uses: actions/upload-artifact@v7.0.1 + with: + name: packages-dist + path: | + packages/*/dist + plugins/*/dist + include-hidden-files: true + if-no-files-found: error + retention-days: 1 + + lint: + name: Lint + needs: build runs-on: ubuntu-latest timeout-minutes: 15 steps: - name: Checkout uses: actions/checkout@v7 - with: - fetch-depth: 2 - - uses: pnpm/action-setup@v6.0.9 - name: Install pnpm - with: - version: 11.9.0 + - name: Setup + uses: ./.github/actions/setup - - name: Install Node.js - uses: actions/setup-node@v6.4.0 + - name: Download packages + uses: actions/download-artifact@v8.0.1 with: - registry-url: "https://registry.npmjs.org/" - node-version: 24 - cache: "pnpm" + name: packages-dist - - name: Install dependencies - run: pnpm install --frozen-lockfile + - name: Run lint + run: pnpm lint - - name: Build Scripts - run: pnpm build:scripts + test: + name: Test + needs: build + runs-on: ubuntu-latest + timeout-minutes: 15 - - name: Build Plugins - run: pnpm build:plugins + steps: + - name: Checkout + uses: actions/checkout@v7 - - name: Run build - run: pnpm build + - name: Setup + uses: ./.github/actions/setup - - name: Run tests - run: pnpm test + - name: Download packages + uses: actions/download-artifact@v8.0.1 + with: + name: packages-dist - - name: Run type tests - run: pnpm test:types + - name: Run tests + run: pnpm turbo run test test:types --only --continue