From f6e870d7b7cbe53ad83a2c5c63aeff665330f1e6 Mon Sep 17 00:00:00 2001 From: Natercio Moniz Date: Sun, 16 Nov 2025 23:23:06 +0000 Subject: [PATCH] updated gitea workflows conditional logic --- .gitea/workflows/gen_code.yml | 27 +++++++++++++++++++++++---- .gitea/workflows/tests.yml | 22 +++++++++++++++++++++- 2 files changed, 44 insertions(+), 5 deletions(-) diff --git a/.gitea/workflows/gen_code.yml b/.gitea/workflows/gen_code.yml index 33abb55..ac0e573 100644 --- a/.gitea/workflows/gen_code.yml +++ b/.gitea/workflows/gen_code.yml @@ -5,14 +5,33 @@ on: pull_request: jobs: - check-generate: + check-changes: runs-on: ubuntu-latest - if: contains(github.event.pull_request.changed_files, '*_gen.go') || - contains(github.event.pull_request.changed_files, '*/generate.go') + outputs: + has_gen_changes: ${{ steps.check.outputs.has_gen_changes }} steps: - name: Checkout code uses: actions/checkout@v3 - + with: + fetch-depth: 0 + + - name: Check for generated file changes + id: check + run: | + if git diff --name-only origin/${{ github.base_ref }}...HEAD | grep -E '_gen\.go$|/generate\.go$'; then + echo "has_gen_changes=true" >> $GITHUB_OUTPUT + else + echo "has_gen_changes=false" >> $GITHUB_OUTPUT + fi + + check-generate: + runs-on: ubuntu-latest + needs: check-changes + if: needs.check-changes.outputs.has_gen_changes == 'true' + steps: + - name: Checkout code + uses: actions/checkout@v3 + - name: Setup Go uses: actions/setup-go@v4 with: diff --git a/.gitea/workflows/tests.yml b/.gitea/workflows/tests.yml index 585e4af..d66494a 100644 --- a/.gitea/workflows/tests.yml +++ b/.gitea/workflows/tests.yml @@ -5,9 +5,29 @@ on: types: [opened, reopened, synchronize] jobs: + check-changes: + runs-on: ubuntu-latest + outputs: + has_go_changes: ${{ steps.check.outputs.has_go_changes }} + steps: + - name: Checkout code + uses: actions/checkout@v3 + with: + fetch-depth: 0 + + - name: Check for Go changes + id: check + run: | + if git diff --name-only origin/${{ github.base_ref }}...HEAD | grep -E '\.go$|go\.(mod|sum)$'; then + echo "has_go_changes=true" >> $GITHUB_OUTPUT + else + echo "has_go_changes=false" >> $GITHUB_OUTPUT + fi + tests: runs-on: ubuntu-latest - if: contains(github.event.pull_request.changed_files, '*.go') + needs: check-changes + if: needs.check-changes.outputs.has_go_changes == 'true' steps: - name: Checkout code uses: actions/checkout@v3