Skip to content

Adding previous and current mentorship records (#3983) #815

Adding previous and current mentorship records (#3983)

Adding previous and current mentorship records (#3983) #815

Workflow file for this run

name: push-pipeline
on:
push:
branches:
- master
- ^v[0-9]*.[0-9]*.x$
tags:
- "*"
defaults:
run:
working-directory: litmus-portal
shell: bash
jobs:
backend-checks:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v2
- uses: actions/setup-go@v2
with:
go-version: "1.16" # By default, the go version is v1.15 in runner.
- run: |
make backend-services-checks
frontend-checks:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v2
- uses: actions/setup-node@v3
with:
node-version: 16.14.2
- run: |
make frontend-services-checks
get-envs:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v2
- run: |
img_tag=""
array=(`echo ${GITHUB_REF} | sed 's/\//\n/g'`)
if [ ${array[1]} == "tags" ]
then
echo "tag build"
img_tag=${GITHUB_REF#refs/*/}
else
echo "non tag build"
img_tag="ci"
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 GRAPHQL_SERVER_IMAGE="litmusportal-server" >> env-vars
echo export AUTHENTICATION_SERVER_IMAGE="litmusportal-auth-server" >> env-vars
echo export FRONTEND_IMAGE="litmusportal-frontend" >> env-vars
echo export SUBSCRIBER_IMAGE="litmusportal-subscriber" >> env-vars
echo export EVENT_TRACKER="litmusportal-event-tracker" >> env-vars
echo export UPGRADE_AGENT_CP="upgrade-agent-cp" >> env-vars
echo export DEX_SERVER="litmusportal-dex-server" >> env-vars
- name: Uploading envs
uses: actions/upload-artifact@v2
with:
name: env_artifact
path: litmus-portal/env-vars
docker-build-and-push-graphql-server:
runs-on: ubuntu-latest
needs:
- get-envs
- backend-checks
steps:
- name: Checkout code
uses: actions/checkout@v2
- name: Downloading image artficate
uses: actions/download-artifact@v2
with:
name: env_artifact
path: litmus-portal
- 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: Push graphql server docker image
env:
IMAGE_NAME: ${GRAPHQL_SERVER_IMAGE}
IMG_TAG: ${IMG_TAG}
PLATFORMS: ${{ secrets.PLATFORMS }}
REPONAME: ${{ secrets.REPONAME }}
DIRECTORY: "graphql-server"
run: |
source env-vars
make push-portal-component
docker-build-and-push-authentication-server:
runs-on: ubuntu-latest
needs:
- get-envs
- backend-checks
steps:
- name: Checkout code
uses: actions/checkout@v2
- name: Downloading image artficate
uses: actions/download-artifact@v2
with:
name: env_artifact
path: litmus-portal
- 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: Push auth server docker image
env:
IMAGE_NAME: ${AUTHENTICATION_SERVER_IMAGE}
IMG_TAG: ${IMG_TAG}
PLATFORMS: ${{ secrets.PLATFORMS }}
REPONAME: ${{ secrets.REPONAME }}
DIRECTORY: "authentication"
run: |
source env-vars
make push-portal-component
docker-build-and-push-subscriber:
runs-on: ubuntu-latest
needs:
- get-envs
- backend-checks
steps:
- name: Checkout code
uses: actions/checkout@v2
- name: Downloading image artficate
uses: actions/download-artifact@v2
with:
name: env_artifact
path: litmus-portal
- 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: Push subscriber docker image
env:
IMAGE_NAME: ${SUBSCRIBER_IMAGE}
IMG_TAG: ${IMG_TAG}
PLATFORMS: ${{ secrets.PLATFORMS }}
REPONAME: ${{ secrets.REPONAME }}
DIRECTORY: "cluster-agents/subscriber/"
run: |
source env-vars
make push-portal-component
docker-build-and-push-event-tracker:
runs-on: ubuntu-latest
needs:
- get-envs
- backend-checks
steps:
- name: Checkout code
uses: actions/checkout@v2
- name: Downloading image artficate
uses: actions/download-artifact@v2
with:
name: env_artifact
path: litmus-portal
- 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: Push event tracker docker image
env:
IMAGE_NAME: ${EVENT_TRACKER}
IMG_TAG: ${IMG_TAG}
PLATFORMS: ${{ secrets.PLATFORMS }}
REPONAME: ${{ secrets.REPONAME }}
DIRECTORY: "cluster-agents/event-tracker/"
run: |
source env-vars
make push-portal-component
docker-build-and-push-upgrade-agent-cp:
runs-on: ubuntu-latest
needs:
- get-envs
- backend-checks
steps:
- name: Checkout code
uses: actions/checkout@v2
- name: Downloading image artficate
uses: actions/download-artifact@v2
with:
name: env_artifact
path: litmus-portal
- 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: Push control plane upgrade agent docker image
env:
IMAGE_NAME: ${UPGRADE_AGENT_CP}
IMG_TAG: ${IMG_TAG}
PLATFORMS: ${{ secrets.PLATFORMS }}
REPONAME: ${{ secrets.REPONAME }}
DIRECTORY: "upgrade-agents/control-plane/"
run: |
source env-vars
make push-portal-component
## TODO: the build time for multiarch frontend image is higher so it is used in the release
## builds only need to optimize the build duration and also add it with ci tag
## Build and push / base path
docker-build-and-push-frontend:
runs-on: ubuntu-latest
strategy:
matrix:
frontend:
[
{ "image_name": "litmusportal-frontend", "path": "" },
{
"image_name": "litmusportal-frontend-path-litmuschaos",
"path": "/litmuschaos",
},
]
needs:
- get-envs
- frontend-checks
steps:
- name: Checkout code
uses: actions/checkout@v2
- name: Downloading image artficate
uses: actions/download-artifact@v2
with:
name: env_artifact
path: litmus-portal
- 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: Push frontend docker image ( ${{ matrix.frontend.image_name }} )
env:
IMG_TAG: ${IMG_TAG}
PLATFORMS: ${{ secrets.PLATFORMS }}
REPONAME: ${{ secrets.REPONAME }}
timestamp: ${timestamp}
PUBLIC_URL: ${{ matrix.frontend.path }}
run: |
source env-vars
FRONTEND_IMAGE=${{ matrix.frontend.image_name }}
timestamp=`date "+%s"`
make push-frontend
docker-build-and-push-dex-server:
runs-on: ubuntu-latest
needs:
- get-envs
- backend-checks
steps:
- name: Checkout code
uses: actions/checkout@v2
- name: Downloading image artficate
uses: actions/download-artifact@v2
with:
name: env_artifact
path: litmus-portal
- 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: Push dex server docker image
env:
IMAGE_NAME: ${DEX_SERVER}
IMG_TAG: ${IMG_TAG}
PLATFORMS: ${{ secrets.PLATFORMS }}
REPONAME: ${{ secrets.REPONAME }}
DIRECTORY: "dex-server"
run: |
source env-vars
make push-portal-component