Skip to content

feat: present Raindex market data page #7170

feat: present Raindex market data page

feat: present Raindex market data page #7170

##
## SECURITY MODEL FOR VERCEL PREVIEW DEPLOYS FOR INTERNAL BRANCHES (READ BEFORE EDITING)
##
## This workflow runs on non-main branch pushes in this repository (not forks):
## - PR-target preview deploys (for forks) are isolated in a separate workflow
## file and use a different Vercel org and project.
## - The wrapper (checkout, nix, caches, build, Vercel pull + deploy, security
## hardening) lives in the rainix `rainix-vercel.yaml` reusable workflow; this
## file is a thin caller that selects the preview environment and maps secrets.
##
## WARNING: Changing any of the following may break the security model:
## - Triggers (the non-main push + webapp paths).
## - The reusable workflow ref / inputs.
## If you modify this file, re-validate these invariants (and those in rainix).
name: GitHub Actions Vercel Preview Deployment
on:
push:
branches-ignore:
- main
# Only build/deploy a preview when something webapp-relevant changed. The
# webapp build pulls the wasm bindings (crates/**, incl. committed abis),
# the JS workspaces (packages/**), deps, the nix toolchain, and the build
# script — sol-only / CI / docs / audit pushes can't change it, so skip the
# ~30-min build for them. (Not a required check, so skipping is safe.)
paths:
- 'packages/**'
- 'crates/**'
- 'package.json'
- 'package-lock.json'
- 'flake.nix'
- 'flake.lock'
- 'script/vercel-build.sh'
- '.github/workflows/vercel-preview.yaml'
concurrency:
group: ${{ format('{0}-vercel-preview', github.ref) }}
cancel-in-progress: true
jobs:
preview:
if: github.event_name == 'push'
uses: rainlanguage/rainix/.github/workflows/rainix-vercel.yaml@main
with:
environment: preview
secrets:
VERCEL_TOKEN: ${{ secrets.VERCEL_TOKEN }}
VERCEL_ORG_ID: ${{ secrets.VERCEL_ORG_ID }}
VERCEL_PROJECT_ID: ${{ secrets.VERCEL_PROJECT_ID_V6 }}
WALLETCONNECT_PROJECT_ID: ${{ secrets.WALLETCONNECT_PROJECT_ID }}
CACHIX_AUTH_TOKEN: ${{ secrets.CACHIX_AUTH_TOKEN }}
TELEGRAM_BOT_TOKEN: ${{ secrets.TELEGRAM_BOT_TOKEN }}
TELEGRAM_CHAT_ID: ${{ secrets.TELEGRAM_CHAT_ID }}
# The npm-package blacklist check is intentionally kept out of the reusable
# Vercel workflow (it's a repo-specific policy gate, not part of the deploy
# wrapper), so it runs here as a separate job. The action needs an installed
# dependency tree (it runs `npm ls --all`), so install workspace deps first;
# no wasm/webapp build is required just to inspect the tree.
npm-blacklist:
if: github.event_name == 'push'
runs-on: ubuntu-latest
permissions:
contents: read
steps:
- uses: actions/checkout@v4
- uses: nixbuild/nix-quick-install-action@v30
with:
nix_conf: |
keep-env-derivations = true
keep-outputs = true
- uses: cachix/cachix-action@v15
continue-on-error: true
with:
name: rainlanguage
authToken: ${{ secrets.CACHIX_AUTH_TOKEN }}
useDaemon: false
- name: Restore and save Nix store
uses: nix-community/cache-nix-action@v7
with:
primary-key: nix-${{ runner.os }}-${{ hashFiles('**/*.nix', '**/flake.lock') }}
restore-prefixes-first-match: nix-${{ runner.os }}-
gc-max-store-size-linux: 8G
- name: Install npm dependencies
run: nix develop .#wasm-shell -c npm install --no-check
- uses: rainlanguage/github-chore/.github/actions/npm-blacklist@main
- uses: rainlanguage/github-chore/.github/actions/npm-blacklist@main
with:
working-directory: packages/raindex
- uses: rainlanguage/github-chore/.github/actions/npm-blacklist@main
with:
working-directory: packages/ui-components