Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
161 changes: 64 additions & 97 deletions .github/workflows/js-build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -54,43 +54,9 @@ jobs:
packages/*/dist/**
retention-days: 1

test-pre-prod:
runs-on: ubuntu-latest
needs: build
steps:
# https://github.com/actions/checkout
- name: Checkout
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2

# Install and cache JS toolchain and dependencies (node_modules)
- name: Setup JS
uses: ./.github/actions/js-setup

- name: Download build artifacts
uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4.3.0
with:
name: build-artifacts-${{ github.sha }}
path: packages/

- name: Test (preprod)
run: anvil & pnpm run test-all && lsof -t -i tcp:8545 | xargs kill
env:
API_PUBLIC_KEY: ${{ secrets.PREPROD_API_PUBLIC_KEY }}
API_PRIVATE_KEY: ${{ secrets.PREPROD_API_PRIVATE_KEY }}
BASE_URL: ${{ secrets.PREPROD_BASE_URL }}
ORGANIZATION_ID: ${{ secrets.PREPROD_ORGANIZATION_ID }}
PRIVATE_KEY_ID: ${{ secrets.PREPROD_PRIVATE_KEY_ID }}
EXPECTED_PRIVATE_KEY_ETH_ADDRESS: ${{ secrets.PREPROD_EXPECTED_PRIVATE_KEY_ETH_ADDRESS }}
EXPECTED_PRIVATE_KEY_ETH_ADDRESS_2: ${{ secrets.PREPROD_EXPECTED_PRIVATE_KEY_ETH_ADDRESS_2 }}
EXPECTED_WALLET_ACCOUNT_ETH_ADDRESS: ${{ secrets.PREPROD_EXPECTED_WALLET_ACCOUNT_ETH_ADDRESS }}
EXPECTED_WALLET_ACCOUNT_ETH_ADDRESS_2: ${{ secrets.PREPROD_EXPECTED_WALLET_ACCOUNT_ETH_ADDRESS_2 }}
BANNED_TO_ADDRESS: ${{ secrets.PREPROD_BANNED_TO_ADDRESS }}
SOLANA_TEST_ORG_API_PRIVATE_KEY: ${{ secrets.SOLANA_TEST_ORG_API_PRIVATE_KEY }}
WALLET_ID: ${{ secrets.PREPROD_WALLET_ID }}

test-prod:
runs-on: ubuntu-latest
needs: test-pre-prod
needs: build
steps:
# https://github.com/actions/checkout
- name: Checkout
Expand Down Expand Up @@ -122,65 +88,66 @@ jobs:
SOLANA_TEST_ORG_API_PRIVATE_KEY: ${{ secrets.SOLANA_TEST_ORG_API_PRIVATE_KEY }}
WALLET_ID: ${{ secrets.WALLET_ID }}

test-end-to-end:
runs-on: ubuntu-latest
timeout-minutes: 60

env:
NEXT_PUBLIC_BASE_URL: https://api.preprod.turnkey.engineering
NEXT_PUBLIC_AUTH_PROXY_URL: https://authproxy.preprod.turnkey.engineering
NEXT_PUBLIC_ORGANIZATION_ID: 7f947121-11a0-4906-bf7c-76712396a20d
NEXT_PUBLIC_AUTH_PROXY_ID: 8ffb4198-a41e-4d14-b7b8-ada33f410d7a
NEXT_PUBLIC_AUTH_IFRAME_URL: https://auth.preprod.turnkey.engineering
NEXT_PUBLIC_EXPORT_IFRAME_URL: https://export.preprod.turnkey.engineering
NEXT_PUBLIC_IMPORT_IFRAME_URL: https://import.preprod.turnkey.engineering
NEXT_PUBLIC_OAUTH_REDIRECT_URI: http://127.0.0.1:3000/
NEXT_PUBLIC_GOOGLE_CLIENT_ID: <Google OIDC client ID>
NEXT_PUBLIC_APPLE_CLIENT_ID: <Apple OIDC client ID>
NEXT_PUBLIC_FACEBOOK_CLIENT_ID: <Facebook OIDC client ID>
NEXT_PUBLIC_DISCORD_CLIENT_ID: <Discord OIDC client ID>
NEXT_PUBLIC_X_CLIENT_ID: <X OIDC client ID>

defaults:
run:
working-directory: examples/with-sdk-js

steps:
# https://github.com/actions/checkout
- name: Checkout
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2

# Install and cache JS toolchain and dependencies (node_modules)
- name: Setup JS
uses: ./.github/actions/js-setup

- uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
with:
node-version: "20"
cache: "pnpm"

# Install workspace deps (uses root lockfile and links workspaces)
- name: Install dependencies
run: pnpm install --frozen-lockfile

# (Optional) Build any workspace packages example depends on
- name: Build workspace packages
working-directory: .
run: pnpm -r --filter "./packages/*" build

# Install Playwright browsers + system deps
- name: Install Playwright browsers
run: pnpm exec playwright install chromium --with-deps

- name: Run Playwright tests
env:
CI: "true"
run: pnpm exec playwright test --reporter=line,html

- name: Upload Playwright report
if: ${{ !cancelled() }}
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
with:
name: playwright-report
path: examples/with-sdk-js/playwright-report
retention-days: 30
# TODO: Enable end-to-end tests once we can get prod credentials
# test-end-to-end:
# runs-on: ubuntu-latest
# timeout-minutes: 60

# env:
# NEXT_PUBLIC_BASE_URL: https://api.turnkey.com
# NEXT_PUBLIC_AUTH_PROXY_URL: https://authproxy.turnkey.com
# NEXT_PUBLIC_ORGANIZATION_ID: acd0bc97-2af5-475b-bc34-0fa7ca3bdc75
# NEXT_PUBLIC_AUTH_PROXY_ID: TODO: FILL ME IN
# NEXT_PUBLIC_AUTH_IFRAME_URL: https://auth.turnkey.com
# NEXT_PUBLIC_EXPORT_IFRAME_URL: https://export.turnkey.com
# NEXT_PUBLIC_IMPORT_IFRAME_URL: https://import.turnkey.com
# NEXT_PUBLIC_OAUTH_REDIRECT_URI: http://127.0.0.1:3000/
# NEXT_PUBLIC_GOOGLE_CLIENT_ID: <Google OIDC client ID>
# NEXT_PUBLIC_APPLE_CLIENT_ID: <Apple OIDC client ID>
# NEXT_PUBLIC_FACEBOOK_CLIENT_ID: <Facebook OIDC client ID>
# NEXT_PUBLIC_DISCORD_CLIENT_ID: <Discord OIDC client ID>
# NEXT_PUBLIC_X_CLIENT_ID: <X OIDC client ID>

# defaults:
# run:
# working-directory: examples/with-sdk-js

# steps:
# # https://github.com/actions/checkout
# - name: Checkout
# uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2

# # Install and cache JS toolchain and dependencies (node_modules)
# - name: Setup JS
# uses: ./.github/actions/js-setup

# - uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
# with:
# node-version: "20"
# cache: "pnpm"

# # Install workspace deps (uses root lockfile and links workspaces)
# - name: Install dependencies
# run: pnpm install --frozen-lockfile

# # (Optional) Build any workspace packages example depends on
# - name: Build workspace packages
# working-directory: .
# run: pnpm -r --filter "./packages/*" build

# # Install Playwright browsers + system deps
# - name: Install Playwright browsers
# run: pnpm exec playwright install chromium --with-deps

# - name: Run Playwright tests
# env:
# CI: "true"
# run: pnpm exec playwright test --reporter=line,html

# - name: Upload Playwright report
# if: ${{ !cancelled() }}
# uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
# with:
# name: playwright-report
# path: examples/with-sdk-js/playwright-report
# retention-days: 30
42 changes: 1 addition & 41 deletions .github/workflows/version-and-publish.yml
Original file line number Diff line number Diff line change
Expand Up @@ -124,49 +124,9 @@ jobs:
.changeset/**
retention-days: 7

test-pre-prod:
runs-on: ubuntu-latest
needs: version-and-rebuild
steps:
# https://github.com/actions/checkout
- name: Checkout
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
fetch-depth: 0 # required for git tags and history
ref: release/${{ github.ref_name }}

# Install and cache JS toolchain and dependencies (node_modules)
- name: Setup JS
uses: ./.github/actions/js-setup

- name: Download release artifacts
uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4.3.0
with:
name: release-artifacts-${{ github.ref_name }}
path: .

- name: Install latest dependencies
run: pnpm install -r --frozen-lockfile

- name: Test (preprod)
run: anvil & pnpm run test-all && lsof -t -i tcp:8545 | xargs kill
env:
API_PUBLIC_KEY: ${{ secrets.PREPROD_API_PUBLIC_KEY }}
API_PRIVATE_KEY: ${{ secrets.PREPROD_API_PRIVATE_KEY }}
BASE_URL: ${{ secrets.PREPROD_BASE_URL }}
ORGANIZATION_ID: ${{ secrets.PREPROD_ORGANIZATION_ID }}
PRIVATE_KEY_ID: ${{ secrets.PREPROD_PRIVATE_KEY_ID }}
EXPECTED_PRIVATE_KEY_ETH_ADDRESS: ${{ secrets.PREPROD_EXPECTED_PRIVATE_KEY_ETH_ADDRESS }}
EXPECTED_PRIVATE_KEY_ETH_ADDRESS_2: ${{ secrets.PREPROD_EXPECTED_PRIVATE_KEY_ETH_ADDRESS_2 }}
EXPECTED_WALLET_ACCOUNT_ETH_ADDRESS: ${{ secrets.PREPROD_EXPECTED_WALLET_ACCOUNT_ETH_ADDRESS }}
EXPECTED_WALLET_ACCOUNT_ETH_ADDRESS_2: ${{ secrets.PREPROD_EXPECTED_WALLET_ACCOUNT_ETH_ADDRESS_2 }}
BANNED_TO_ADDRESS: ${{ secrets.PREPROD_BANNED_TO_ADDRESS }}
SOLANA_TEST_ORG_API_PRIVATE_KEY: ${{ secrets.SOLANA_TEST_ORG_API_PRIVATE_KEY }}
WALLET_ID: ${{ secrets.PREPROD_WALLET_ID }}

test-prod:
runs-on: ubuntu-latest
needs: test-pre-prod
needs: version-and-rebuild
steps:
# https://github.com/actions/checkout
- name: Checkout
Expand Down
Loading