mirror of
https://github.com/SigNoz/signoz.git
synced 2025-12-26 03:50:31 +00:00
173 lines
5.0 KiB
YAML
173 lines
5.0 KiB
YAML
name: push-pipeline
|
|
on:
|
|
push:
|
|
branches:
|
|
- main
|
|
- ^v[0-9]*.[0-9]*.x$
|
|
tags:
|
|
- "*"
|
|
# pull_request:
|
|
# branches:
|
|
# - main
|
|
# - v*
|
|
# paths:
|
|
# - 'pkg/**'
|
|
# - 'frontend/**'
|
|
jobs:
|
|
get-envs:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Checkout repository
|
|
uses: actions/checkout@v2
|
|
- shell: bash
|
|
run: |
|
|
img_tag=""
|
|
array=(`echo ${GITHUB_REF} | sed 's/\//\n/g'`)
|
|
if [ ${array[1]} == "tags" ]
|
|
then
|
|
echo "tag build"
|
|
img_tag=${GITHUB_REF#refs/*/v}
|
|
elif [ ${array[1]} == "pull" ]
|
|
then
|
|
img_tag="pull-${{ github.event.number }}"
|
|
else
|
|
echo "non tag build"
|
|
img_tag="latest"
|
|
fi
|
|
# This is a condition where image tag looks like "pull/<pullrequest-name>" during pull request build
|
|
NEW_IMG_TAG=`echo $img_tag | sed "s/\//-/g"`
|
|
echo $NEW_IMG_TAG
|
|
echo export IMG_TAG=$NEW_IMG_TAG >> env-vars
|
|
echo export FRONTEND_IMAGE="frontend" >> env-vars
|
|
echo export QUERY_SERVICE="query-service" >> env-vars
|
|
echo export FLATTENER_PROCESSOR="flattener-processor" >> env-vars
|
|
|
|
- name: Uploading envs
|
|
uses: actions/upload-artifact@v2
|
|
with:
|
|
name: env_artifact
|
|
path: env-vars
|
|
|
|
build-and-push-frontend:
|
|
runs-on: ubuntu-latest
|
|
needs:
|
|
- get-envs
|
|
steps:
|
|
- name: Checkout code
|
|
uses: actions/checkout@v2
|
|
|
|
- name: Downloading image artifact
|
|
uses: actions/download-artifact@v2
|
|
with:
|
|
name: env_artifact
|
|
|
|
- name: Set up Docker Buildx
|
|
id: buildx
|
|
uses: docker/setup-buildx-action@v1
|
|
with:
|
|
version: latest
|
|
|
|
- name: Login to DockerHub
|
|
uses: docker/login-action@v1
|
|
with:
|
|
username: ${{ secrets.DOCKERHUB_USERNAME }}
|
|
password: ${{ secrets.DOCKERHUB_TOKEN }}
|
|
|
|
- name: Build & Push Frontend Docker Image
|
|
shell: bash
|
|
env:
|
|
FRONTEND_DIRECTORY: "frontend"
|
|
REPONAME: ${{ secrets.REPONAME }}
|
|
FRONTEND_DOCKER_IMAGE: ${FRONTEND_IMAGE}
|
|
DOCKER_TAG: ${IMG_TAG}
|
|
run: |
|
|
branch=${GITHUB_REF#refs/*/}
|
|
array=(`echo ${GITHUB_REF} | sed 's/\//\n/g'`)
|
|
if [ $branch == "main" ] || [ ${array[1]} == "tags" ] || [ ${array[1]} == "pull" ] || [[ $branch =~ ^v[0-9]*.[0-9]*.x$ ]]
|
|
then
|
|
source env-vars
|
|
make build-push-frontend
|
|
fi
|
|
|
|
build-and-push-query-service:
|
|
runs-on: ubuntu-latest
|
|
needs:
|
|
- get-envs
|
|
steps:
|
|
- name: Checkout code
|
|
uses: actions/checkout@v2
|
|
|
|
- name: Downloading image artifact
|
|
uses: actions/download-artifact@v2
|
|
with:
|
|
name: env_artifact
|
|
|
|
- name: Set up Docker Buildx
|
|
id: buildx
|
|
uses: docker/setup-buildx-action@v1
|
|
with:
|
|
version: latest
|
|
|
|
- name: Login to DockerHub
|
|
uses: docker/login-action@v1
|
|
with:
|
|
username: ${{ secrets.DOCKERHUB_USERNAME }}
|
|
password: ${{ secrets.DOCKERHUB_TOKEN }}
|
|
|
|
- name: Build & Push Query Service Docker Image
|
|
shell: bash
|
|
env:
|
|
QUERY_SERVICE_DIRECTORY: "pkg/query-service"
|
|
REPONAME: ${{ secrets.REPONAME }}
|
|
QUERY_SERVICE_DOCKER_IMAGE: ${QUERY_SERVICE}
|
|
DOCKER_TAG: ${IMG_TAG}
|
|
run: |
|
|
branch=${GITHUB_REF#refs/*/}
|
|
array=(`echo ${GITHUB_REF} | sed 's/\//\n/g'`)
|
|
if [ $branch == "main" ] || [ ${array[1]} == "tags" ] || [ ${array[1]} == "pull" ] ||[[ $branch =~ ^v[0-9]*.[0-9]*.x$ ]]
|
|
then
|
|
source env-vars
|
|
make build-push-query-service
|
|
fi
|
|
|
|
build-and-push-flattener:
|
|
runs-on: ubuntu-latest
|
|
needs:
|
|
- get-envs
|
|
steps:
|
|
- name: Checkout code
|
|
uses: actions/checkout@v2
|
|
|
|
- name: Downloading image artifact
|
|
uses: actions/download-artifact@v2
|
|
with:
|
|
name: env_artifact
|
|
|
|
- name: Set up Docker Buildx
|
|
id: buildx
|
|
uses: docker/setup-buildx-action@v1
|
|
with:
|
|
version: latest
|
|
|
|
- name: Login to DockerHub
|
|
uses: docker/login-action@v1
|
|
with:
|
|
username: ${{ secrets.DOCKERHUB_USERNAME }}
|
|
password: ${{ secrets.DOCKERHUB_TOKEN }}
|
|
|
|
- name: Build & Push Flattener Processor Docker Image
|
|
shell: bash
|
|
env:
|
|
FLATTENER_DIRECTORY: "pkg/processors/flattener"
|
|
REPONAME: ${{ secrets.REPONAME }}
|
|
FLATTERNER_DOCKER_IMAGE: ${FLATTENER_PROCESSOR}
|
|
DOCKER_TAG: ${IMG_TAG}
|
|
run: |
|
|
branch=${GITHUB_REF#refs/*/}
|
|
array=(`echo ${GITHUB_REF} | sed 's/\//\n/g'`)
|
|
if [ $branch == "main" ] || [ ${array[1]} == "tags" ] || [ ${array[1]} == "pull" ] || [[ $branch =~ ^v[0-9]*.[0-9]*.x$ ]]
|
|
then
|
|
source env-vars
|
|
make build-push-flattener
|
|
fi
|