Skip to content

Commit

Permalink
update
Browse files Browse the repository at this point in the history
  • Loading branch information
woodgear committed Aug 13, 2024
1 parent 48d9e80 commit 66e4293
Show file tree
Hide file tree
Showing 2 changed files with 60 additions and 47 deletions.
42 changes: 27 additions & 15 deletions .github/workflows/build.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -110,37 +110,49 @@ jobs:
- uses: azure/setup-helm@v3
with:
version: '${{ env.HELM_VERSION }}'
- uses: actions/download-artifact@master
- uses: actions/download-artifact@master # TODO download arm artifact
with:
name: alb-linux-amd64
- name: show artifact
run: |
ls -l
- name: pre-release
- name: set release type
env:
RELEASE_ME: "${{ github.event.inputs.do_release == 'true' }}"
CR_TOKEN: "${{ secrets.GITHUB_TOKEN }}"
DOCKER_USERNAME: ${{ secrets.DOCKER_USERNAME }}
DOCKER_PASSWORD: ${{ secrets.DOCKER_PASSWORD }}
DOCKER_CLI_EXPERIMENTAL: enabled
run: |
branch=$(echo "${GITHUB_HEAD_REF:-${GITHUB_REF#refs/heads/}}" | sed 's|/|-|g')
echo "pre-release check: $branch $RELEASE_ME"
echo "branch is $branch"
if [[ "$branch" == "feat-ACP-37252-ghci-bonous" ]] ;then
echo "RELEASE_TYPE=pre-release" >> $GITHUB_ENV
exit
fi
if [[ "$RELEASE_ME" == "false" ]] && [[ "$branch" == "master" ]] ;then
./scripts/run-like-github-actions.sh pre-release-alb
echo "in master we still want to a pre-release"
echo "RELEASE_TYPE=pre-release" >> $GITHUB_ENV
exit
fi
echo "not pre release"
if [[ "$RELEASE_ME" == "true" ]] ;then
echo "release it"
echo "RELEASE_TYPE=release" >> $GITHUB_ENV
exit
fi
echo "RELEASE_TYPE=no-release" >> $GITHUB_ENV
echo "not release"
- name: gen alb chart
run: |
echo "gen alb chart"
env
./scripts/run-like-github-actions.sh gen-chart-artifact
- uses: actions/upload-artifact@v4
with:
name: alb-chart
path: alauda-alb2.tgz
- name: release
if: ${{ env.RELEASE_TYPE != 'no-release' }}
env:
RELEASE_ME: "${{ github.event.inputs.do_release == 'true' }}"
CR_TOKEN: "${{ secrets.GITHUB_TOKEN }}"
DOCKER_USERNAME: ${{ secrets.DOCKER_USERNAME }}
DOCKER_PASSWORD: ${{ secrets.DOCKER_PASSWORD }}
DOCKER_CLI_EXPERIMENTAL: enabled
run: |
if [[ "$RELEASE_ME" == "true" ]];then
./scripts/run-like-github-actions.sh release-alb
exit
fi
echo "not release"
./scripts/run-like-github-actions.sh release-alb
65 changes: 33 additions & 32 deletions scripts/run-like-github-actions.sh
Original file line number Diff line number Diff line change
Expand Up @@ -40,53 +40,52 @@ function alb-gh-build-alb() (
--build-arg ALB_ONLINE=true \
--build-arg OPENRESTY_BASE=$alb_nginx_base \
-o type=docker \
-f ./template/Dockerfile.debug \
-f ./template/Dockerfile.debug \
.
docker images
docker image inspect $IMAGE_REPO/alb:$chart_ver
local suffix=$(__normal_platform)
docker save $IMAGE_REPO/alb:$chart_ver >./alb-$suffix.tar
ls
# build chart
rm -rf .cr-release-packages
mkdir -p .cr-release-packages
chart=$(alb-build-github-chart $IMAGE_REPO $chart_ver ./deploy/chart/alb .cr-release-packages/)
cp $chart alauda-alb2.tgz
tree ./deploy/chart/alb
tree .cr-release-packages
cat ./deploy/chart/alb/Chart.yaml
return
)

# we want each master are usable
function alb-gh-pre-release-alb() (
echo "do pre-release"
local version=$(alb-github-gen-version)
echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin
docker tag $IMAGE_REPO/alb:$version $IMAGE_REPO/alb:v0.0.0
docker push $IMAGE_REPO/alb:v0.0.0

function alb-gh-gen-chart-artifact() (
rm -rf .cr-release-packages
mkdir -p .cr-release-packages
local chart=$(alb-build-github-chart $IMAGE_REPO v0.0.0 ./deploy/chart/alb .cr-release-packages/)
echo "chart $chart"
local chart_ver=${1-$(alb-github-gen-version)}
local chart=$(alb-build-github-chart $IMAGE_REPO $chart_ver ./deploy/chart/alb .cr-release-packages/)
echo "tree .cr-release-packages"
tree .cr-release-packages
echo "chart_ver $chart_ver chart $chart"
cp $chart alauda-alb2.tgz

)

function alb-gh-release-alb() (
echo "in release"
# push docker
source ./scripts/alb-dev-actions.sh
local version=$(alb-github-gen-version)
set -x
echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin
docker push $IMAGE_REPO/alb:$version
echo "in release"

# push chart
owner=$(cut -d '/' -f 1 <<<"$GITHUB_REPOSITORY")
repo=$(cut -d '/' -f 2 <<<"$GITHUB_REPOSITORY")
args=(--owner "$owner" --repo "$repo" --charts-dir "./deploy/chart/alb" --skip-packaging "true" --pages-branch "gh-pages")
.github/cr.sh "${args[@]}"
tree ./.cr-release-packages

docker load <./alb-linux-amd64.tar # TODO
docker images
docker image inspect $IMAGE_REPO/alb:$version

if [[ "$RELEASE_TYPE" == "pre-release" ]]; then
docker tag $IMAGE_REPO/alb:$version $IMAGE_REPO/alb:v0.0.0
local version="v0.0.0"
alb-gh-gen-chart-artifact v0.0.0
docker push $IMAGE_REPO/alb:$version
# update release
cr upload -o alauda -r alb -c "$(git rev-parse HEAD)" --make-release-latest false
fi

if [[ "$RELEASE_TYPE" == "release" ]]; then
local version=$(alb-github-gen-version)
docker push $IMAGE_REPO/alb:$version
.github/cr.sh --owner "alauda" --repo "alb" --charts-dir "./deploy/chart/alb" --skip-packaging "true" --pages-branch "gh-pages"
fi
return
)

Expand Down Expand Up @@ -133,8 +132,6 @@ function alb-gh-get-gobuild-ver() (
cat ./Dockerfile | grep GO_BUILD_BASE= | awk -F : '{print $2}'
)



function alb-github-gen-version() {
local branch=$(echo "${GITHUB_HEAD_REF:-${GITHUB_REF#refs/heads/}}" | sed 's|/|-|g')
if [[ "$branch" == "master" ]]; then
Expand All @@ -147,6 +144,7 @@ function alb-github-gen-version() {
function __normal_platform() {
echo "$MATRIX_PLATFORM" | sed 's|/|-|g'
}

function alb-build-github-chart() {
# alb-build-github-chart $RELEASE_TAG ./chart/alb ./xx
local repo=$1
Expand Down Expand Up @@ -194,4 +192,7 @@ if [ "$0" = "$BASH_SOURCE" ]; then
if [[ "$1" == "pre-release-alb" ]]; then
alb-gh-pre-release-alb
fi
if [[ "$1" == "gen-chart-artifact" ]]; then
alb-gh-gen-chart-artifact
fi
fi

0 comments on commit 66e4293

Please sign in to comment.