Skip to content

ci: add pull request checks - #427

Open
khanavi272-spec wants to merge 1 commit into
boundlessfi:mainfrom
khanavi272-spec:fix/ci-workflow-405
Open

khanavi272-spec wants to merge 1 commit into
boundlessfi:mainfrom
khanavi272-spec:fix/ci-workflow-405

Conversation

@khanavi272-spec

Copy link
Copy Markdown

Description

This PR adds a GitHub Actions CI workflow to automatically validate every pull request and every push to main.

Previously, the repository did not have a .github/workflows configuration, so contributors and reviewers had to rely on the Vercel preview or run the project's checks manually. This made it easier for linting, type errors, build failures, or SEO issues to reach the review stage unnoticed.

This change introduces a single CI workflow that runs the required checks in a fixed order and stops immediately when a check fails.

Changes

  • Added .github/workflows/ci.yml
  • Configured the workflow to run on:
    • Pull requests
    • Pushes to main
  • Configured Node.js 22 as required by Next.js 16
  • Enabled npm dependency caching through actions/setup-node
  • Added npm ci for clean dependency installation
  • Added ESLint validation with npm run lint
  • Added TypeScript validation with npx tsc --noEmit
  • Added the production build check with npm run build
  • Added the SEO validation with npm run seo:check
  • Configured the required NEXT_PUBLIC_* environment variables from .env.example
  • Added CI documentation to CONTRIBUTING.md
  • No secrets or sensitive credentials are required by the workflow

CI Execution Order

The workflow intentionally runs the checks in the following order:

  1. Install dependencies with npm ci
  2. Run ESLint
  3. Run the TypeScript type-check
  4. Build the production application
  5. Run the SEO check against the built application

Each check is represented as its own GitHub Actions step, making failures easier to identify and debug.

The workflow also stops at the first failed step so that the reported failure points to the earliest underlying problem rather than a secondary error.

Environment Configuration

The production build uses the public environment variables defined in .env.example:

  • NEXT_PUBLIC_API_URL
  • NEXT_PUBLIC_SITE_URL
  • NEXT_PUBLIC_BOUNDLESS_APP_URL

These values are provided directly to the workflow because they are public configuration values and do not require GitHub secrets.

Documentation

CONTRIBUTING.md now includes a CI section explaining that pull requests are automatically checked for:

  • Lint errors
  • TypeScript errors
  • Production build failures
  • SEO check failures

A pull request is expected to have a green CI run before it is ready for review.

Verification

The workflow has been structured to match the project's existing npm scripts and the requirements described in issue #405.

Related Issue

Closes #405

@vercel

vercel Bot commented Oct 17, 2026

Copy link
Copy Markdown

@khanavi272-spec is attempting to deploy a commit to the Threadflow Team on Vercel.

A member of the Team first needs to authorize it.

@drips-wave

drips-wave Bot commented Oct 17, 2026

Copy link
Copy Markdown

@khanavi272-spec Great news! 🎉 Based on an automated assessment of this PR, the linked Wave issue(s) no longer count against your application limits.

You can now already apply to more issues while waiting for a review of this PR. Keep up the great work! 🚀

Learn more about application limits

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Run lint, type-check, build, and seo:check on every pull request

1 participant