Conversation
Merge pull request #9 from hyperstack-solidity/dev
There was a problem hiding this comment.
Pull request overview
Updates the repo to align main with the dev branch by syncing dependency state and introducing GitHub Actions workflows intended for CI checks and Vercel deployment.
Changes:
- Upgrade Next.js from
15.1.6to16.1.6(and refresh the pnpm lockfile accordingly, includingsharp/@img/*updates). - Add GitHub Actions workflows for PR lint/build checks and Vercel deployment.
- Update
.gitignoreto ignore.vercel.
Reviewed changes
Copilot reviewed 3 out of 5 changed files in this pull request and generated 7 comments.
Show a summary per file
| File | Description |
|---|---|
pnpm-lock.yaml |
Lockfile refresh reflecting Next.js 16.x and related dependency graph changes. |
package.json |
Bumps next to 16.1.6. |
.gitignore |
Adds .vercel to ignored files. |
.github/workflows/vercel-merge.yml |
Adds automated Vercel deployment workflow. |
.github/workflows/ci.yml |
Adds PR lint/build workflow. |
Files not reviewed (1)
- pnpm-lock.yaml: Language not supported
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| - name: Pull Vercel Environment Information | ||
| run: vercel pull --yes --environment=production --token=${{ secrets.VERCEL_TOKEN }} | ||
|
|
||
| - name: Install dependencies | ||
| run: pnpm install --frozen-lockfile | ||
|
|
||
| - name: Build Next.js Application | ||
| run: pnpm build | ||
|
|
||
| - name: Deploy to Vercel | ||
| run: vercel deploy --prod --token=${{ secrets.VERCEL_TOKEN }} |
There was a problem hiding this comment.
This job pulls --environment=production and deploys with --prod regardless of branch context. With the current trigger (pushes to dev), it can publish unreviewed commits to production. Consider using Vercel preview deployments for dev and reserving --prod for main only.
| ${{ runner.os }}-pnpm-store- | ||
|
|
||
| - name: Install Vercel CLI | ||
| run: npm install --global vercel@latest |
There was a problem hiding this comment.
npm install --global vercel@latest makes builds non-reproducible and can break CI/CD if Vercel CLI releases a breaking change. Pin the Vercel CLI to a specific version (or at least a major) to keep deployments deterministic.
| run: npm install --global vercel@latest | |
| run: npm install --global vercel@39 |
| - name: Get pnpm store directory | ||
| shell: bash | ||
| run: | | ||
| echo "STORE_PATH=$(pnpm store path --silent)" >> $GITHUB_ENV | ||
|
|
||
| - name: Setup pnpm cache | ||
| uses: actions/cache@v4 | ||
| with: | ||
| path: ${{ env.STORE_PATH }} | ||
| key: ${{ runner.os }}-pnpm-store-${{ hashFiles('pnpm-lock.yaml') }} | ||
| restore-keys: | | ||
| ${{ runner.os }}-pnpm-store- | ||
|
|
There was a problem hiding this comment.
actions/setup-node is already configured with cache: 'pnpm', and this workflow also adds a separate actions/cache step for the pnpm store. This is redundant and increases maintenance surface; prefer one caching approach (usually setup-node's built-in pnpm cache) unless you have a measured need for the manual cache.
| - name: Get pnpm store directory | |
| shell: bash | |
| run: | | |
| echo "STORE_PATH=$(pnpm store path --silent)" >> $GITHUB_ENV | |
| - name: Setup pnpm cache | |
| uses: actions/cache@v4 | |
| with: | |
| path: ${{ env.STORE_PATH }} | |
| key: ${{ runner.os }}-pnpm-store-${{ hashFiles('pnpm-lock.yaml') }} | |
| restore-keys: | | |
| ${{ runner.os }}-pnpm-store- | |
| pull_request: | ||
| branches: | ||
| - dev | ||
| paths: |
There was a problem hiding this comment.
CI is configured to run only for PRs targeting dev. If the standard flow is merging dev into main (as this PR indicates), PRs opened against main won't get lint/build checks. Consider adding main to the pull_request.branches list (or switching to pull_request without branch filtering).
| - name: Build Next.js Application | ||
| run: pnpm build | ||
|
|
There was a problem hiding this comment.
The workflow runs pnpm build and then vercel deploy --prod without --prebuilt. In this mode, Vercel CLI performs the build on Vercel, so the local pnpm build is typically redundant time/cost. If you want to deploy the local build artifacts, switch to vercel build + vercel deploy --prebuilt; otherwise remove the local build step.
| - name: Build Next.js Application | |
| run: pnpm build | |
| "immer": "latest", | ||
| "lucide-react": "^0.454.0", | ||
| "next": "15.1.6", | ||
| "next": "16.1.6", |
There was a problem hiding this comment.
next is upgraded to 16.x, but eslint-config-next remains on ^15.1.6 (see package.json devDependencies). These versions are intended to stay in sync; keeping the old config can cause lint rule mismatches or missing Next 16 rules. Update eslint-config-next (and any related @next/*eslint* packages) to the corresponding 16.x version.
| name: Deploy to vercel on merge | ||
| on: | ||
| push: | ||
| branches: | ||
| - dev | ||
|
|
There was a problem hiding this comment.
Workflow name/intent says "Deploy to vercel on merge", but this triggers on push to dev. If the goal is to deploy after merges to the production branch, update the trigger to push on main (or pull_request with types: [closed] + if: github.event.pull_request.merged == true targeting main).
CI/CD Deployment Setup & Workflow Sync