diff --git a/.github/workflows/sync-vendor.yml b/.github/workflows/sync-vendor.yml new file mode 100644 index 00000000..87a08057 --- /dev/null +++ b/.github/workflows/sync-vendor.yml @@ -0,0 +1,43 @@ +name: sync-vendor + + +on: + push: + paths: + - go.mod + +# Remove all permissions from GITHUB_TOKEN except metadata. +permissions: {} + +jobs: + vendor: + name: sync vendor + runs-on: self-runner-kubesphere + if: github.repository == 'kubesphere/kubekey' + steps: + - name: Checkout code + uses: actions/checkout@v3 + + - name: Set up Go + uses: actions/setup-go@v2 + with: + go-version: '1.22' + + - name: Run go mod vendor + run: go mod vendor + + - name: Commit vendor directory + run: | + git config --global user.name 'ks-ci-bot' + git config --global user.email 'ci-bot@kubesphere.io' + git add vendor + git commit -m 'Add vendor directory' + + - name: Create Pull Request + uses: peter-evans/create-pull-request@v3 + with: + token: ${{ secrets.GITHUB_TOKEN }} + commit-message: Add vendor directory + branch: add-vendor-${{ github.event.number }} + title: [ci-bot] Add vendor directory + body: This [PR](https://github.com/kubesphere/kubekey/pull/${{ github.event.number }}) adds the vendor directory generated by go mod vendor.