Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Test PR #16

Merged
merged 13 commits into from
Aug 14, 2024
66 changes: 59 additions & 7 deletions .github/workflows/pdf-diff.yml
Original file line number Diff line number Diff line change
@@ -1,26 +1,78 @@
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:
runs-on: ubuntu-latest
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