Skip to content

feat(skeleton): display store credit balance in cart + e2e tests #2298

feat(skeleton): display store credit balance in cart + e2e tests

feat(skeleton): display store credit balance in cart + e2e tests #2298

# Major Version Protection - Prevents major changes when patches are pending
name: Major Protection
on:
pull_request:
types: [opened, synchronize, reopened]
issue_comment:
types: [created]
jobs:
check-protection:
# Only run protection on PRs targeting main or calver release branches
if: |
github.event_name == 'pull_request' &&
(github.event.pull_request.base.ref == 'main' ||
startsWith(github.event.pull_request.base.ref, '20'))
runs-on: ubuntu-latest
permissions:
contents: read
pull-requests: write
checks: write
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
fetch-depth: 0
- uses: actions/setup-node@v6
with:
node-version: '22'
- name: Setup pnpm
uses: pnpm/action-setup@fc06bc1257f339d1d5d8b3a19a8cae5388b55320
with:
run_install: false
- run: pnpm install --frozen-lockfile
- run: node .changeset/check-major-protection.js
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
PR_NUMBER: ${{ github.event.pull_request.number }}
- uses: actions/github-script@v7
if: always()
with:
script: |
const fs = require('fs');
const result = JSON.parse(fs.readFileSync('.github/protection-result.json', 'utf8'));
await github.rest.checks.create({
owner: context.repo.owner,
repo: context.repo.repo,
name: 'Major Version Protection',
head_sha: context.payload.pull_request.head.sha,
status: 'completed',
conclusion: result.blocked ? 'failure' : 'success',
output: { title: result.title, summary: result.summary }
});
handle-bypass:
if: |
github.event_name == 'issue_comment' &&
github.event.issue.pull_request &&
contains(github.event.comment.body, '/bypass-major-safeguard')
runs-on: ubuntu-latest
permissions:
contents: read
pull-requests: write
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- uses: actions/setup-node@v6
with:
node-version: '22'
- run: node .changeset/process-major-version-bypass.js
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
PR_NUMBER: ${{ github.event.issue.number }}
COMMENTER: ${{ github.event.comment.user.login }}
GITHUB_REPOSITORY: ${{ github.repository }}