Handle git history/submodules #15
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: "Test app initialization" | |
on: | |
workflow_dispatch: | |
pull_request: | |
push: | |
branches: | |
- main | |
- staging | |
env: | |
RPC_URL_11155111: ${{ secrets.RPC_URL_11155111 }} | |
RPC_URL_8453: ${{ secrets.RPC_URL_8453 }} | |
RPC_URL_84532: ${{ secrets.RPC_URL_84532 }} | |
PROVIDER_URI_11155111: ${{ secrets.RPC_URL_11155111 }} | |
PROVIDER_URI_8453: ${{ secrets.RPC_URL_8453 }} | |
PROVIDER_URI_84532: ${{ secrets.RPC_URL_84532 }} | |
PRIVATE_KEY_11155111: ${{ secrets.PRIVATE_KEY_11155111 }} | |
PRIVATE_KEY_8453: ${{ secrets.PRIVATE_KEY_8453 }} | |
PRIVATE_KEY_84532: ${{ secrets.PRIVATE_KEY_84532 }} | |
NEXT_PUBLIC_RPC_URL_11155111: ${{ secrets.RPC_URL_11155111 }} | |
NEXT_PUBLIC_RPC_URL_8453: ${{ secrets.RPC_URL_8453 }} | |
NEXT_PUBLIC_RPC_URL_84532: ${{ secrets.RPC_URL_84532 }} | |
NEXT_PUBLIC_PROVIDER_URI_11155111: ${{ secrets.RPC_URL_11155111 }} | |
NEXT_PUBLIC_PROVIDER_URI_8453: ${{ secrets.RPC_URL_8453 }} | |
NEXT_PUBLIC_PROVIDER_URI_84532: ${{ secrets.RPC_URL_84532 }} | |
NEXT_PUBLIC_WALLETCONNECT_PROJECT_ID: ${{ secrets.WALLETCONNECT_PROJECT_ID }} | |
jobs: | |
test-nextjs: | |
name: "axiom-init: Next.js" | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
submodules: recursive | |
- uses: actions/setup-node@v4 | |
with: | |
node-version: 18 | |
- name: Install Foundry | |
uses: foundry-rs/foundry-toolchain@v1 | |
with: | |
version: nightly | |
- name: Check forge version | |
run: forge --version | |
- name: Install npm packages | |
working-directory: ./axiom-init | |
run: npm install | |
- name: Build axiom-init | |
working-directory: ./axiom-init | |
run: npm run build | |
- name: Initialize app | |
working-directory: ./axiom-init | |
run: node dist/index.js init -p app-nextjs -s nextjs -m npm -c 11155111 | |
- name: Forge test | |
working-directory: ./axiom-init/app-nextjs | |
run: forge test -vvv | |
- name: Compile circuit | |
working-directory: ./axiom-init/app-nextjs | |
run: npx axiom circuit compile app/axiom/average.circuit.ts -p ${{ env.RPC_URL_11155111 }} --force | |
- name: Write .env.local file | |
working-directory: ./axiom-init/app-nextjs/app | |
run: | | |
echo "NEXT_PUBLIC_RPC_URL_11155111=${{ env.RPC_URL_11155111 }}" > .env.local | |
echo "NEXT_PUBLIC_PROVIDER_URI_11155111=${{ env.RPC_URL_11155111 }}" >> .env.local | |
echo "NEXT_PUBLIC_WALLETCONNECT_PROJECT_ID=${{ env.WALLETCONNECT_PROJECT_ID }}" >> .env.local | |
- name: Build Next.js app | |
working-directory: ./axiom-init/app-nextjs/app | |
run: npm run build | |
test-script: | |
name: "axiom-init: Script" | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
submodules: recursive | |
- name: Enable Corepack | |
run: corepack enable | |
- name: Use Node.js 20.x | |
uses: actions/setup-node@v4 | |
with: | |
node-version: '20.x' | |
cache: 'yarn' | |
registry-url: "https://registry.npmjs.org" | |
cache-dependency-path: axiom-init/yarn.lock | |
- name: Install yarn packages | |
working-directory: ./axiom-init | |
run: yarn install --no-lockfile | |
- name: Install Foundry | |
uses: foundry-rs/foundry-toolchain@v1 | |
with: | |
version: nightly | |
- name: Check forge version | |
run: forge --version | |
- name: Build axiom-init | |
working-directory: ./axiom-init | |
run: yarn build | |
- name: Initialize app | |
working-directory: ./axiom-init | |
run: node dist/index.js init -p app-script -s script -m yarn -c 84532 | |
- name: Forge test | |
working-directory: ./axiom-init/app-script | |
run: forge test -vvv | |
- name: Compile circuit | |
working-directory: ./axiom-init/app-script | |
run: npx axiom circuit compile app/axiom/average.circuit.ts -p ${{ env.RPC_URL_84532 }} --force | |
- name: Write .env file | |
working-directory: ./axiom-init/app-script | |
run: | | |
echo "RPC_URL_84532=${{ env.RPC_URL_84532 }}" > .env | |
echo "PROVIDER_URI_84532=${{ env.PROVIDER_URI_84532 }}" >> .env | |
- name: Send query | |
working-directory: ./axiom-init/app-script/app | |
run: yarn start | |
test-forge: | |
name: "axiom-init: Forge" | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
submodules: recursive | |
- name: Setup pnpm | |
uses: pnpm/action-setup@v3 | |
with: | |
version: 8 | |
- name: "Install Node.js" | |
uses: "actions/setup-node@v4" | |
with: | |
node-version: "20.x" | |
cache: "pnpm" | |
registry-url: "https://registry.npmjs.org" | |
cache-dependency-path: axiom-init/pnpm-lock.yaml | |
- name: Install Foundry | |
uses: foundry-rs/foundry-toolchain@v1 | |
with: | |
version: nightly | |
- name: Check forge version | |
run: forge --version | |
- name: Install pnpm packages | |
working-directory: ./axiom-init | |
run: pnpm install | |
- name: Build axiom-init | |
working-directory: ./axiom-init | |
run: pnpm run build | |
- name: Initialize app | |
working-directory: ./axiom-init | |
run: node dist/index.js init -p app-forge -s forge -m pnpm -c 8453 | |
- name: Forge test | |
working-directory: ./axiom-init/app-forge | |
run: forge test -vvv | |
- name: Compile circuit | |
working-directory: ./axiom-init/app-forge | |
run: npx axiom circuit compile app/axiom/average.circuit.ts -p ${{ env.RPC_URL_8453 }} --force | |
- name: Write .env file | |
working-directory: ./axiom-init/app-forge | |
run: | | |
echo "RPC_URL_8453=${{ env.RPC_URL_8453 }}" > .env | |
echo "PROVIDER_URI_8453=${{ env.PROVIDER_URI_8453 }}" >> .env | |
- name: Send query | |
working-directory: ./axiom-init/app-forge/app | |
run: yarn start | |