diff --git a/.github/workflows/autofix.yml b/.github/workflows/autofix.yml index 13023e53b..65f413af8 100644 --- a/.github/workflows/autofix.yml +++ b/.github/workflows/autofix.yml @@ -1,6 +1,7 @@ name: autofix.ci on: - workflow_call: + pull_request: + branches: ["main"] permissions: contents: read @@ -14,7 +15,7 @@ jobs: # Use uv to ensure we have the same ruff version in CI and locally. - uses: astral-sh/setup-uv@v6 with: - python-version: "3.12" + python-version: "3.12" - run: | cd api uv sync --dev diff --git a/.github/workflows/main-ci.yml b/.github/workflows/main-ci.yml index b73f1187c..876ec23a3 100644 --- a/.github/workflows/main-ci.yml +++ b/.github/workflows/main-ci.yml @@ -2,9 +2,9 @@ name: Main CI Pipeline on: pull_request: - branches: [ "main" ] + branches: ["main"] push: - branches: [ "main" ] + branches: ["main"] permissions: contents: write @@ -17,58 +17,6 @@ concurrency: cancel-in-progress: true jobs: - # First, run autofix if needed - autofix: - name: Auto-fix code issues - if: github.repository == 'langgenius/dify' - runs-on: ubuntu-latest - outputs: - changes-made: ${{ steps.check-changes.outputs.changes }} - steps: - - uses: actions/checkout@v4 - with: - token: ${{ secrets.GITHUB_TOKEN }} - ref: ${{ github.event.pull_request.head.ref }} - - - uses: astral-sh/setup-uv@v6 - with: - python-version: "3.12" - - - name: Run Python fixes - run: | - cd api - uv sync --dev - # Fix lint errors - uv run ruff check --fix-only . - # Format code - uv run ruff format . - - - name: Run ast-grep - run: | - uvx --from ast-grep-cli sg --pattern 'db.session.query($WHATEVER).filter($HERE)' --rewrite 'db.session.query($WHATEVER).where($HERE)' -l py --update-all - - - name: Run mdformat - run: | - uvx mdformat . - - - name: Check for changes - id: check-changes - run: | - if [ -n "$(git diff --name-only)" ]; then - echo "changes=true" >> $GITHUB_OUTPUT - else - echo "changes=false" >> $GITHUB_OUTPUT - fi - - - name: Commit and push changes - if: steps.check-changes.outputs.changes == 'true' - run: | - git config --local user.email "action@github.com" - git config --local user.name "GitHub Action" - git add -A - git commit -m "Auto-fix: Apply code formatting and linting fixes" - git push - # Check which paths were changed to determine which tests to run check-changes: name: Check Changed Files @@ -99,34 +47,32 @@ jobs: migration: - 'api/migrations/**' - '.github/workflows/db-migration-test.yml' - - # After autofix completes (or if no changes needed), run tests in parallel + + # Run tests in parallel api-tests: name: API Tests - needs: [autofix, check-changes] - if: always() && !cancelled() && needs.check-changes.outputs.api-changed == 'true' + needs: check-changes + if: needs.check-changes.outputs.api-changed == 'true' uses: ./.github/workflows/api-tests.yml - + web-tests: name: Web Tests - needs: [autofix, check-changes] - if: always() && !cancelled() && needs.check-changes.outputs.web-changed == 'true' + needs: check-changes + if: needs.check-changes.outputs.web-changed == 'true' uses: ./.github/workflows/web-tests.yml - + style-check: name: Style Check - needs: autofix - if: always() && !cancelled() uses: ./.github/workflows/style.yml - + vdb-tests: name: VDB Tests - needs: [autofix, check-changes] - if: always() && !cancelled() && needs.check-changes.outputs.vdb-changed == 'true' + needs: check-changes + if: needs.check-changes.outputs.vdb-changed == 'true' uses: ./.github/workflows/vdb-tests.yml - + db-migration-test: name: DB Migration Test - needs: [autofix, check-changes] - if: always() && !cancelled() && needs.check-changes.outputs.migration-changed == 'true' - uses: ./.github/workflows/db-migration-test.yml \ No newline at end of file + needs: check-changes + if: needs.check-changes.outputs.migration-changed == 'true' + uses: ./.github/workflows/db-migration-test.yml