Merge pull request #8328 from subhamkrai/action-for-release-build

ci: action for release build
This commit is contained in:
Travis Nielsen authored and GitHub committed 2021-07-23 10:21:30 -06:00
commit 069bc484ee
2 files changed
+33 -12

No files matched your search

+14 -3
View File
@@ -3,6 +3,9 @@ on:
push:
branches:
- master
- release-*
tags:
- v*
defaults:
run:
@@ -37,11 +40,13 @@ jobs:
aws-region: us-east-1
- name: unshallow
run: git fetch --prune --unshallow --tags
run: git fetch --prune --unshallow --tags --force
# creating custom env var
- name: set env
run: echo "BRANCH_NAME=${GITHUB_REF##*/}" >> $GITHUB_ENV
run: |
echo "BRANCH_NAME=${GITHUB_REF##*/}" >> $GITHUB_ENV
echo "GITHUB_REF"=${GITHUB_REF} >> $GITHUB_ENV
- name: build and release
env:
@@ -49,4 +54,10 @@ jobs:
BRANCH_NAME: ${{ env.BRANCH_NAME }}
AWS_USR: ${{ secrets.AWS_USR }}
AWS_PSW: ${{ secrets.AWS_PSW }}
run: tests/scripts/build-release.sh
GITHUB_REF: $ {{ env.GITHUB_REF }}
run: |
if [[ ${GITHUB_REF} =~ master|v ]]; then
tests/scripts/build-release.sh publish_and_promote
else
tests/scripts/build-release.sh publish
fi
+19 -9
View File
@@ -5,6 +5,13 @@ set -ex
# FUNCTIONS #
#############
if [[ ${GITHUB_REF} =~ master ]]; then
CHANNEL=master
else
CHANNEL=release
fi
function build() {
# set VERSION to a dummy value since Jenkins normally sets it for us. Do this to make Helm happy and not fail with "Error: Invalid Semantic Version"
build/run make VERSION=0 build.all
@@ -12,18 +19,21 @@ function build() {
build/run make mod.check
}
if [[ ${BRANCH_NAME} =~ release- ]]; then
build
build/run make -C build/release build BRANCH_NAME=${BRANCH_NAME} TAG_WITH_SUFFIX=true GIT_API_TOKEN=${GIT_API_TOKEN}
git status &
git diff &
build/run make -C build/release publish BRANCH_NAME=${BRANCH_NAME} TAG_WITH_SUFFIX=true AWS_ACCESS_KEY_ID=${AWS_USR} AWS_SECRET_ACCESS_KEY=${AWS_PSW} GIT_API_TOKEN=${GIT_API_TOKEN}
elif [[ ${BRANCH_NAME} =~ master|tag ]]; then
function publish_and_promote() {
build
build/run make -C build/release build BRANCH_NAME=${BRANCH_NAME} GIT_API_TOKEN=${GIT_API_TOKEN}
git status &
git diff &
build/run make -C build/release publish BRANCH_NAME=${BRANCH_NAME} AWS_ACCESS_KEY_ID=${AWS_USR} AWS_SECRET_ACCESS_KEY=${AWS_PSW} GIT_API_TOKEN=${GIT_API_TOKEN}
# automatically promote the master builds
build/run make -C build/release promote BRANCH_NAME=master CHANNEL=master AWS_ACCESS_KEY_ID=${AWS_USR} AWS_SECRET_ACCESS_KEY=${AWS_PSW}
fi
build/run make -C build/release promote BRANCH_NAME=${BRANCH_NAME} CHANNEL=${CHANNEL} AWS_ACCESS_KEY_ID=${AWS_USR} AWS_SECRET_ACCESS_KEY=${AWS_PSW}
}
function publish() {
build
build/run make -C build/release build BRANCH_NAME=${BRANCH_NAME} TAG_WITH_SUFFIX=true GIT_API_TOKEN=${GIT_API_TOKEN}
git status &
git diff &
build/run make -C build/release publish BRANCH_NAME=${BRANCH_NAME} TAG_WITH_SUFFIX=true AWS_ACCESS_KEY_ID=${AWS_USR} AWS_SECRET_ACCESS_KEY=${AWS_PSW} GIT_API_TOKEN=${GIT_API_TOKEN}
}