diff --git a/.github/workflows/pdf-diff.yml b/.github/workflows/pdf-diff.yml index f001b64..c6539d9 100644 --- a/.github/workflows/pdf-diff.yml +++ b/.github/workflows/pdf-diff.yml @@ -1,13 +1,15 @@ name: Auto-diff PDF files -# only trigger on opened/reopened PRs that change the schematic +# only trigger on opened/reopened/updated PRs that change the schematic on: + workflow_dispatch: pull_request: types: - opened - reopened - paths: - - '**.kicad_sch' + - synchronize + # paths: + # - '**.kicad_sch' jobs: diff_pdfs: @@ -15,12 +17,62 @@ jobs: name: Render diffs of schematics steps: - name: Checkout target branch - ${{ github.base_ref }} - uses: actions/checkout@v2 + uses: actions/checkout@v4 with: ref: ${{ github.base_ref }} path: target + - name: Checkout source branch - ${{ github.head_ref }} - uses: actions/checkout@v2 + uses: actions/checkout@v4 with: - ref: ${{ github.head_ref }} - path: source + ref: ${{ github.head_ref }} + path: source + + - name: Export target branch schematic PDF + id: target + uses: sparkengineering/kicad-action@v2 + if: '!cancelled()' + with: + kicad_sch: target/Chassis/Chassis.kicad_sch + sch_pdf: true + sch_pdf_file: target_Chassis.pdf + + - name: Upload target schematic PDF + uses: actions/upload-artifact@v4 + if: ${{ !cancelled() && steps.target.conclusion == 'success' }} + with: + name: target_Chassis.pdf + path: target/Chassis/target_Chassis.pdf + + - name: Export source branch schematic PDF + id: source + uses: sparkengineering/kicad-action@v2 + if: '!cancelled()' + with: + kicad_sch: source/Chassis/Chassis.kicad_sch + sch_pdf: true + sch_pdf_file: source_Chassis.pdf + + - name: Upload source schematic PDF + uses: actions/upload-artifact@v4 + if: ${{ !cancelled() && steps.source.conclusion == 'success' }} + with: + name: source_Chassis.pdf + path: source/Chassis/source_Chassis.pdf + + - name: Compare PDFs + id: compare + uses: nowsprinting/diff-pdf-action@v1 + if: ${{ !cancelled() && !failure() }} + with: + file1: source/Chassis/source_Chassis.pdf + file2: target/Chassis/target_Chassis.pdf + options: -s -m --output-diff=diff.pdf --dpi=300 + suppress-diff-error: true + + - name: Upload diff PDF + uses: actions/upload-artifact@v4 + if: ${{ !cancelled() && steps.compare.conclusion == 'success' }} + with: + name: diff.pdf + path: diff.pdf