name: sync-api
on:
  push:
    paths:
      - 'apis/**'
      - 'pkg/oam/**'
    tags:
      - "v*"

permissions:
  contents: read

env:
  GO_VERSION: '1.19'

jobs:
  sync-core-api:
    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@755da8c3cf115ac066823e79a1e1788f8940201b

      - name: Get the version
        id: get_version
        run: echo "VERSION=${GITHUB_REF#refs/tags/}" >> $GITHUB_OUTPUT

      - name: Sync to kubevela-core-api Repo
        env:
          SSH_DEPLOY_KEY: ${{ secrets.VELA_API_DEPLOY }}
          VERSION: ${{ steps.get_version.outputs.VERSION }}
          COMMIT_ID: ${{ github.sha }}
        run: |
          bash ./hack/apis/clientgen.sh
          bash ./hack/apis/sync.sh sync
