Feat: sync sdk automatically (#5630)

This commit is contained in:
qiaozp
2023-03-09 10:18:08 +08:00
committed by GitHub
parent 79f1d5cb03
commit 07a05c419f
5 changed files with 166 additions and 28 deletions

View File

@@ -19,6 +19,7 @@ permissions:
env:
# Common versions
GO_VERSION: '1.19'
GOLANGCI_VERSION: 'v1.49'
jobs:
sdk-tests:
@@ -32,9 +33,10 @@ jobs:
with:
go-version: ${{ env.GO_VERSION }}
- name: Get dependencies
- name: Install Go tools
run: |
go get -v -t -d ./...
make goimports
make golangci
- name: Build CLI
run: make vela-cli
@@ -43,7 +45,7 @@ jobs:
run: bin/vela def gen-api -f vela-templates/definitions/internal/ -o ./kubevela-go-sdk --package=github.com/kubevela-contrib/kubevela-go-sdk
- name: Validate SDK
uses: golangci/golangci-lint-action@08e2f20817b15149a52b5b3ebe7de50aff2ba8c5 # v3.4.0
working-directory: ./kubevela-go-sdk
with:
args: --timeout 5m
run: |
cd kubevela-go-sdk
go mod tidy
golangci-lint run --timeout 5m ./...

52
.github/workflows/sync-sdk.yaml vendored Normal file
View File

@@ -0,0 +1,52 @@
name: Sync SDK
on:
push:
paths:
- vela-templates/definitions/internal/**
- pkg/definition/gen_sdk/**
- .github/workflows/sync-sdk.yaml
tags:
- "v*"
branches:
- master
- release-*
permissions:
contents: read
env:
GO_VERSION: '1.19'
jobs:
sync_sdk:
runs-on: ubuntu-20.04
steps:
- name: Set up Go
uses: actions/setup-go@6edd4406fa81c3da01a34fa6f6343087c207a568
with:
go-version: ${{ env.GO_VERSION }}
- name: Check out code into the Go module directory
uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c
- name: Get the version
id: get_version
run: echo "VERSION=${GITHUB_REF#refs/tags/}" >> $GITHUB_OUTPUT
- name: Get dependencies
run: |
go get -v -t -d ./...
- name: Install Go tools
run: |
make goimports
- name: Build CLI
run: make vela-cli
- name: Sync SDK to kubevela/kubevela-go-sdk
run: bash ./hack/sdk/sync.sh
env:
SSH_DEPLOY_KEY: ${{ secrets.GO_SDK_DEPLOY_KEY }}
VERSION: ${{ steps.get_version.outputs.VERSION }}
COMMIT_ID: ${{ github.sha }}