mirror of
https://github.com/Twigpine/openlaunch.git
synced 2026-11-10 05:01:52 -10:00
Limit build-only CI tokens to read-only contents permissions. Clarify intentional control filtering without changing signed post text, and replace the sitemap test hostname-prefix check with exact origins. Cover the image-preview React attribute boundary without changing its runtime behavior or dismissing the existing scanner warning.
56 lines
1.6 KiB
YAML
56 lines
1.6 KiB
YAML
name: ci
|
|
|
|
on:
|
|
push:
|
|
branches: [main]
|
|
pull_request:
|
|
|
|
permissions:
|
|
contents: read
|
|
|
|
concurrency:
|
|
group: ci-${{ github.ref }}
|
|
cancel-in-progress: true
|
|
|
|
jobs:
|
|
app:
|
|
name: app · lint, typecheck, unit tests, build
|
|
runs-on: ubuntu-latest
|
|
defaults:
|
|
run:
|
|
working-directory: app
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- uses: actions/setup-node@v4
|
|
with:
|
|
node-version: 22
|
|
cache: npm
|
|
cache-dependency-path: app/package-lock.json
|
|
- run: npm ci --no-audit --no-fund
|
|
- run: npm run lint
|
|
- run: npx tsc --noEmit -p .
|
|
- run: npm test
|
|
- name: production build
|
|
env:
|
|
NEXT_PUBLIC_SITE_URL: https://openlaunch.lol
|
|
NEXT_PUBLIC_LAUNCH_FACTORY: "0x815542E8b392389A1389E22E588E4B62A67Ade72"
|
|
NEXT_PUBLIC_LAUNCH_LOCKER: "0xcd1680D26922fcd9CabFbb8a56bA40C333fD842a"
|
|
NEXT_PUBLIC_LAUNCH_FACTORY_ROBINHOOD: "0x815542E8b392389A1389E22E588E4B62A67Ade72"
|
|
NEXT_PUBLIC_LAUNCH_LOCKER_ROBINHOOD: "0xcd1680D26922fcd9CabFbb8a56bA40C333fD842a"
|
|
run: npm run build
|
|
|
|
contracts:
|
|
name: contracts · build + unit tests
|
|
runs-on: ubuntu-latest
|
|
defaults:
|
|
run:
|
|
working-directory: contracts
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
with:
|
|
submodules: recursive
|
|
- uses: foundry-rs/foundry-toolchain@v1
|
|
- run: forge build --sizes
|
|
- run: forge test --match-path test/LaunchFactory.t.sol -vv
|
|
# live-fork suites (FORK_TESTS=true) need RPC access and run locally before a release; see README
|