@@ -3,7 +3,22 @@ name: Generate Documentation PDFs
33on :
44 release :
55 types : [published]
6- workflow_dispatch : # Allow manual triggering
6+ workflow_dispatch :
7+ inputs :
8+ tag :
9+ description : ' Tag name for the release (e.g., v1.2.3)'
10+ required : true
11+ release_name :
12+ description : ' Release title'
13+ required : false
14+ body :
15+ description : ' Release notes/body'
16+ required : false
17+ prerelease :
18+ description : ' Mark as prerelease'
19+ type : boolean
20+ required : false
21+ default : false
722
823jobs :
924 generate-pdfs :
@@ -55,19 +70,15 @@ jobs:
5570 - name : Copy generated PDFs
5671 run : |
5772 if [ -d "build/pdfs" ]; then
58- # Copy all PDFs to main artifacts directory
5973 cp -r build/pdfs/* pdf-artifacts/ 2>/dev/null || true
6074
61- # Organize PDFs by toolbox if they exist
62- # CoreBox PDFs for different languages
6375 find build/pdfs -name "*CoreBox*EN*" -exec cp {} pdf-artifacts/CoreBox/ \; 2>/dev/null || true
6476 find build/pdfs -name "*CoreBox*DE*" -exec cp {} pdf-artifacts/CoreBox/ \; 2>/dev/null || true
6577 find build/pdfs -name "*CoreBox*FR*" -exec cp {} pdf-artifacts/CoreBox/ \; 2>/dev/null || true
6678 find build/pdfs -name "*CoreBox*ES*" -exec cp {} pdf-artifacts/CoreBox/ \; 2>/dev/null || true
6779 find build/pdfs -name "*CoreBox*AR*" -exec cp {} pdf-artifacts/CoreBox/ \; 2>/dev/null || true
6880 find build/pdfs -name "*core*" -exec cp {} pdf-artifacts/CoreBox/ \; 2>/dev/null || true
6981
70- # Other toolbox PDFs
7182 find build/pdfs -name "*Electronics*" -exec cp {} pdf-artifacts/ElectronicsBox/ \; 2>/dev/null || true
7283 find build/pdfs -name "*electronics*" -exec cp {} pdf-artifacts/ElectronicsBox/ \; 2>/dev/null || true
7384 find build/pdfs -name "*Infinity*" -exec cp {} pdf-artifacts/InfinityBox/ \; 2>/dev/null || true
8192 find build/pdfs -name "*Seeed*" -exec cp {} pdf-artifacts/SeeedMicroscope/ \; 2>/dev/null || true
8293 find build/pdfs -name "*seeed*" -exec cp {} pdf-artifacts/SeeedMicroscope/ \; 2>/dev/null || true
8394
84- # List what was found
8595 echo "Generated PDFs:"
8696 find pdf-artifacts -name "*.pdf" -type f | sort
87-
88- # Count PDFs
8997 PDF_COUNT=$(find pdf-artifacts -name "*.pdf" -type f | wc -l)
9098 echo "Total PDFs generated: $PDF_COUNT"
9199 else
@@ -101,10 +109,14 @@ jobs:
101109 path : pdf-artifacts/
102110 if-no-files-found : warn
103111
104- - name : Attach PDFs to release
105- if : github.event_name == 'release' && hashFiles('pdf-artifacts/**/*.pdf') != ''
112+ - name : Create or update release with PDFs
113+ if : hashFiles('pdf-artifacts/**/*.pdf') != ''
106114 uses : softprops/action-gh-release@v1
107115 with :
108116 files : pdf-artifacts/**/*.pdf
117+ tag_name : ${{ github.event_name == 'workflow_dispatch' && inputs.tag || github.event.release.tag_name }}
118+ name : ${{ github.event_name == 'workflow_dispatch' && (inputs.release_name != '' && inputs.release_name || inputs.tag) || github.event.release.name }}
119+ body : ${{ github.event_name == 'workflow_dispatch' && inputs.body || github.event.release.body }}
120+ prerelease : ${{ github.event_name == 'workflow_dispatch' && inputs.prerelease || github.event.release.prerelease }}
109121 env :
110- GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
122+ GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
0 commit comments