chore: Upgrade the vela dependencies (#152) #74
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Release | |
on: | |
push: | |
tags: | |
- "v*" | |
workflow_dispatch: { } | |
env: | |
GITHUB_TOKEN: ${{ github.token }} | |
ENDPOINT: ${{ secrets.OSS_ENDPOINT }} | |
ACCESS_KEY: ${{ secrets.OSS_ACCESS_KEY }} | |
ACCESS_KEY_SECRET: ${{ secrets.OSS_ACCESS_KEY_SECRET }} | |
jobs: | |
build: | |
runs-on: ubuntu-latest | |
name: build | |
strategy: | |
matrix: | |
TARGETS: [ linux/amd64, darwin/amd64, windows/amd64, linux/arm64, darwin/arm64] | |
env: | |
VELA_VERSION_KEY: github.com/oam-dev/velad/version.VelaVersion | |
VELAUX_VERSION_KEY: github.com/oam-dev/velad/version.VelaUXVersion | |
VELAD_VERSION_KEY: github.com/oam-dev/velad/version.VelaDVersion | |
VELA_GITVERSION_KEY: github.com/oam-dev/velad/version.VelaGitRevision | |
GO_BUILD_ENV: GO111MODULE=on CGO_ENABLED=0 | |
DIST_DIRS: find * -type d -exec | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3 | |
- name: Set up Go | |
uses: actions/setup-go@v3 | |
with: | |
go-version: "1.20" | |
- name: Get release | |
id: get_release | |
uses: bruceadams/get-release@v1.2.2 | |
env: | |
GITHUB_TOKEN: ${{ github.token }} | |
- name: Get version | |
run: echo "VELAD_VERSION=${GITHUB_REF#refs/tags/}" >> $GITHUB_ENV | |
- name: Get Vela CLI git-revision | |
run: | | |
SHA_LONG=$(curl -s -H "Accept: application/vnd.github.v3+json" https://api.github.com/repos/kubevela/kubevela/git/refs/tags/${{ env.VELAD_VERSION }} |jq -r ".object.sha") | |
VELA_SHA_SHORT="${SHA_LONG:0:7}" | |
echo $VELA_SHA_SHORT | |
echo "VELA_SHA_SHORT=$VELA_SHA_SHORT" >> $GITHUB_ENV | |
- name: Get matrix | |
id: get_matrix | |
run: | | |
TARGETS=${{matrix.TARGETS}} | |
echo ::set-output name=OS::${TARGETS%/*} | |
echo ::set-output name=ARCH::${TARGETS#*/} | |
- name: Get ldflags | |
id: get_ldflags | |
run: | | |
VELAUX_VERSION=$(cat Makefile | grep "VELAUX_VERSION ?="|awk '{split($0,a," "); print a[3]}') | |
echo VELAUX_VERSION=$VELAUX_VERSION | |
LDFLAGS="-s -w -X ${{ env.VELA_VERSION_KEY }}=${{ env.VELAD_VERSION }} -X ${{ env.VELAUX_VERSION_KEY }}=$VELAUX_VERSION -X ${{ env.VELAD_VERSION_KEY }}=${{ env.VELAD_VERSION }} -X ${{ env.VELA_GITVERSION_KEY }}=git-${{ env.VELA_SHA_SHORT }}" | |
echo "LDFLAGS=${LDFLAGS}" >> $GITHUB_ENV | |
- name: Build | |
run: | | |
export OS=${{ steps.get_matrix.outputs.OS }} | |
export ARCH=${{ steps.get_matrix.outputs.ARCH }} | |
make download_vela_images_addons | |
make download_k3s_images | |
make download_k3s_bin_script | |
make download_k3d | |
${{ env.GO_BUILD_ENV }} GOOS=${{ steps.get_matrix.outputs.OS }} GOARCH=${{ steps.get_matrix.outputs.ARCH }} \ | |
go build -ldflags "${{ env.LDFLAGS }}" \ | |
-o _bin/velad/${{ steps.get_matrix.outputs.OS }}-${{ steps.get_matrix.outputs.ARCH }}/velad -v \ | |
cmd/velad/main.go | |
- name: Compress | |
run: | | |
echo "\n## Release Info\nVERSION: ${{ env.VELAD_VERSION }}" >> README.md && \ | |
echo "GIT_COMMIT: ${GITHUB_SHA}\n" >> README.md && \ | |
cd _bin/velad && \ | |
${{ env.DIST_DIRS }} cp ../../LICENSE {} \; && \ | |
${{ env.DIST_DIRS }} cp ../../README.md {} \; && \ | |
${{ env.DIST_DIRS }} tar -zcf velad-{}.tar.gz {} \; && \ | |
${{ env.DIST_DIRS }} zip -r velad-{}.zip {} \; && \ | |
cd .. && \ | |
sha256sum velad/velad-* >> sha256-${{ steps.get_matrix.outputs.OS }}-${{ steps.get_matrix.outputs.ARCH }}.txt \ | |
- name: Upload VelaD tar.gz | |
uses: actions/upload-release-asset@v1.0.2 | |
with: | |
upload_url: ${{ steps.get_release.outputs.upload_url }} | |
asset_path: ./_bin/velad/velad-${{ steps.get_matrix.outputs.OS }}-${{ steps.get_matrix.outputs.ARCH }}.tar.gz | |
asset_name: velad-${{ env.VELAD_VERSION }}-${{ steps.get_matrix.outputs.OS }}-${{ steps.get_matrix.outputs.ARCH }}.tar.gz | |
asset_content_type: binary/octet-stream | |
- name: Upload VelaD zip | |
uses: actions/upload-release-asset@v1.0.2 | |
with: | |
upload_url: ${{ steps.get_release.outputs.upload_url }} | |
asset_path: ./_bin/velad/velad-${{ steps.get_matrix.outputs.OS }}-${{ steps.get_matrix.outputs.ARCH }}.zip | |
asset_name: velad-${{ env.VELAD_VERSION }}-${{ steps.get_matrix.outputs.OS }}-${{ steps.get_matrix.outputs.ARCH }}.zip | |
asset_content_type: binary/octet-stream | |
- name: Post sha256 | |
uses: actions/upload-artifact@v2 | |
with: | |
name: sha256sums | |
path: ./_bin/sha256-${{ steps.get_matrix.outputs.OS }}-${{ steps.get_matrix.outputs.ARCH }}.txt | |
retention-days: 1 | |
- name: clear the asset | |
run: | | |
rm -rf ./_bin/velad/${{ steps.get_matrix.outputs.OS }}-${{ steps.get_matrix.outputs.ARCH }} | |
mv ./_bin/velad/velad-${{ steps.get_matrix.outputs.OS }}-${{ steps.get_matrix.outputs.ARCH }}.tar.gz ./_bin/velad/velad-${{ steps.get_matrix.outputs.OS }}-${{ steps.get_matrix.outputs.ARCH }}-${{ env.VELAD_VERSION }}.tar.gz | |
mv ./_bin/velad/velad-${{ steps.get_matrix.outputs.OS }}-${{ steps.get_matrix.outputs.ARCH }}.zip ./_bin/velad/velad-${{ steps.get_matrix.outputs.OS }}-${{ steps.get_matrix.outputs.ARCH }}-${{ env.VELAD_VERSION }}.zip | |
- name: Install ossutil | |
run: wget http://gosspublic.alicdn.com/ossutil/1.7.0/ossutil64 && chmod +x ossutil64 && mv ossutil64 ossutil | |
- name: Configure Alibaba Cloud OSSUTIL | |
run: ./ossutil --config-file .ossutilconfig config -i ${ACCESS_KEY} -k ${ACCESS_KEY_SECRET} -e ${ENDPOINT} | |
- name: Upload to OSS | |
run: | | |
./ossutil --config-file .ossutilconfig --force sync \ | |
./_bin/velad oss://kubevela-docs/binary/velad/${{ env.VELAD_VERSION }} | |
- name: sync the velad latest version file | |
if: ${{ !contains(env.VELAD_VERSION,'alpha') && !contains(env.VELAD_VERSION,'beta') }} | |
run: | | |
LATEST_VERSION=$(curl -fsSl https://static.kubevela.net/binary/velad/latest_version) | |
verlte() { | |
[ "$1" = "`echo -e "$1\n$2" | sort -V | head -n1`" ] | |
} | |
verlte ${{ env.VELAD_VERSION }} $LATEST_VERSION && echo "${{ env.VELAD_VERSION }} <= $LATEST_VERSION, skip update" && exit 0 | |
echo ${{ env.VELAD_VERSION }} > ./velad_latest_version | |
./ossutil --config-file .ossutilconfig cp -u ./velad_latest_version oss://kubevela-docs/binary/velad/latest_version | |