mirror of
https://github.com/SigNoz/signoz.git
synced 2026-02-03 08:33:26 +00:00
### Summary - publish signoz images to multiple registry using primus - deprecate old build workflow --------- Signed-off-by: Prashant Shahi <prashant@signoz.io>
81 lines
3.4 KiB
YAML
81 lines
3.4 KiB
YAML
name: build-enterprise
|
|
|
|
on:
|
|
push:
|
|
branches:
|
|
- main
|
|
tags:
|
|
- v*
|
|
|
|
jobs:
|
|
prepare:
|
|
runs-on: ubuntu-latest
|
|
outputs:
|
|
docker_providers: ${{ steps.set-docker-providers.outputs.providers }}
|
|
steps:
|
|
- name: set-docker-providers
|
|
id: set-docker-providers
|
|
run: |
|
|
if [[ ${{ github.event.ref }} =~ ^refs/tags/v[0-9]+\.[0-9]+\.[0-9]+$ || ${{ github.event.ref }} =~ ^refs/tags/v[0-9]+\.[0-9]+\.[0-9]+-rc\.[0-9]+$ ]]; then
|
|
echo "providers=dockerhub gcp" >> $GITHUB_OUTPUT
|
|
else
|
|
echo "providers=gcp" >> $GITHUB_OUTPUT
|
|
fi
|
|
- name: create-dotenv
|
|
run: |
|
|
mkdir -p frontend
|
|
echo 'CI=1' > frontend/.env
|
|
echo 'INTERCOM_APP_ID="${{ secrets.INTERCOM_APP_ID }}"' >> frontend/.env
|
|
echo 'SEGMENT_ID="${{ secrets.SEGMENT_ID }}"' >> frontend/.env
|
|
echo 'SENTRY_AUTH_TOKEN="${{ secrets.SENTRY_AUTH_TOKEN }}"' >> frontend/.env
|
|
echo 'SENTRY_ORG="${{ secrets.SENTRY_ORG }}"' >> frontend/.env
|
|
echo 'SENTRY_PROJECT_ID="${{ secrets.SENTRY_PROJECT_ID }}"' >> frontend/.env
|
|
echo 'SENTRY_DSN="${{ secrets.SENTRY_DSN }}"' >> frontend/.env
|
|
echo 'TUNNEL_URL="${{ secrets.TUNNEL_URL }}"' >> frontend/.env
|
|
echo 'TUNNEL_DOMAIN="${{ secrets.TUNNEL_DOMAIN }}"' >> frontend/.env
|
|
echo 'POSTHOG_KEY="${{ secrets.POSTHOG_KEY }}"' >> frontend/.env
|
|
echo 'CUSTOMERIO_ID="${{ secrets.CUSTOMERIO_ID }}"' >> frontend/.env
|
|
echo 'CUSTOMERIO_SITE_ID="${{ secrets.CUSTOMERIO_SITE_ID }}"' >> frontend/.env
|
|
- name: cache-dotenv
|
|
uses: actions/cache@v4
|
|
with:
|
|
path: frontend/.env
|
|
key: enterprise-dotenv-${{ github.sha }}
|
|
js-build:
|
|
uses: signoz/primus.workflows/.github/workflows/js-build.yaml@main
|
|
needs: prepare
|
|
secrets: inherit
|
|
with:
|
|
PRIMUS_REF: main
|
|
JS_SRC: frontend
|
|
JS_INPUT_ARTIFACT_CACHE_KEY: enterprise-dotenv-${{ github.sha }}
|
|
JS_INPUT_ARTIFACT_PATH: frontend/.env
|
|
JS_OUTPUT_ARTIFACT_CACHE_KEY: enterprise-jsbuild-${{ github.sha }}
|
|
JS_OUTPUT_ARTIFACT_PATH: frontend/build
|
|
DOCKER_BUILD: false
|
|
DOCKER_MANIFEST: false
|
|
go-build:
|
|
uses: signoz/primus.workflows/.github/workflows/go-build.yaml@main
|
|
needs: [prepare, js-build]
|
|
secrets: inherit
|
|
with:
|
|
PRIMUS_REF: main
|
|
GO_INPUT_ARTIFACT_CACHE_KEY: enterprise-jsbuild-${{ github.sha }}
|
|
GO_INPUT_ARTIFACT_PATH: frontend/build
|
|
GO_BUILD_CONTEXT: ./ee/query-service
|
|
GO_BUILD_FLAGS: >-
|
|
-tags timetzdata
|
|
-ldflags='-linkmode external -extldflags \"-static\" -s -w
|
|
-X github.com/signoz/zeus/pkg/version.Version=\$($MAKE info-version)
|
|
-X github.com/signoz/zeus/pkg/version.variant=enterprise
|
|
-X github.com/signoz/zeus/pkg/version.hash=\$($MAKE info-commit-short)
|
|
-X github.com/signoz/zeus/pkg/version.time=\$($MAKE info-timestamp)
|
|
-X github.com/signoz/zeus/pkg/version.branch=\$($MAKE info-branch)
|
|
-X github.com/signoz/zeus/ee/query-service/constants.ZeusURL=https://api.signoz.cloud
|
|
-X github.com/signoz/zeus/ee/query-service/constants.LicenseSignozIo=https://license.signoz.io/api/v1'
|
|
GO_CGO_ENABLED: 1
|
|
DOCKER_BASE_IMAGES: '{"alpine": "alpine:3.20.3"}'
|
|
DOCKER_DOCKERFILE_PATH: ./ee/query-service/Dockerfile.multi-arch
|
|
DOCKER_MANIFEST: true
|
|
DOCKER_PROVIDERS: ${{ needs.prepare.outputs.docker_providers }}
|