-
-
Notifications
You must be signed in to change notification settings - Fork 36
Refactor Core API to Fluent Model & Functionality Extension #126
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
Open
vanbroup
wants to merge
33
commits into
main
Choose a base branch
from
refactor
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from 32 commits
Commits
Show all changes
33 commits
Select commit
Hold shift + click to select a range
64fb638
feat: core refactoring and new features
vanbroup 436eb0a
feat: logic improvements
vanbroup 50d5b2f
feat: external signer integrations
vanbroup d6964d6
chore: scripts
vanbroup e892b46
feat: cli and config updates
vanbroup 8ec4431
chore: cleanups and revocations
vanbroup 3ad628d
feat: signer modules
vanbroup 6365670
test: unit tests and fixtures
vanbroup 5ee488e
fix: remove .DS_Store and update .gitignore
vanbroup 12041dc
fix: lint issues
vanbroup 6ef92b8
fix(tests): add missing testfiles/images/digitorus-icon.pdf for TestI…
vanbroup 13bc706
fix(verify): resolve message digest mismatches and enforce strict ver…
vanbroup 00e5804
test(sign): add dedicated test for appending to multi-signature file
vanbroup 3bfd345
fix(verify): ensure verification constraints are enforced and tested
vanbroup 400381a
fix: rename CurrentTime to AtTime and resolve lint errors
vanbroup 9bf1839
fix(ci): update VeraPDF URL and make DSS validation non-blocking
vanbroup 681e28d
fix(test): exclude testfile30.pdf from tests due to malformed CRLs
vanbroup 7ab88c4
fix(ci): temporarily disable corpus-test job due to installer changes
vanbroup 91ecbd9
fix(ci): update VeraPDF installation logic for installer zip
vanbroup e0641b2
refactor: consistently use atTime for verification and update CI desc…
vanbroup cf2168e
fix(ci): use absolute path for verapdf auto-install.xml
vanbroup 02dbf43
fix(ci): use setup-dss.sh for robust DSS setup and fix verapdf pathing
vanbroup 36d50b1
fix(ci): robust VeraPDF installation and optimized DSS startup
vanbroup 9b30ad1
Refactor verification API to idiomatic Go errors and restructure tests
vanbroup 13c29f0
Fix empty PDF output in verbose tests by preventing copyFile self-cop…
vanbroup 7092a24
Revert copyFile to os.Rename and fix multi-stage tests
vanbroup 33a2932
Fix DSS service startup hang in GHA
vanbroup ddaafbc
Enhance DSS startup observability in GHA
vanbroup e04eb04
Revert Dockerfile.dss to use original mvn spring-boot:run command
vanbroup 3303b8f
Remove redundant v2 DSS health check endpoint
vanbroup 545da56
Robustness: improve DSS health check to accept app-level errors as 'r…
vanbroup c24c262
Fix DSS script error and correct test name in CI
vanbroup 445d607
fix: address all PR review comments (revocation, forms escaping, veri…
Copilot File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change | ||||
|---|---|---|---|---|---|---|
|
|
@@ -23,6 +23,12 @@ jobs: | |||||
| with: | ||||||
| go-version: ^1.23 | ||||||
|
|
||||||
| - name: Set up Java (for external validation tools) | ||||||
| uses: actions/setup-java@v4 | ||||||
| with: | ||||||
| distribution: 'temurin' | ||||||
| java-version: '17' | ||||||
|
|
||||||
| - name: Build | ||||||
| run: go build -v ./... | ||||||
|
|
||||||
|
|
@@ -32,7 +38,7 @@ jobs: | |||||
| - name: Install pdfcpu | ||||||
| run: go install github.com/pdfcpu/pdfcpu/cmd/pdfcpu@latest | ||||||
|
|
||||||
| - name: Run PDF Validation | ||||||
| - name: Validate signed PDFs with pdfcpu | ||||||
| run: | | ||||||
| # Ensure pdfcpu is in PATH | ||||||
| export PATH=$PATH:$(go env GOPATH)/bin | ||||||
|
|
@@ -107,6 +113,19 @@ jobs: | |||||
| echo "✅ All PDF validations passed!" | ||||||
| fi | ||||||
|
|
||||||
| - name: Run DSS Validation | ||||||
| run: | | ||||||
| # Use the local setup script which uses Docker to avoid dependency issues | ||||||
| chmod +x scripts/setup-dss.sh | ||||||
| ./scripts/setup-dss.sh | ||||||
|
|
||||||
| # Run validation test | ||||||
| echo "### DSS Signature Validation Results" | ||||||
| DSS_API_URL=http://localhost:8080/services/rest/validation/validateSignature go test -v ./sign -run TestValidateDSSValidation | ||||||
|
|
||||||
| # Container is started with --rm, so stopping it is enough | ||||||
| docker stop dss-validator || true | ||||||
|
|
||||||
| - name: Upload coverage report | ||||||
| if: always() | ||||||
| uses: codecov/codecov-action@v4 | ||||||
|
|
@@ -122,3 +141,53 @@ jobs: | |||||
| name: test-pdf-artifacts | ||||||
| path: testfiles/success/ | ||||||
| retention-days: 7 | ||||||
|
|
||||||
| corpus-test: | ||||||
| name: Corpus Test | ||||||
| runs-on: ubuntu-latest | ||||||
| steps: | ||||||
| - name: Checkout repository | ||||||
| uses: actions/checkout@v6 | ||||||
|
|
||||||
| - name: Set up Go 1.x | ||||||
| uses: actions/setup-go@v5 | ||||||
| with: | ||||||
| go-version: ^1.23 | ||||||
|
|
||||||
| - name: Set up Java (for external validation tools) | ||||||
| uses: actions/setup-java@v4 | ||||||
| with: | ||||||
| distribution: 'temurin' | ||||||
| java-version: '17' | ||||||
|
|
||||||
| - name: Install validators (pdfcpu, Ghostscript, veraPDF) | ||||||
| run: | | ||||||
| sudo apt-get update | ||||||
| sudo apt-get install -y ghostscript | ||||||
| go install github.com/pdfcpu/pdfcpu/cmd/pdfcpu@latest | ||||||
|
|
||||||
| # Install veraPDF greenfield | ||||||
| curl -L http://software.verapdf.org/rel/1.28/verapdf-greenfield-1.28.2-installer.zip -o verapdf.zip | ||||||
|
||||||
| curl -L http://software.verapdf.org/rel/1.28/verapdf-greenfield-1.28.2-installer.zip -o verapdf.zip | |
| curl -L https://software.verapdf.org/rel/1.28/verapdf-greenfield-1.28.2-installer.zip -o verapdf.zip |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,10 +1,39 @@ | ||
| # Binaries | ||
| #------------- | ||
| pdfsign | ||
| *.exe | ||
| *.test | ||
| *.prof | ||
|
|
||
| # OS specific checks | ||
| #------------------- | ||
| .DS_Store | ||
| .AppleDouble | ||
| .LSOverride | ||
| Thumbs.db | ||
|
|
||
| # IDEs | ||
| #----- | ||
| .idea | ||
| .vscode | ||
| *.swp | ||
|
|
||
| # Go | ||
| #--- | ||
| vendor/ | ||
| go.work | ||
| go.work.sum | ||
|
|
||
| # Certificates | ||
| #------------- | ||
| certs/* | ||
|
|
||
| # Test files | ||
| #----------- | ||
| *.pdf.* | ||
| !testfile*.pdf | ||
| testfiles/*_signed.pdf | ||
| testfiles/failed/* | ||
| testfiles/success/* | ||
| pdfsign | ||
| certs/* | ||
| tmp/ |
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The workflow sets up Go
^1.23, but the root go.mod declaresgo 1.24.0. This will fail in CI with a “go: go.mod requires go >= 1.24” style error. Update the workflow to use Go 1.24.x (or lower the module’s go directive if 1.24 features aren’t required).