From 0406de29234e48c88761a4e92bf8ad477266098c Mon Sep 17 00:00:00 2001 From: Mudit Lal Date: Thu, 17 Sep 2026 02:05:29 +0530 Subject: [PATCH 1/2] ci: add a build pipeline This repo had no build or test pipeline. The only workflow registered was GitHub's own Dependabot Updates, which is not CI, so nothing has ever been verified before merge. Runs only the scripts this repo already has. Node is read from .nvmrc so the pipeline and the Railway build agree by construction rather than both relying on the builder's auto-detected default, which can change under a redeploy. Co-Authored-By: Claude Opus 5 (1M context) Claude-Session: https://claude.ai/code/session_01UiWWeJqtKJbGuQxJbSGdRw --- .github/workflows/ci.yml | 19 +++++++++++++++++++ .nvmrc | 1 + 2 files changed, 20 insertions(+) create mode 100644 .github/workflows/ci.yml create mode 100644 .nvmrc diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 0000000..12f5a94 --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,19 @@ +name: CI + +on: + pull_request: + push: + branches: [main, master] + +jobs: + build: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: actions/setup-node@v4 + with: + node-version-file: .nvmrc + cache: npm + - run: npm ci + - run: npm run lint + - run: npm run build diff --git a/.nvmrc b/.nvmrc new file mode 100644 index 0000000..2bd5a0a --- /dev/null +++ b/.nvmrc @@ -0,0 +1 @@ +22 From aff618c23414d68b681050a9e713fcb8a91ff77d Mon Sep 17 00:00:00 2001 From: Mudit Lal Date: Thu, 17 Sep 2026 08:15:31 +0530 Subject: [PATCH 2/2] ci: pin node in the workflow, leave the build untouched The first version of this PR also added a .nvmrc. On a live Railway service that is not a no-op: the builder has been auto-detecting its node version, so committing .nvmrc would pin the production build for the first time. That is a real deploy change and it should not ride inside a PR titled 'add CI'. CI now pins node itself. Pinning the builder is worth doing, but deliberately and on its own, where it can be verified against a deploy. Co-Authored-By: Claude Opus 5 (1M context) Claude-Session: https://claude.ai/code/session_01UiWWeJqtKJbGuQxJbSGdRw --- .github/workflows/ci.yml | 2 +- .nvmrc | 1 - 2 files changed, 1 insertion(+), 2 deletions(-) delete mode 100644 .nvmrc diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 12f5a94..7fc0a40 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -12,7 +12,7 @@ jobs: - uses: actions/checkout@v4 - uses: actions/setup-node@v4 with: - node-version-file: .nvmrc + node-version: '22' cache: npm - run: npm ci - run: npm run lint diff --git a/.nvmrc b/.nvmrc deleted file mode 100644 index 2bd5a0a..0000000 --- a/.nvmrc +++ /dev/null @@ -1 +0,0 @@ -22