Skip to content

Merge pull request #227 from milah-247/test/poll-with-timeout-92 #159

Merge pull request #227 from milah-247/test/poll-with-timeout-92

Merge pull request #227 from milah-247/test/poll-with-timeout-92 #159

Workflow file for this run

name: CI
on:
push:
branches: [main]
pull_request:
branches: [main]
jobs:
ci:
runs-on: ubuntu-latest
strategy:
matrix:
node-version: [18.x, 20.x]
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Setup Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node-version }}
cache: 'npm'
- name: Cache node_modules
uses: actions/cache@v4
with:
path: ~/.npm
key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }}
restore-keys: |
${{ runner.os }}-node-
- name: Cache Next.js build
uses: actions/cache@v4
with:
path: |
~/.npm
${{ github.workspace }}/.next/cache
key: ${{ runner.os }}-nextjs-${{ hashFiles('**/package-lock.json') }}-${{ hashFiles('**/*.js', '**/*.jsx', '**/*.ts', '**/*.tsx') }}
restore-keys: |
${{ runner.os }}-nextjs-${{ hashFiles('**/package-lock.json') }}-
- name: Install dependencies
run: npm ci
- name: Create env file
run: |
cp .env.example .env.local
sed -i 's|=your_paycrest_api_key_here|=dummy_value|' .env.local
sed -i 's|=your_paycrest_webhook_secret_here|=dummy_value|' .env.local
sed -i 's|=0xyour_base_private_key_here|=0x0000000000000000000000000000000000000000000000000000000000000001|' .env.local
sed -i 's|=0xyour_base_return_address_here|=0x0000000000000000000000000000000000000001|g' .env.local
sed -i 's|=your_stellar_usdc_issuer_here|=GBBD47IF6LWK7P7MDEVSCWR7DPUWV3NY3DTQEVFL4NAT4AQH3ZLLFLA5|' .env.local
sed -i 's|=your_sentry_dsn_here|=|g' .env.local
sed -i 's|=your_sentry_org_slug|=dummy|' .env.local
sed -i 's|=your_sentry_project_slug|=dummy|' .env.local
sed -i 's|=your_sentry_auth_token_here|=|' .env.local
- name: Run linting
run: npm run lint
- name: Run build
run: npm run build
env:
SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }}
- name: Run tests
run: npm test
- name: Check bundle size
if: matrix.node-version == '20.x'
run: |
BUILD_SIZE=$(du -sb .next | cut -f1)
echo "Build size: $BUILD_SIZE bytes"
# Fail if build size exceeds 150MB (adjust baseline as needed)
MAX_SIZE=157286400
if [ "$BUILD_SIZE" -gt "$MAX_SIZE" ]; then
echo "Bundle size $BUILD_SIZE exceeds limit $MAX_SIZE"
exit 1
fi
- name: Upload build artifacts
if: matrix.node-version == '20.x'
uses: actions/upload-artifact@v4
with:
name: build-files
path: .next/
retention-days: 1