feat(frontend): add flag to toggle the analytics page (#3122) #1072
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: Deploy main | |
concurrency: | |
group: "deploy-main" | |
cancel-in-progress: true | |
on: | |
push: | |
branches: [ main ] | |
paths-ignore: | |
- 'docs/**' | |
- 'cli/**' | |
# manual trigger | |
workflow_dispatch: | |
jobs: | |
backend-arch-graph: | |
name: Generate backend architecture graph | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
fetch-depth: 0 | |
- name: Setup go | |
uses: actions/setup-go@v3 | |
with: | |
go-version-file: 'go.work' | |
cache: true | |
cache-dependency-path: go.work | |
- name: install graph tool | |
run: | | |
mkdir /tmp/go-arch | |
cd /tmp/go-arch | |
curl -SLO https://github.com/mathnogueira/golang-arch-viewer/archive/refs/heads/master.zip | |
unzip master.zip | |
cd golang-arch-viewer-master | |
make | |
mv dist/go-arch /tmp/go-arch/go-arch | |
- name: generate graph | |
run: | | |
cd server | |
mkdir -p ../dist/ | |
/tmp/go-arch/go-arch -o ../dist/architecture.png | |
- name: Upload assets | |
uses: actions/upload-artifact@v3 | |
with: | |
name: architecture-graph | |
path: dist/architecture.png | |
build-web: | |
name: build web | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3 | |
- name: Setup node | |
uses: actions/setup-node@v3 | |
with: | |
node-version: 16 | |
cache: npm | |
cache-dependency-path: web/package-lock.json | |
- name: Cache Build | |
id: cache-build | |
uses: actions/cache@v3 | |
with: | |
path: web/build/ | |
key: web-build-${{ hashFiles('web/*') }} | |
- run: cd web; npm ci | |
if: steps.cache-build.outputs.cache-hit != 'true' | |
- run: cd web; CI= npm run build | |
if: steps.cache-build.outputs.cache-hit != 'true' | |
- name: Upload assets | |
uses: actions/upload-artifact@v3 | |
with: | |
name: tracetest-web | |
path: web/build/ | |
prepare-go: | |
needs: [build-web] | |
strategy: | |
matrix: | |
GOOS: [linux, windows, darwin] | |
runs-on: ubuntu-latest | |
env: | |
DOCKER_CLI_EXPERIMENTAL: "enabled" | |
GORELEASER_KEY: ${{ secrets.GORELEASER_LICENSE }} | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
fetch-depth: 0 | |
- uses: docker/setup-qemu-action@v2 | |
- uses: docker/setup-buildx-action@v2 | |
- name: Login to DockerHub | |
uses: docker/login-action@v2 | |
if: github.event_name != 'pull_request' | |
with: | |
username: ${{ secrets.DOCKERHUB_USERNAME }} | |
password: ${{ secrets.DOCKERHUB_TOKEN }} | |
- name: Setup go | |
uses: actions/setup-go@v3 | |
with: | |
go-version-file: 'go.work' | |
cache: true | |
cache-dependency-path: go.work | |
- shell: bash | |
run: | | |
echo "sha_short=$(git rev-parse --short=8 $GITHUB_SHA)" >> $GITHUB_ENV | |
- id: cache | |
uses: actions/cache@v3 | |
with: | |
path: dist/${{ matrix.GOOS }} | |
key: ${{ matrix.GOOS }}-${{ env.sha_short }} | |
- uses: actions/download-artifact@v3 | |
if: steps.cache.outputs.cache-hit != 'true' | |
with: | |
name: tracetest-web | |
path: web/build/ | |
- uses: goreleaser/goreleaser-action@v4 | |
if: steps.cache.outputs.cache-hit != 'true' | |
with: | |
distribution: goreleaser-pro | |
version: v1.19.2 | |
args: release --clean --split --nightly | |
env: | |
GOOS: ${{ matrix.GOOS }} | |
VERSION: sha-${{ env.sha_short }} | |
TRACETEST_ENV: main | |
ANALYTICS_FE_KEY: ${{ secrets.ANALYTICS_FE_KEY }} | |
ANALYTICS_BE_KEY: ${{ secrets.ANALYTICS_BE_KEY }} | |
- name: Upload assets | |
uses: actions/upload-artifact@v3 | |
with: | |
name: dist-${{ matrix.GOOS }} | |
path: dist/${{ matrix.GOOS }} | |
release: | |
runs-on: ubuntu-latest | |
needs: [prepare-go, build-web] | |
env: | |
DOCKER_CLI_EXPERIMENTAL: "enabled" | |
GORELEASER_KEY: ${{ secrets.GORELEASER_LICENSE }} | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
FURY_TOKEN: ${{ secrets.FURY_TOKEN }} | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
fetch-depth: 0 | |
- uses: docker/setup-qemu-action@v2 | |
- uses: docker/setup-buildx-action@v2 | |
- name: Login to DockerHub | |
uses: docker/login-action@v2 | |
if: github.event_name != 'pull_request' | |
with: | |
username: ${{ secrets.DOCKERHUB_USERNAME }} | |
password: ${{ secrets.DOCKERHUB_TOKEN }} | |
- name: Setup go | |
uses: actions/setup-go@v3 | |
with: | |
go-version-file: 'go.work' | |
cache: true | |
cache-dependency-path: go.work | |
- shell: bash | |
run: | | |
echo "sha_short=$(git rev-parse --short=8 $GITHUB_SHA)" >> $GITHUB_ENV | |
- uses: actions/download-artifact@v3 | |
with: | |
path: dist/linux | |
name: dist-linux | |
- uses: actions/download-artifact@v3 | |
with: | |
path: dist/darwin | |
name: dist-darwin | |
- uses: actions/download-artifact@v3 | |
with: | |
path: dist/windows | |
name: dist-windows | |
- uses: actions/download-artifact@v3 | |
with: | |
name: tracetest-web | |
path: web/build/ | |
- uses: actions/download-artifact@v3 | |
with: | |
name: architecture-graph | |
path: dist/architecture.png | |
- uses: goreleaser/goreleaser-action@v4 | |
if: steps.cache.outputs.cache-hit != 'true' | |
with: | |
distribution: goreleaser-pro | |
version: v1.19.2 | |
args: continue --merge | |
env: | |
VERSION: sha-${{ env.sha_short }} | |
TRACETEST_ENV: main | |
ANALYTICS_FE_KEY: ${{ secrets.ANALYTICS_FE_KEY }} | |
ANALYTICS_BE_KEY: ${{ secrets.ANALYTICS_BE_KEY }} | |
deploy-beta: | |
if: github.event_name == 'push' | |
needs: release | |
name: Deploy Beta | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3 | |
- uses: google-github-actions/setup-gcloud@94337306dda8180d967a56932ceb4ddcf01edae7 | |
with: | |
service_account_key: ${{ secrets.GKE_SA_KEY }} | |
project_id: ${{ secrets.GKE_PROJECT }} | |
- run: |- | |
gcloud --quiet auth configure-docker | |
- uses: google-github-actions/get-gke-credentials@fb08709ba27618c31c09e014e1d8364b02e5042e | |
with: | |
cluster_name: ${{ secrets.GKE_CLUSTER }} | |
location: ${{ secrets.GKE_ZONE }} | |
credentials: ${{ secrets.GKE_SA_KEY }} | |
- name: Deploy | |
run: | | |
TAG=sha-$(git rev-parse --short=8 $GITHUB_SHA) \ | |
NAME=tracetest-beta \ | |
CONFIG_FILE=./k8s/tracetest.beta.yaml \ | |
EXPOSE_HOST=beta.tracetest.io \ | |
CERT_NAME=tracetest-beta \ | |
BACKEND_CONFIG=tracetest-beta \ | |
./k8s/deploy.sh | |
deploy-integration: | |
if: github.event_name == 'push' | |
needs: release | |
name: Deploy Integration | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3 | |
- uses: google-github-actions/setup-gcloud@94337306dda8180d967a56932ceb4ddcf01edae7 | |
with: | |
service_account_key: ${{ secrets.GKE_SA_KEY }} | |
project_id: ${{ secrets.GKE_PROJECT }} | |
- run: |- | |
gcloud --quiet auth configure-docker | |
- uses: google-github-actions/get-gke-credentials@fb08709ba27618c31c09e014e1d8364b02e5042e | |
with: | |
cluster_name: ${{ secrets.GKE_CLUSTER }} | |
location: ${{ secrets.GKE_ZONE }} | |
credentials: ${{ secrets.GKE_SA_KEY }} | |
- name: Deploy | |
run: | | |
TAG=sha-$(git rev-parse --short=8 $GITHUB_SHA) \ | |
NAME=tracetest-integration \ | |
CONFIG_FILE=./k8s/tracetest.integration.yaml \ | |
./k8s/deploy.sh |