Skip to content
This repository has been archived by the owner on Mar 4, 2024. It is now read-only.

Commit

Permalink
u
Browse files Browse the repository at this point in the history
  • Loading branch information
oksana-grishchenko committed Sep 20, 2023
1 parent 7b87856 commit 355e841
Showing 1 changed file with 81 additions and 170 deletions.
251 changes: 81 additions & 170 deletions .github/workflows/rc.yml
Original file line number Diff line number Diff line change
@@ -1,185 +1,96 @@
name: Build and push RC image

on:
workflow_dispatch:
inputs:
version:
description: The release version in v*.*.* format
required: true
push:
branches:
- release-[0-9]+.[0-9]+.[0-9]+*
- EVEREST-428-rc-pipeline # <-- DELETE ME before merge

jobs:
build:
runs-on: ubuntu-latest
env:
#VERSION: ${{ github.event.inputs.version }} # <-- UNCOMMENT ME before merge
VERSION: v100.100.100 # <-- DELETE ME before merge
RC_BRANCH: ''
VERSION: ''
RELEASE_BRANCH_NAME: ''
steps:
- name: Validate input
- name: Extract branch name
run: |
echo $RC_BRANCH
if [[ ! $VERSION =~ ^v[0-9]+\.[0-9]+\.[0-9]+$ ]]; then
echo "Wrong version format provided, please use v*.*.* format"
exit 1
fi
- name: Define release branch name in the format "release-*.*.*"
run: |
echo "RC_BRANCH=release-${VERSION#v}" >> $GITHUB_ENV
- name: Configure git for private modules
env:
ROBOT_TOKEN: ${{ secrets.ROBOT_TOKEN }}
run: git config --global url."https://percona-platform-robot:${ROBOT_TOKEN}@github.com".insteadOf "https://github.com"

- name: Check out Everest CLI
uses: actions/checkout@v4
with:
repository: percona/percona-everest-cli
ref: 'main'
path: percona-everest-cli
token: ${{ secrets.ROBOT_TOKEN }}

- name: Check out Everest CLI RC-branch
run: |
cd percona-everest-cli
# Check if the branch already exists
git fetch
check_branch=$(git ls-remote --heads origin ${RC_BRANCH})
if [[ -z ${check_branch} ]]; then
git checkout -b $RC_BRANCH
# git push origin $RC_BRANCH <--- UNCOMMENT ME once the permission granted to ROBOT_TOKEN
fi
- name: Check out Everest catalog
uses: actions/checkout@v4
with:
repository: percona/everest-catalog
ref: 'main'
path: everest-catalog
token: ${{ secrets.ROBOT_TOKEN }}

- name: Check out Everest catalog RC-branch
run: |
cd everest-catalog
# Check if the branch already exists
git fetch
check_branch=$(git ls-remote --heads origin ${RC_BRANCH})
if [[ -z ${check_branch} ]]; then
git checkout -b $RC_BRANCH
# git push origin $RC_BRANCH <--- UNCOMMENT ME once the permission granted to ROBOT_TOKEN
fi
echo "RELEASE_BRANCH_NAME=v${GITHUB_REF##*/}#release-" >> $GITHUB_ENV
echo $RELEASE_BRANCH_NAME
- name: Check out Everest frontend
uses: actions/checkout@v4
with:
repository: percona/percona-everest-frontend
ref: 'main'
path: percona-everest-frontend
token: ${{ secrets.ROBOT_TOKEN }}

- name: Check out Everest Frontend RC-branch
- name: Extract version from the branch name
run: |
cd percona-everest-frontend
# Check if the branch already exists
git fetch
check_branch=$(git ls-remote --heads origin ${RC_BRANCH})
if [[ -z ${check_branch} ]]; then
git checkout -b $RC_BRANCH
# git push origin $RC_BRANCH <--- UNCOMMENT ME once the permission granted to ROBOT_TOKEN
else
git checkout $RC_BRANCH
fi
- name: Run with Node 16
uses: actions/setup-node@v3
with:
node-version: ${{ matrix.node-version }}

- name: Install Bit Version Manager
run: npm i -g @teambit/bvm

- name: Install latest Bit version
run: bvm install 0.2.3

- name: Add bvm bin folder to path
run: echo "$HOME/bin" >> $GITHUB_PATH

- name: Set up bit config
env:
BIT_TOKEN: ${{ secrets.BIT_TOKEN }}
run: bit config set user.token $BIT_TOKEN

- name: Build Everest Frontend app
run: |
cd ${GITHUB_WORKSPACE}/percona-everest-frontend
bit install --recurring-install
bit snap
bit artifacts percona.apps/everest --out-dir build
mkdir ${GITHUB_WORKSPACE}/front
cp -rf build/percona.apps_everest/react-common-js/everest/public/* ${GITHUB_WORKSPACE}/front/
- name: Check out Everest Backend
uses: actions/checkout@v4
with:
path: ./backend
ref: 'main'

- name: Check out Everest Backend rc-branch
run: |
cd backend
# Check if the branch already exists
git fetch
check_branch=$(git ls-remote --heads origin ${RC_BRANCH})
if [[ -z ${check_branch} ]]; then
git checkout -b $RC_BRANCH
# update tag refs in scripts
sed -i "s/dev-latest/$RC_BRANCH/g" deploy/quickstart-compose.yml deploy/quickstart-k8s.yaml
# configure userdata for commits
git config --global user.email "[email protected]"
git config --global user.name "Everest RC CI"
# commit and push the updated files
git commit -a -m "update version tag"
git push origin $RC_BRANCH
else
git checkout $RC_BRANCH
fi
- name: Embed Everest Frontend app into backend
run: |
cp -rf ${GITHUB_WORKSPACE}/front/* ${GITHUB_WORKSPACE}/backend/public/dist/
cd ${GITHUB_WORKSPACE}/backend
- name: Setup docker build metadata
uses: docker/metadata-action@v4
id: meta
with:
images: perconalab/everest
tags: ${{ env.VERSION }}


- name: Login to GitHub Container Registry
uses: docker/login-action@v2
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}

- name: Build and Push everest RC-image
uses: docker/build-push-action@v4
with:
context: backend
push: true
tags: ${{ steps.meta.outputs.tags }}
echo "VERSION=v${#release-}" >> $GITHUB_ENV
# - name: Configure git for private modules
# env:
# ROBOT_TOKEN: ${{ secrets.ROBOT_TOKEN }}
# run: git config --global url."https://percona-platform-robot:${ROBOT_TOKEN}@github.com".insteadOf "https://github.com"
#
# - name: Check out Everest frontend
# uses: actions/checkout@v4
# with:
# repository: percona/percona-everest-frontend
# ref: 'main'
# path: percona-everest-frontend
# token: ${{ secrets.ROBOT_TOKEN }}
#
#
# - name: Run with Node 16
# uses: actions/setup-node@v3
# with:
# node-version: ${{ matrix.node-version }}
#
# - name: Install Bit Version Manager
# run: npm i -g @teambit/bvm
#
# - name: Install latest Bit version
# run: bvm install 0.2.3
#
# - name: Add bvm bin folder to path
# run: echo "$HOME/bin" >> $GITHUB_PATH
#
# - name: Set up bit config
# env:
# BIT_TOKEN: ${{ secrets.BIT_TOKEN }}
# run: bit config set user.token $BIT_TOKEN
#
# - name: Build Everest Frontend app
# run: |
# cd ${GITHUB_WORKSPACE}/percona-everest-frontend
# bit install --recurring-install
# bit snap
# bit artifacts percona.apps/everest --out-dir build
# mkdir ${GITHUB_WORKSPACE}/front
# cp -rf build/percona.apps_everest/react-common-js/everest/public/* ${GITHUB_WORKSPACE}/front/
#
# - name: Check out Everest Backend
# uses: actions/checkout@v4
# with:
# path: ./backend
# ref: 'main'
#
# - name: Embed Everest Frontend app into backend
# run: |
# cp -rf ${GITHUB_WORKSPACE}/front/* ${GITHUB_WORKSPACE}/backend/public/dist/
# cd ${GITHUB_WORKSPACE}/backend
#
# - name: Setup docker build metadata
# uses: docker/metadata-action@v4
# id: meta
# with:
# images: perconalab/everest
# tags: ${{ env.VERSION }}
#
#
# - name: Login to GitHub Container Registry
# uses: docker/login-action@v2
# with:
# username: ${{ secrets.DOCKERHUB_USERNAME }}
# password: ${{ secrets.DOCKERHUB_TOKEN }}
#
# - name: Build and Push everest RC-image
# uses: docker/build-push-action@v4
# with:
# context: backend
# push: true
# tags: ${{ steps.meta.outputs.tags }}

0 comments on commit 355e841

Please sign in to comment.