diff --git a/.github/workflows/deploy-mkdocs.yml b/.github/workflows/deploy-mkdocs.yml index 81b4a03..1577b50 100644 --- a/.github/workflows/deploy-mkdocs.yml +++ b/.github/workflows/deploy-mkdocs.yml @@ -5,6 +5,8 @@ on: workflows: ["Test"] types: - completed + branches: + - main workflow_dispatch: permissions: @@ -17,57 +19,17 @@ concurrency: cancel-in-progress: false jobs: - check-docs-changed: - name: Check Docs Changes - runs-on: ubuntu-latest + build: + name: Build Website if: > github.event_name == 'workflow_dispatch' || github.event.workflow_run.conclusion == 'success' - outputs: - docs_changed: ${{ steps.filter.outputs.docs_changed }} - head_sha: ${{ steps.get-sha.outputs.sha }} - steps: - - name: Checkout - uses: actions/checkout@v4 - with: - fetch-depth: 0 - ref: ${{ github.event.workflow_run.head_sha || github.sha }} - - - name: Get SHA - id: get-sha - run: echo "sha=${{ github.event.workflow_run.head_sha || github.sha }}" >> $GITHUB_OUTPUT - - - name: Check if docs changed - id: filter - run: | - if [ "${{ github.event_name }}" = "workflow_dispatch" ]; then - echo "docs_changed=true" >> $GITHUB_OUTPUT - else - BEFORE="${{ github.event.workflow_run.event == 'push' && github.event.workflow_run.head_commit.id || '' }}" - BASE=$(git rev-parse HEAD~1 2>/dev/null || echo "") - if [ -z "$BASE" ]; then - echo "docs_changed=true" >> $GITHUB_OUTPUT - else - CHANGED=$(git diff --name-only $BASE HEAD) - echo "Changed files: $CHANGED" - if echo "$CHANGED" | grep -qE '^docs/|^mkdocs\.yml'; then - echo "docs_changed=true" >> $GITHUB_OUTPUT - else - echo "docs_changed=false" >> $GITHUB_OUTPUT - fi - fi - fi - - build: - name: Build Website - needs: check-docs-changed - if: needs.check-docs-changed.outputs.docs_changed == 'true' runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v4 with: - ref: ${{ needs.check-docs-changed.outputs.head_sha }} + ref: ${{ github.event.workflow_run.head_sha || github.sha }} - name: Setup Python uses: actions/setup-python@v5 @@ -94,11 +56,7 @@ jobs: deploy: name: Deploy to GitHub Pages - needs: [check-docs-changed, build] - if: > - needs.check-docs-changed.outputs.docs_changed == 'true' && - (github.event_name == 'workflow_dispatch' || - github.event.workflow_run.head_branch == 'main') + needs: build runs-on: ubuntu-latest environment: # GitHub Pages deployment environment name: "github-pages"