Skip to content
This repository has been archived by the owner on Nov 6, 2023. It is now read-only.

GCP registry

GCP registry #23

name: Docker-Staging
on:
pull_request:
push:
branches:
- chains/desmos
jobs:
Build-and-Publish:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v2
- name: Prepare tags
id: prep
run: |
BRANCH=${GITHUB_REF#refs/heads/}
if [[ $GITHUB_REF == refs/heads/chains/desmos ]]; then
BRANCH="desmos"
elif [[ $GITHUB_REF == refs/pull/* ]]; then
BRANCH="build-test"
fi
echo ::set-output name=created::$(date -u +'%Y-%m-%dT%H:%M:%SZ')
echo ::set-output name=branch::${BRANCH}
- name: Prepare docker build env
id: dockerPrep
run: |
NEXT_PUBLIC_GRAPHQL_URL="https://gql.morpheus.desmos.network/v1/graphql"
NEXT_PUBLIC_GRAPHQL_WS="wss://gql.morpheus.desmos.network/v1/graphql"
NEXT_PUBLIC_RPC_WEBSOCKET="wss://rpc.morpheus.desmos.network/websocket"
NEXT_PUBLIC_CHAIN_TYPE="mainnet"
NODE_ENV="production"
PORT=3000
NEXT_PUBLIC_BLOCK_TOSTER_INTERVAL_INS=300
echo ::set-output name=NEXT_PUBLIC_GRAPHQL_URL::${NEXT_PUBLIC_GRAPHQL_URL}
echo ::set-output name=NEXT_PUBLIC_GRAPHQL_WS::${NEXT_PUBLIC_GRAPHQL_WS}
echo ::set-output name=NEXT_PUBLIC_RPC_WEBSOCKET::${NEXT_PUBLIC_RPC_WEBSOCKET}
echo ::set-output name=NEXT_PUBLIC_CHAIN_TYPE::${NEXT_PUBLIC_CHAIN_TYPE}
echo ::set-output name=NODE_ENV::${NODE_ENV}
echo ::set-output name=PORT::${PORT}
echo ::set-output name=NEXT_PUBLIC_BLOCK_TOSTER_INTERVAL_INS::${NEXT_PUBLIC_BLOCK_TOSTER_INTERVAL_INS}
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v1
- name: Login to DockerHub
if: github.event_name != 'pull_request'
uses: docker/login-action@v1
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
- name: Build and push
uses: docker/build-push-action@v2
with:
context: .
file: ./Dockerfile
push: ${{ github.event_name != 'pull_request' }}
build-args: |
"NEXT_PUBLIC_GRAPHQL_URL=${{ steps.dockerPrep.outputs.NEXT_PUBLIC_GRAPHQL_URL }}"
"NEXT_PUBLIC_GRAPHQL_WS=${{ steps.dockerPrep.outputs.NEXT_PUBLIC_GRAPHQL_WS }}"
"NEXT_PUBLIC_RPC_WEBSOCKET=${{ steps.dockerPrep.outputs.NEXT_PUBLIC_RPC_WEBSOCKET }}"
"NEXT_PUBLIC_CHAIN_TYPE=${{ steps.dockerPrep.outputs.NEXT_PUBLIC_CHAIN_TYPE }}"
"NODE_ENV=${{ steps.dockerPrep.outputs.NODE_ENV }}"
"PORT=${{ steps.dockerPrep.outputs.PORT }}"
"NEXT_PUBLIC_BLOCK_TOSTER_INTERVAL_INS=${{ steps.dockerPrep.outputs.NEXT_PUBLIC_BLOCK_TOSTER_INTERVAL_INS }}"
tags: "forbole/big-dipper-2.0-cosmos:${{ steps.prep.outputs.branch }}-staging"
labels: |
org.opencontainers.image.source=${{ github.event.repository.html_url }}
org.opencontainers.image.created=${{ steps.prep.outputs.created }}
org.opencontainers.image.revision=${{ github.sha }}