From 0b06dca4726f88fb1eccda913a60707dc56e2cc5 Mon Sep 17 00:00:00 2001 From: Todd Treece <360020+toddtreece@users.noreply.github.com> Date: Thu, 7 Nov 2024 20:14:04 -0500 Subject: [PATCH] CI: Add Dependabot go workspace action (#96064) --- .github/CODEOWNERS | 1 + .../pr-dependabot-update-go-workspace.yml | 49 +++++++++++++++++++ .github/workflows/pr-go-workspace-check.yml | 9 ++++ 3 files changed, 59 insertions(+) create mode 100644 .github/workflows/pr-dependabot-update-go-workspace.yml diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index e73292fbe07..555b996b6d9 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -741,6 +741,7 @@ embed.go @grafana/grafana-as-code /.github/workflows/i18n-crowdin-upload.yml @grafana/grafana-frontend-platform /.github/workflows/i18n-crowdin-download.yml @grafana/grafana-frontend-platform /.github/workflows/pr-go-workspace-check.yml @grafana/grafana-app-platform-squad +/.github/workflows/pr-dependabot-update-go-workspace.yml @grafana/grafana-app-platform-squad /.github/workflows/pr-k8s-codegen-check.yml @grafana/grafana-app-platform-squad /.github/workflows/go_lint.yml @grafana/grafana-backend-services-squad /.github/workflows/trivy-scan.yml @grafana/grafana-backend-services-squad diff --git a/.github/workflows/pr-dependabot-update-go-workspace.yml b/.github/workflows/pr-dependabot-update-go-workspace.yml new file mode 100644 index 00000000000..dfd1cc5bd12 --- /dev/null +++ b/.github/workflows/pr-dependabot-update-go-workspace.yml @@ -0,0 +1,49 @@ +name: "Update Go Workspace for Dependabot PRs" +on: + pull_request: + branches: [main] + paths: + - .github/workflows/pr-dependabot-update-go-workspace.yml + - go.mod + - go.sum + - go.work + - go.work.sum + - '**/go.mod' + - '**/go.sum' + - '**.go' +permissions: + contents: write +jobs: + update: + runs-on: "ubuntu-latest" + if: ${{ github.actor == 'dependabot[bot]' }} + continue-on-error: true + steps: + - name: Checkout repository + uses: actions/checkout@v4 + with: + repository: ${{ github.event.pull_request.head.repo.full_name }} + ref: ${{ github.event.pull_request.head.ref }} + + - name: Set go version + uses: actions/setup-go@v4 + with: + go-version-file: go.mod + + - name: Update workspace + run: make update-workspace + + - name: Commit and push workspace changes + env: + BRANCH_NAME: ${{ github.head_ref || github.ref_name }} + run: | + if ! git diff --exit-code --quiet; then + git config --local user.name "github-actions[bot]" + git config --local user.email "github-actions[bot]@users.noreply.github.com" + git config --local --add --bool push.autoSetupRemote true + echo "Committing and pushing workspace changes" + git remote + git branch -l + git commit -a -m "update workspace" + git push origin $BRANCH_NAME + fi diff --git a/.github/workflows/pr-go-workspace-check.yml b/.github/workflows/pr-go-workspace-check.yml index bc5385ef0e0..889e7653ec0 100644 --- a/.github/workflows/pr-go-workspace-check.yml +++ b/.github/workflows/pr-go-workspace-check.yml @@ -4,6 +4,15 @@ on: workflow_dispatch: pull_request: branches: [main] + paths: + - .github/workflows/pr-go-workspace-check.yml + - go.mod + - go.sum + - go.work + - go.work.sum + - '**/go.mod' + - '**/go.sum' + - '**.go' jobs: check: