feat: add country code to geogate analytic #4547
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: 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 |