Skip to content

feat: add immutable Solana launch pools and gated workspace #315

feat: add immutable Solana launch pools and gated workspace

feat: add immutable Solana launch pools and gated workspace #315

Workflow file for this run

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: Solana SDK and independent economic model
run: |
npx tsc --noEmit -p packages/solana-sdk/tsconfig.json
npx tsx --test packages/solana-sdk/tests/*.test.ts
node --experimental-strip-types --test ../packages/solana-model/*.test.mjs
- 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
solana:
name: Solana · host tests, SBFv3 build, offline VM
runs-on: ubuntu-latest
timeout-minutes: 35
defaults:
run:
working-directory: solana
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@master
with:
toolchain: 1.97.1
components: rustfmt, clippy
- uses: Swatinem/rust-cache@v2
with:
workspaces: solana
- run: cargo fmt --all --check
- run: cargo test -p launch-pool --locked
- name: Install pinned build-only SBF tool
run: cargo install cargo-build-sbf --version 4.2.0 --locked --root .tools
- name: Build current SBPF format, reject stack diagnostics
run: bash scripts/check-sbf.sh
- name: Execute compiled program offline
run: cargo test --workspace --features svm-tests --locked
- name: Rust lint
run: cargo clippy --workspace --all-targets --features svm-tests --locked -- -D warnings
# No RPC credentials, wallet keys, deployments, or authority operations in CI.
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
- run: forge test --match-path test/LaunchFactory.arcGuard.t.sol -vv
- run: script/check-arc-factory.sh
# live-fork suites (FORK_TESTS=true) need RPC access and run locally before a release; see README