Skip to content

Merge pull request #1405 from edenia/dev #89

Merge pull request #1405 from edenia/dev

Merge pull request #1405 from edenia/dev #89

name: Build images for telos testnet environment
on:
push:
tags:
- telos-testnet-v*
jobs:
create-telos-testnet-image:
runs-on: ubuntu-latest
environment: telos-testnet
steps:
- name: Checkout Repo
uses: actions/checkout@v3
- name: Log in to the Container registry
uses: docker/login-action@v2
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: 'step-log'
run: |
echo "github.ref: ${{github.ref}}"
- name: Build new images and push
run: |
make \
build-docker-images \
push-docker-images
env:
DOCKER_USERNAME: ${{ secrets.DOCKER_HUB_USER }}
DOCKER_PASSWORD: ${{ secrets.DOCKER_HUB_PASSWORD }}
# webapp
PORT: '80'
REACT_APP_TITLE: 'Telos Testnet Network Dashboard'
REACT_APP_VERSION: ${{github.ref}}
REACT_APP_DEFAULT_PRODUCER_LOGO: 'https://antelope.tools/images/telos.png'
REACT_APP_FOOTER_LINKS: '[{ "text": "Telos Website", "src": "https://telos.net/" },{ "text": "Telos Block Explorer", "src": "https://explorer-test.telos.net/" },{"text": "Developer Docs","src": "https://docs.telos.net/"},{"text": "Telos Network Monitor","src": "https://antelope.tools"}]'
REACT_APP_EOS_RATE_LINK: ''
REACT_APP_USE_REWARDS: 'true'
REACT_APP_USE_VOTES: 'true'
REACT_APP_HASURA_URL: 'https://graphql-telos-testnet.antelope.tools/v1/graphql'
REACT_APP_EOS_API_NETWORK_NAME: 'telos-testnet'
REACT_APP_EOS_API_NETWORK_LABEL: 'Telos Testnet'
REACT_APP_EOS_API_NETWORK_LOGO: 'https://antelope.tools/images/telos.png'
REACT_APP_EOS_API_HOSTS: '[\"testnet.telos.caleos.io\",\"telos-testnet.eosphere.io\",\"telostest.api.eosnation.io\"]'
REACT_APP_EOS_API_PORT: '443'
REACT_APP_EOS_API_PROTOCOL: 'https'
REACT_APP_EOS_CHAIN_ID: '1eaa0824707c8c16bd25145493bf062aecddfeb56c736f6ba6397f3195f33c9f'
REACT_APP_EOS_USE_BP_JSON_ON_CHAIN: 'false'
REACT_APP_EOS_BP_JSON_ON_CHAIN_CONTRACT: 'producerjson'
REACT_APP_EOS_BP_JSON_ON_CHAIN_TABLE: 'producerjson'
REACT_APP_EOS_BP_JSON_ON_CHAIN_SCOPE: 'producerjson'
REACT_APP_SYNC_TOLERANCE_INTERVAL: 180000
REACT_APP_TOKEN_SYMBOL: 'TLOS'
REACT_APP_NETWORK_URL: '[{"label":"EOS","value":"https://eos.antelope.tools","mainnet":true,"icon":"eos","order":5},{"label":"XPR Network","value":"https://xpr.antelope.tools","mainnet":true,"icon":"xpr","order":3},{"label":"WAX","value":"https://wax.antelope.tools","mainnet":true,"icon":"wax","order":4},{"label":"Telos","value":"https://telos.antelope.tools","mainnet":true,"icon":"telos","order":1},{"label":"Libre","value":"https://libre.antelope.tools","mainnet":true,"icon":"libre","order":2},{"label":"LACChain EOSIO","value":"https://lacchain.antelope.tools","mainnet":true,"icon":"lacchain","order":6},{"label":"Jungle4 Testnet","value":"https://jungle.antelope.tools","mainnet":false,"icon":"jungle","order":5},{"label":"XPR Testnet","value":"https://xpr-testnet.antelope.tools","mainnet":false,"icon":"xpr","order":3},{"label":"WAX Testnet","value":"https://wax-testnet.antelope.tools","mainnet":false,"icon":"wax","order":4},{"label":"Telos Testnet","value":"https://telos-testnet.antelope.tools","mainnet":false,"icon":"telos","order":1},{"label":"Libre Testnet","value":"https://libre-testnet.antelope.tools","mainnet":false,"icon":"libre","order":2},{"label":"Ultra Testnet","value":"https://ultra-testnet.antelope.tools","mainnet":false,"icon":"ultra","order":6}]'
REACT_APP_DISABLED_MENU_ITEMS: '["/missed-blocks", "/cpu-benchmark","/block-distribution","/stress-test"]'
REACT_APP_BLOCK_EXPLORER_URL: '{"url": "https://explorer-test.telos.net", "tx": "/transaction/(transaction)", "account": {"url":"/account/","abi":"?tab=contract&tab1=abi","actions":"?tab=contract&tab1=actions"}}'
REACT_APP_STATE_HISTORY_ENABLED=: 'false'
REACT_APP_GOOGLE_ANALITIC_PAGE_ID: 'G-E6Y0EC9FT8'
REACT_APP_PUBLIC_RE_CAPTCHA_KEY: ${{ secrets.REACT_APP_PUBLIC_RE_CAPTCHA_KEY }}
REACT_APP_EVM_ENDPOINT: 'https://testnet.telos.net/evm'
REACT_APP_EVM_BLOCK_EXPLORER_URL: 'https://testnet.teloscan.io/block/(block)'
REACT_APP_EVM_ENDPOINTS: '["https://testnet.telos.net/evm"]'
- name: Build and deploy kubernetes files
id: build_kubernetes_files
run: |
make \
build-kubernetes \
build-kubernetes-evm
env:
# general
NAMESPACE: telos-testnet-dashboard
INGRESS_HOST: telos-testnet.antelope.tools
INGRESS_GRAPHQL_HOST: graphql-telos-testnet.antelope.tools
# webapp
REACT_APP_EOS_API_NETWORK_NAME: telos-testnet
# postgres
POSTGRES_USER: ${{ secrets.POSTGRES_USER }}
POSTGRES_PASSWORD: ${{ secrets.POSTGRES_PASSWORD }}
POSTGRES_DB: ${{ secrets.POSTGRES_DB }}
POSTGRES_DATA: ${{ secrets.POSTGRES_DATA }}
# hapi
HAPI_EOS_API_NETWORK_NAME: telos
HAPI_EOS_API_ENDPOINTS: '["https://testnet.telos.caleos.io","https://telos-testnet.eosphere.io","https://telostest.api.eosnation.io"]'
HAPI_EOS_API_CHAIN_ID: 1eaa0824707c8c16bd25145493bf062aecddfeb56c736f6ba6397f3195f33c9f
HAPI_EOS_BASE_ACCOUNT: ${{ secrets.HAPI_EOS_BASE_ACCOUNT }}
HAPI_EOS_BASE_ACCOUNT_PASSWORD: ${{ secrets.HAPI_EOS_BASE_ACCOUNT_PASSWORD }}
HAPI_EOS_MECHANICS_ACCOUNT: ${{ secrets.HAPI_EOS_MECHANICS_ACCOUNT }}
HAPI_EOS_MECHANICS_PASSWORD: ${{ secrets.HAPI_EOS_MECHANICS_PASSWORD }}
HAPI_EOS_WALLET_URL: http://dashboard-wallet:8888
HAPI_EOS_BP_JSON_ON_CHAIN: 'false'
HAPI_EOS_BP_JSON_ON_CHAIN_CONTRACT: producerjson
HAPI_EOS_BP_JSON_ON_CHAIN_TABLE: producerjson
HAPI_EOS_BP_JSON_ON_CHAIN_SCOPE: producerjson
HAPI_HASURA_URL: 'http://dashboard-hasura:8080/v1/graphql'
HAPI_HASURA_ADMIN_SECRET: ${{ secrets.HAPI_HASURA_ADMIN_SECRET }}
HAPI_SERVER_PORT: '9090'
HAPI_SERVER_ADDRESS: '0.0.0.0'
HAPI_DATABASE_URL: ${{ secrets.HAPI_DATABASE_URL }}
HAPI_SYNC_PRODUCERS_INTERVAL: '14400'
HAPI_SYNC_PRODUCER_CPU_INTERVAL: '6'
HAPI_SYNC_PRODUCER_INFO_INTERVAL: '1'
HAPI_SYNC_SCHEDULE_HISTORY_INTERVAL: 86400
HAPI_EOS_EXCHANGE_RATE_API: 'https://api.coingecko.com/api/v3/simple/price?ids=telos&vs_currencies=usd'
HAPI_COINGECKO_API_TOKEN_ID: telos
HAPI_REWARDS_TOKEN: TLOS
# hapi-evm
HAPI_EVM_SERVER_PORT: '9090'
HAPI_EVM_SERVER_ADDRESS: '0.0.0.0'
HAPI_EVM_HASURA_URL: 'http://dashboard-hasura:8080/v1/graphql'
HAPI_EVM_HASURA_ADMIN_SECRET: ${{ secrets.HAPI_EVM_HASURA_ADMIN_SECRET }}
HAPI_EVM_DATABASE_URL: ${{ secrets.HAPI_EVM_DATABASE_URL }}
HAPI_EVM_ENDPOINT: 'https://testnet.telos.net/evm'
HAPI_EVM_API_ENDPOINTS: '["https://telos-testnet.edenia.cloud","https://telos-testnet.cryptolions.io","https://testnet.telos.eosrio.io","https://test.telos.eosusa.io"]'
HAPI_EVM_NETWORK: TELOS
HAPI_EVM_NETWORK_CHAIN_ID: 1eaa0824707c8c16bd25145493bf062aecddfeb56c736f6ba6397f3195f33c9f
HAPI_EVM_EOS_EVM_ACCOUNT: eosio.evm
HAPI_EVM_BLOCK_INTERVAL_SEC: 0.5
HAPI_EVM_OLD_BLOCK_INTERVAL_SEC: 0.1
HAPI_EVM_ATH_INTERVAL_SEC: 900
HAPI_EVM_CLEAN_OLD_BLOCK_INTERVAL_SEC: 86400
HAPI_EVM_CLEAN_OLD_TRANSFER_INTERVAL_SEC: 86400
HAPI_EVM_KEEP_HISTORY_FOR_YEARS: 1
HAPI_EVM_HYPERION_API: https://test.telos.eosusa.io
HAPI_EVM_HYPERION_START_AT: 2021-06-02T00:00:00.000+00:00
# hasura
HASURA_GRAPHQL_ENABLE_CONSOLE: 'true'
HASURA_GRAPHQL_DATABASE_URL: ${{ secrets.HASURA_GRAPHQL_DATABASE_URL }}
HASURA_GRAPHQL_ADMIN_SECRET: ${{ secrets.HASURA_GRAPHQL_ADMIN_SECRET }}
HASURA_GRAPHQL_UNAUTHORIZED_ROLE: guest
HASURA_GRAPHQL_ACTION_BASE_URL: http://dashboard-hapi:9090
HASURA_GRAPHQL_ACTION_EVM_URL: http://dashboard-hapi-evm:9091
- name: Setup and deploy kubernetes environment
uses: steebchen/[email protected]
env:
KUBE_CONFIG_DATA: ${{ secrets.KUBE_CONFIG_DATA }}
NAMESPACE: telos-testnet-dashboard
K8S_BUILD_DIR: build_k8s
with:
args: version && make deploy-kubernetes