diff --git a/.gitea/workflows/dev.yaml b/.gitea/workflows/dev.yaml index 514a2ca..17f2fa6 100644 --- a/.gitea/workflows/dev.yaml +++ b/.gitea/workflows/dev.yaml @@ -1,13 +1,43 @@ -name: test-doc -run-name: Testing doc — ${{ gitea.run_id }} +name: Checking-doc +run-name: Checking doc — ${{ gitea.run_id }} on: workflow_dispatch: pull_request: - types: [opened] - push: + types: [opened,synchronize] jobs: + check-file-changes: + runs-on: ubuntu-latest + outputs: + should_run: ${{ steps.filter.outputs.should_run }} + steps: + - name: 🚚 Checkout + uses: actions/checkout@v4 + with: + fetch-depth: 0 + + - name: 📑 Check changed files + id: filter + run: | + CHANGED_FILES=$(git diff --name-only ${{ github.event.pull_request.base.sha }} ${{ github.event.pull_request.head.sha }} || git diff --name-only HEAD~1 HEAD) + + IMPORTANT_FILE_CHANGED=false + for file in $CHANGED_FILES; do + if [[ $file =~ \.(ts|yaml|json|js)$ ]]; then + IMPORTANT_FILE_CHANGED=true + break + fi + done + + if [ "$IMPORTANT_FILE_CHANGED" = true ]; then + echo "should_run=true" >> $GITHUB_OUTPUT + else + echo "should_run=false" >> $GITHUB_OUTPUT + fi + build-and-deploy: + needs: check-file-changes + if: ${{ needs.check-file-changes.outputs.should_run == 'true' || github.event_name == 'workflow_dispatch' }} runs-on: ubuntu-latest permissions: contents: read