* add additional testing pairs 0010-0011 for integration
some of these files required the skip missing fonts flag set to true
- propagate use lenient parsing for dictionaries inside arrays, handles a
corrupt file 0012710 not in this test set
* add pair 0012-0013
* revert flate decode handling to more lenient processing
the change to use zlib/a adler checksum verification flow meant that
invalid flate streams would not be decoded correctly. this caused
issues for files that included invalid/missing checksums. this reverts
the processing to the old approach for files like #1235
* fix object stream offset handling and track circular refs
* update tests
* normalize line endings for mac runner
* fixes for mac clownery
* add next pair to common crawl action
* add a test case for the root cause of the int overflow
since actions do not have permissions to push
directly to master and bot accounts to achieve
the same are hard to manage we will change the
release flow to work as follows.
1. manually invoke `prepare_release_pr.yml` action,
this creates a new branch with the version of all
project files updated and creates a pull request for
that version. this pr then should be merged using
rebase merge
2. `tag_release.yml` checks if the newest commit
name starts with the text "Release " and also verifies
if it changed the version of the package csproj. if
both those conditions are met it will create and
push a new tag, e.g. `v0.1.17` to master
3. `publish_nuget.yml` listens for new `v*` tags on
master and triggers the nuget deployment
this is all chat gpt code so who knows if it will work
* read last line of ignore file
- do not cancel other matrix jobs if one test fails
- read all lines of the ignore list even if it doesn't end with a newline
- add ignore list for 0008 and 0009
* support missing object numbers when brute-forcing
the file 10404 (ironically) contains not found references with number 43 0
for its info dictionary. changes brute-force code so that objects can be
entirely missing
* fix test since document is now opened successfully but mediabox is broken
* remove alpha postfix, releases will increment version
* update the master build job to draft a release
* add publish action to publish full release
* enable setting assembly and file version
* bump assembly and file version for package project
---------
Co-authored-by: BobLd <38405645+BobLd@users.noreply.github.com>
while nightly builds are useful they also cause
a large amount of spam on the main project
nuget. here we try to change the package id
so that it will be hosted as a separate package
while having all the same code and namespaces
this means people can opt into the nightly builds
while keeping the version history of the released
package tidy.
no idea if this will work because actions and
yaml is my idea of hell and is impossible to
debug, but let's give it a go