Skip to content

feat: add country code to geogate analytic #4547

feat: add country code to geogate analytic

feat: add country code to geogate analytic #4547

Workflow file for this run

name: Cypress Tests
on:
push:
branches:
- main
pull_request:
types: ['opened', 'edited', 'reopened', 'synchronize', 'ready_for_review']
jobs:
cypress-run:
if: github.event.pull_request.draft == false
environment: preview
runs-on: ubuntu-latest
services:
mysql:
image: mysql:8.0
env:
MYSQL_ROOT_PASSWORD: root
MYSQL_DATABASE: swc-web
ports:
- 3306:3306
options: >-
--health-cmd="mysqladmin ping --silent"
--health-interval=10s
--health-timeout=5s
--health-retries=10
strategy:
fail-fast: false # https://github.com/cypress-io/github-action/issues/48
env:
# environment secrets
VERIFIED_SWC_PARTNER_SECRET_COINBASE: ${{ secrets.VERIFIED_SWC_PARTNER_SECRET_COINBASE }}
DO_THEY_SUPPORT_IT_API_KEY: ${{ secrets.DO_THEY_SUPPORT_IT_API_KEY }}
THIRD_WEB_CLIENT_SECRET: ${{ secrets.THIRD_WEB_CLIENT_SECRET }}
THIRDWEB_AUTH_PRIVATE_KEY: ${{ secrets.THIRDWEB_AUTH_PRIVATE_KEY }}
CAPITOL_CANARY_API_KEY: ${{ secrets.CAPITOL_CANARY_API_KEY }}
CAPITOL_CANARY_API_SECRET: ${{ secrets.CAPITOL_CANARY_API_SECRET }}
CAPITOL_CANARY_WEBHOOK_SECRET: ${{ secrets.CAPITOL_CANARY_WEBHOOK_SECRET }}
CYPRESS_PROJECT_ID: ${{ secrets.CYPRESS_PROJECT_ID }}
UPSTASH_REDIS_REST_URL: ${{ secrets.UPSTASH_REDIS_REST_URL }}
UPSTASH_REDIS_REST_TOKEN: ${{ secrets.UPSTASH_REDIS_REST_TOKEN }}
INNGEST_EVENT_KEY: ${{ secrets.INNGEST_EVENT_KEY }}
INNGEST_SIGNING_KEY: ${{ secrets.INNGEST_SIGNING_KEY }}
COINBASE_COMMERCE_WEBHOOK_SECRET: ${{ secrets.COINBASE_COMMERCE_WEBHOOK_SECRET }}
THIRDWEB_ENGINE_ACCESS_TOKEN: ${{ secrets.THIRDWEB_ENGINE_ACCESS_TOKEN }}
TWILIO_AUTH_TOKEN: ${{ secrets.TWILIO_AUTH_TOKEN }}
GOOGLE_PLACES_BACKEND_API_KEY: ${{ secrets.GOOGLE_PLACES_BACKEND_API_KEY }}
BUILDER_IO_PRIVATE_KEY: ${{ secrets.BUILDER_IO_PRIVATE_KEY }}
BUILDER_IO_WEBHOOK_AUTH_TOKEN: ${{ secrets.BUILDER_IO_WEBHOOK_AUTH_TOKEN }}
SWC_INTERNAL_ENDPOINTS_SECRET: ${{ secrets.SWC_INTERNAL_ENDPOINTS_SECRET }}
DECISION_DESK_CLIENT_ID: ${{ secrets.DECISION_DESK_CLIENT_ID }}
DECISION_DESK_SECRET: ${{ secrets.DECISION_DESK_SECRET }}
# environment variables
LOCAL_USER_CRYPTO_ADDRESS: ${{vars.LOCAL_USER_CRYPTO_ADDRESS}}
NEXT_PUBLIC_ENVIRONMENT: ${{vars.NEXT_PUBLIC_ENVIRONMENT}}
NEXT_PUBLIC_GOOGLE_CIVIC_API_KEY: ${{vars.NEXT_PUBLIC_GOOGLE_CIVIC_API_KEY}}
NEXT_PUBLIC_GOOGLE_PLACES_API_KEY: ${{vars.NEXT_PUBLIC_GOOGLE_PLACES_API_KEY}}
NEXT_PUBLIC_MIXPANEL_PROJECT_TOKEN: ${{vars.NEXT_PUBLIC_MIXPANEL_PROJECT_TOKEN}}
SENDGRID_API_KEY: ${{secrets.SENDGRID_API_KEY}}
SENDGRID_SENDER: ${{vars.SENDGRID_SENDER}}
SENDGRID_WEBHOOK_VERIFICATION_KEY: ${{secrets.SENDGRID_WEBHOOK_VERIFICATION_KEY}}
NEXT_PUBLIC_SENTRY_DSN: ${{vars.NEXT_PUBLIC_SENTRY_DSN}}
NEXT_PUBLIC_THIRDWEB_AUTH_DOMAIN: ${{vars.NEXT_PUBLIC_THIRDWEB_AUTH_DOMAIN}}
NEXT_PUBLIC_THIRDWEB_CLIENT_ID: ${{vars.NEXT_PUBLIC_THIRDWEB_CLIENT_ID}}
MINIMIZE_PAGE_PRE_GENERATION: ${{vars.MINIMIZE_PAGE_PRE_GENERATION}}
THIRDWEB_ENGINE_URL: ${{vars.THIRDWEB_ENGINE_URL}}
TWILIO_ACCOUNT_SID: ${{vars.TWILIO_ACCOUNT_SID}}
TWILIO_MESSAGING_SERVICE_SID: ${{vars.TWILIO_MESSAGING_SERVICE_SID}}
MESSAGE_SEGMENTS_PER_SECOND: ${{vars.MESSAGE_SEGMENTS_PER_SECOND}}
MAX_QUEUE_LENGTH: ${{vars.MAX_QUEUE_LENGTH}}
DATABASE_QUERY_LIMIT: ${{vars.DATABASE_QUERY_LIMIT}}
SMS_PROVIDER: ${{vars.SMS_PROVIDER}}
SWC_DOT_ETH_WALLET: ${{vars.SWC_DOT_ETH_WALLET}}
SWC_STOP_SMS_KEYWORD: ${{vars.SWC_STOP_SMS_KEYWORD}}
SWC_UNSTOP_SMS_KEYWORD: ${{vars.SWC_UNSTOP_SMS_KEYWORD}}
LEGACY_NFT_DEPLOYER_WALLET: ${{vars.LEGACY_NFT_DEPLOYER_WALLET}}
I_AM_A_VOTER_NFT_CONTRACT_ADDRESS: ${{ vars.I_AM_A_VOTER_NFT_CONTRACT_ADDRESS }}
SWC_PIZZA_DAY_NFT_CONTRACT_ADDRESS: ${{ vars.SWC_PIZZA_DAY_NFT_CONTRACT_ADDRESS }}
SWC_VOTER_ATTESTATION_NFT_CONTRACT_ADDRESS: ${{ vars.SWC_VOTER_ATTESTATION_NFT_CONTRACT_ADDRESS }}
SWC_SHIELD_NFT_CONTRACT_ADDRESS: ${{ vars.SWC_SHIELD_NFT_CONTRACT_ADDRESS }}
CALL_REPRESENTATIVE_NFT_CONTRACT_ADDRESS: ${{ vars.CALL_REPRESENTATIVE_NFT_CONTRACT_ADDRESS }}
STAND_WITH_CRYPTO_LEGACY_NFT_CONTRACT_ADDRESS: ${{ vars.STAND_WITH_CRYPTO_LEGACY_NFT_CONTRACT_ADDRESS }}
STAND_WITH_CRYPTO_SUPPORTER_NFT_CONTRACT_ADDRESS: ${{ vars.STAND_WITH_CRYPTO_SUPPORTER_NFT_CONTRACT_ADDRESS }}
LA_CRYPTO_EVENT_2024_03_04_NFT_CONTRACT_ADDRESS: ${{ vars.LA_CRYPTO_EVENT_2024_03_04_NFT_CONTRACT_ADDRESS }}
SWC_I_VOTED_NFT_CONTRACT_ADDRESS: ${{ vars.SWC_I_VOTED_NFT_CONTRACT_ADDRESS }}
NEXT_PUBLIC_BUILDER_IO_PUBLIC_KEY: ${{vars.NEXT_PUBLIC_BUILDER_IO_PUBLIC_KEY}}
NEXT_PUBLIC_GOOGLE_TAG_MANAGER_ID: ${{vars.NEXT_PUBLIC_GOOGLE_TAG_MANAGER_ID}}
# org level secrets
CYPRESS_RECORD_KEY: ${{ secrets.CYPRESS_RECORD_KEY }}
GITHUB_TOKEN: ${{ secrets.CYPRESS_GITHUB_WORKFLOW_TOKEN_TRAVIS }}
# database
DATABASE_URL: mysql://root:root@localhost:3306/swc-web
SEED_SIZE: SM
IS_DEVELOPING_OFFLINE: true
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Wait for MySQL
run: |
until mysql -h 127.0.0.1 -P 3306 -u root --password=root --database=swc-web -e "SELECT 1"; do
echo "Waiting for MySQL to be ready...";
sleep 4;
done
- name: Run Cypress
# Uses the official Cypress GitHub action https://github.com/cypress-io/github-action
uses: cypress-io/[email protected]
with:
build: bash bin/cypress_build.sh
# Starts web server for E2E tests - replace with your own server invocation
# https://docs.cypress.io/guides/continuous-integration/introduction#Boot-your-server
start: npm run start
wait-on: 'http://localhost:3000' # Waits for above
# Records to Cypress Cloud
# https://docs.cypress.io/guides/cloud/projects#Set-up-a-project-to-record
record: true
parallel: false # Runs test in parallel using settings above