Skip to content

add env variables #1896

add env variables

add env variables #1896

Workflow file for this run

name: Build and run example apps using prod endpoints
on:
push:
# schedule:
# - cron: '*/30 * * * *'
# push:
# pull_request:
jobs:
# check-version:
# runs-on: ubuntu-latest
# outputs:
# version_changed: ${{ env.version_changed }}
# steps:
# - uses: actions/checkout@v4
# - name: Check Versions
# id: check-version
# run: |
# AUTH_BETA_VERSION=$(npm view @civic/auth@beta version)
# AUTH_PROD_VERSION=$(npm view @civic/auth version)
# WEB3_BETA_VERSION=$(npm view @civic/auth-web3@beta version)
# WEB3_PROD_VERSION=$(npm view @civic/auth-web3 version)
# echo "Auth Beta version: $AUTH_BETA_VERSION"
# echo "Auth Production version: $AUTH_PROD_VERSION"
# echo "Web3 Beta version: $WEB3_BETA_VERSION"
# echo "Web3 Production version: $WEB3_PROD_VERSION"
# if [ -f .civic-versions ]; then
# PREV_VERSIONS=$(cat .civic-versions)
# PREV_AUTH_BETA=$(echo "$PREV_VERSIONS" | sed -n '1p')
# PREV_AUTH_PROD=$(echo "$PREV_VERSIONS" | sed -n '2p')
# PREV_WEB3_BETA=$(echo "$PREV_VERSIONS" | sed -n '3p')
# PREV_WEB3_PROD=$(echo "$PREV_VERSIONS" | sed -n '4p')
# if [ "$AUTH_BETA_VERSION" != "$PREV_AUTH_BETA" ] || \
# [ "$AUTH_PROD_VERSION" != "$PREV_AUTH_PROD" ] || \
# [ "$WEB3_BETA_VERSION" != "$PREV_WEB3_BETA" ] || \
# [ "$WEB3_PROD_VERSION" != "$PREV_WEB3_PROD" ]; then
# echo "version_changed=true" >> $GITHUB_ENV
# echo "Changed from:"
# echo "Auth Beta: $PREV_AUTH_BETA -> $AUTH_BETA_VERSION"
# echo "Auth Prod: $PREV_AUTH_PROD -> $AUTH_PROD_VERSION"
# echo "Web3 Beta: $PREV_WEB3_BETA -> $WEB3_BETA_VERSION"
# echo "Web3 Prod: $PREV_WEB3_PROD -> $WEB3_PROD_VERSION"
# fi
# fi
# # Write new versions to file
# echo "$AUTH_BETA_VERSION" > .civic-versions
# echo "$AUTH_PROD_VERSION" >> .civic-versions
# echo "$WEB3_BETA_VERSION" >> .civic-versions
# echo "$WEB3_PROD_VERSION" >> .civic-versions
build:
# needs: check-version
# if: needs.check-version.outputs.version_changed == 'true'
runs-on: ubuntu-latest
env:
CLIENT_ID: ${{ secrets.CLIENT_ID }}
VITE_CLIENT_ID: ${{ secrets.CLIENT_ID }}
CYPRESS_CLIENT_ID: ${{ secrets.CLIENT_ID }}
defaults:
run:
working-directory: ./
steps:
- uses: actions/checkout@v4
- name: Install Bun (used to run the examples)
uses: oven-sh/setup-bun@v2
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '20'
- name: Install dependencies
shell: bash
run: yarn install
- name: Build
run: yarn build
- name: Start the nextjs example app
uses: JarvusInnovations/background-action@v1.0.7
with:
run: yarn dev &
working-directory: packages/civic-auth/nextjs
wait-on: http://localhost:3000
wait-for: 60s
log-output-if: true
env:
CLIENT_ID: ${{ secrets.CLIENT_ID }}
- name: Start the reactjs example app
uses: JarvusInnovations/background-action@v1.0.7
with:
run: yarn dev &
working-directory: packages/civic-auth/reactjs
wait-on: http://localhost:3001
wait-for: 60s
log-output-if: true
env:
VITE_CLIENT_ID: ${{ secrets.CLIENT_ID }}
- name: Start the express example app
uses: JarvusInnovations/background-action@v1.0.7
with:
run: yarn dev &
working-directory: packages/civic-auth/server/express
wait-on: http://localhost:3002
wait-for: 60s
log-output-if: true
env:
CLIENT_ID: ${{ secrets.CLIENT_ID }}
- name: Start the fastify example app
uses: JarvusInnovations/background-action@v1.0.7
with:
run: yarn dev &
working-directory: packages/civic-auth/server/fastify
wait-on: http://localhost:3003
wait-for: 60s
log-output-if: true
env:
CLIENT_ID: ${{ secrets.CLIENT_ID }}
- name: Start the hono example app
working-directory: ./packages/civic-auth/server/hono
run: |
bun add @hono/node-server
yarn dev & npx wait-on http://localhost:3004
timeout-minutes: 1
env:
CLIENT_ID: ${{ secrets.CLIENT_ID }}
- name: Start the wagmi example app
uses: JarvusInnovations/background-action@v1.0.7
with:
run: yarn dev &
working-directory: packages/civic-auth-web3/wagmi
wait-on: http://localhost:3005
wait-for: 60s
log-output-if: true
env:
VITE_CLIENT_ID: ${{ secrets.CLIENT_ID }}
- name: Start the solana example app
uses: JarvusInnovations/background-action@v1.0.7
with:
run: yarn dev &
working-directory: packages/civic-auth-web3/solana
wait-on: http://localhost:3006
wait-for: 60s
log-output-if: true
env:
VITE_CLIENT_ID: ${{ secrets.CLIENT_ID }}
- name: Run Cypress example app e2e prod tests
id: cypress
uses: cypress-io/github-action@v6
with:
working-directory: packages/e2e
command: yarn cypress run --browser chrome --record
browser: chrome
install: true
wait-on: 'http://localhost:3000,http://localhost:3001,http://localhost:3002,http://localhost:3003,http://localhost:3004,http://localhost:3005,http://localhost:3006'
wait-on-timeout: 60
record: true
env:
NEXT_JS_BASE_URL: 'http://localhost:3000'
REACT_BASE_URL: 'http://localhost:3001'
EXPRESS_BASE_URL: 'http://localhost:3002'
FASTIFY_BASE_URL: 'http://localhost:3003'
HONO_BASE_URL: 'http://localhost:3004'
WAGMI_BASE_URL: 'http://localhost:3005'
SOLANA_BASE_URL: 'http://localhost:3006'
CYPRESS_RECORD_KEY: ${{ secrets.CYPRESS_RECORD_KEY }}
# - name: Send Slack Notification on Failure
# if: failure()
# uses: slackapi/slack-github-action@v1.27.0
# with:
# payload: |
# {
# "channel": "#build",
# "text": "Example repo Cypress tests failed in civicteam/civic-auth-examples.\n\nThese tests are run after new beta and prod versions of civic/auth and civic/auth-web3, so there may be an issue with the new version(s). Check the recording of the test failure here https://cloud.cypress.io/projects/cmyigw/runs.\n\n Alternatively, see the full GitHub Actions run details here ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}.",
# }
# env:
# SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}
# SLACK_WEBHOOK_TYPE: INCOMING_WEBHOOK