From 737cbfcb9be15fc7cb1e70624d0c44c3874772e6 Mon Sep 17 00:00:00 2001 From: Celo Composer Date: Fri, 22 May 2026 13:40:19 +0100 Subject: [PATCH 01/10] docs: draft requirements and architecture for sdk ci workflow --- docs/SDK_CI.md | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 docs/SDK_CI.md diff --git a/docs/SDK_CI.md b/docs/SDK_CI.md new file mode 100644 index 0000000..0b3996a --- /dev/null +++ b/docs/SDK_CI.md @@ -0,0 +1,17 @@ +# GitHub Actions CI Workflow for SDK Build Checks + +This document details the architectural design and setup of the Continuous Integration (CI) pipeline configured to automatically validate the SDK build. + +## Requirements + +1. **Automation**: Run verification checks automatically on every pull request targeting the `main` branch. +2. **Path Filtering**: Trigger only when code under `packages/sdk` or the workflow configuration itself changes. +3. **Correctness**: Build the SDK using Node.js and the designated package manager (`pnpm`). +4. **Performance**: Utilize package manager cache configurations to minimize build and execution latency. + +## Architecture + +- **CI Runner**: `ubuntu-latest` +- **Node.js Version**: Defined in configuration to match workspace specification. +- **Package Manager**: `pnpm` (configured with lockfile checking and dependency cache store restoration). +- **Execution Script**: `pnpm --filter susuchain-sdk build` From a2976f5667c5bb8a88a6c18196ef21f7ebac8761 Mon Sep 17 00:00:00 2001 From: Celo Composer Date: Fri, 22 May 2026 13:40:40 +0100 Subject: [PATCH 02/10] ci: initialize directory structure for github actions --- .github/workflows/sdk-ci.yml | 1 + 1 file changed, 1 insertion(+) create mode 100644 .github/workflows/sdk-ci.yml diff --git a/.github/workflows/sdk-ci.yml b/.github/workflows/sdk-ci.yml new file mode 100644 index 0000000..df285cd --- /dev/null +++ b/.github/workflows/sdk-ci.yml @@ -0,0 +1 @@ +# GitHub Actions CI Workflow for SDK Build Checks From 9c8875f9097ad691e4b94cc8222667a1d30f2a22 Mon Sep 17 00:00:00 2001 From: Celo Composer Date: Fri, 22 May 2026 13:40:58 +0100 Subject: [PATCH 03/10] ci: define triggers and name for sdk build workflow --- .github/workflows/sdk-ci.yml | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/.github/workflows/sdk-ci.yml b/.github/workflows/sdk-ci.yml index df285cd..d73da83 100644 --- a/.github/workflows/sdk-ci.yml +++ b/.github/workflows/sdk-ci.yml @@ -1 +1,11 @@ # GitHub Actions CI Workflow for SDK Build Checks + +name: SDK CI + +on: + pull_request: + branches: + - main + paths: + - 'packages/sdk/**' + - '.github/workflows/sdk-ci.yml' From 541a193ef392c97c8d7a79f9312b648704bc71b1 Mon Sep 17 00:00:00 2001 From: Celo Composer Date: Fri, 22 May 2026 13:41:45 +0100 Subject: [PATCH 04/10] ci: configure runner environment and jobs base configuration --- .github/workflows/sdk-ci.yml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.github/workflows/sdk-ci.yml b/.github/workflows/sdk-ci.yml index d73da83..026a5be 100644 --- a/.github/workflows/sdk-ci.yml +++ b/.github/workflows/sdk-ci.yml @@ -9,3 +9,8 @@ on: paths: - 'packages/sdk/**' - '.github/workflows/sdk-ci.yml' + +jobs: + build: + name: Build and Validate SDK + runs-on: ubuntu-latest From 415ae0f6ae654caaed3a6a4a254b898a377b7b81 Mon Sep 17 00:00:00 2001 From: Celo Composer Date: Fri, 22 May 2026 13:41:56 +0100 Subject: [PATCH 05/10] ci: add repository checkout step to sdk workflow --- .github/workflows/sdk-ci.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.github/workflows/sdk-ci.yml b/.github/workflows/sdk-ci.yml index 026a5be..85c2915 100644 --- a/.github/workflows/sdk-ci.yml +++ b/.github/workflows/sdk-ci.yml @@ -14,3 +14,7 @@ jobs: build: name: Build and Validate SDK runs-on: ubuntu-latest + + steps: + - name: Checkout Repository + uses: actions/checkout@v4 From 14fe0844695f97707902c6048476823b52f69fcf Mon Sep 17 00:00:00 2001 From: Celo Composer Date: Fri, 22 May 2026 13:42:09 +0100 Subject: [PATCH 06/10] ci: configure node.js installation and environment --- .github/workflows/sdk-ci.yml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.github/workflows/sdk-ci.yml b/.github/workflows/sdk-ci.yml index 85c2915..3da60a5 100644 --- a/.github/workflows/sdk-ci.yml +++ b/.github/workflows/sdk-ci.yml @@ -18,3 +18,8 @@ jobs: steps: - name: Checkout Repository uses: actions/checkout@v4 + + - name: Setup Node.js + uses: actions/setup-node@v4 + with: + node-version: '18.x' From c553bb784618edadee028491fdd479db3abf099b Mon Sep 17 00:00:00 2001 From: Celo Composer Date: Fri, 22 May 2026 13:42:24 +0100 Subject: [PATCH 07/10] ci: configure pnpm setup in build pipeline --- .github/workflows/sdk-ci.yml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.github/workflows/sdk-ci.yml b/.github/workflows/sdk-ci.yml index 3da60a5..c1ca22c 100644 --- a/.github/workflows/sdk-ci.yml +++ b/.github/workflows/sdk-ci.yml @@ -19,6 +19,11 @@ jobs: - name: Checkout Repository uses: actions/checkout@v4 + - name: Setup pnpm + uses: pnpm/action-setup@v3 + with: + version: 8.10.0 + - name: Setup Node.js uses: actions/setup-node@v4 with: From db52b91da510c12f370ded938e36ec173894a938 Mon Sep 17 00:00:00 2001 From: Celo Composer Date: Fri, 22 May 2026 13:42:36 +0100 Subject: [PATCH 08/10] ci: enable dependency caching for pnpm package manager --- .github/workflows/sdk-ci.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/sdk-ci.yml b/.github/workflows/sdk-ci.yml index c1ca22c..89f100a 100644 --- a/.github/workflows/sdk-ci.yml +++ b/.github/workflows/sdk-ci.yml @@ -28,3 +28,4 @@ jobs: uses: actions/setup-node@v4 with: node-version: '18.x' + cache: 'pnpm' From 231f96135d494691f2e43b909a375f1e6f4ac73a Mon Sep 17 00:00:00 2001 From: Celo Composer Date: Fri, 22 May 2026 13:42:50 +0100 Subject: [PATCH 09/10] ci: add dependency installation step --- .github/workflows/sdk-ci.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/sdk-ci.yml b/.github/workflows/sdk-ci.yml index 89f100a..d643026 100644 --- a/.github/workflows/sdk-ci.yml +++ b/.github/workflows/sdk-ci.yml @@ -29,3 +29,6 @@ jobs: with: node-version: '18.x' cache: 'pnpm' + + - name: Install Dependencies + run: pnpm install --frozen-lockfile From fec17152f811ee5ba882ff06e1697c545238f689 Mon Sep 17 00:00:00 2001 From: Celo Composer Date: Fri, 22 May 2026 13:43:04 +0100 Subject: [PATCH 10/10] ci: add filter build command step for sdk package --- .github/workflows/sdk-ci.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/sdk-ci.yml b/.github/workflows/sdk-ci.yml index d643026..7c87bba 100644 --- a/.github/workflows/sdk-ci.yml +++ b/.github/workflows/sdk-ci.yml @@ -32,3 +32,6 @@ jobs: - name: Install Dependencies run: pnpm install --frozen-lockfile + + - name: Build SDK + run: pnpm --filter susuchain-sdk build