Skip to content

feature/dedupe #415

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
wants to merge 3 commits into
base: master
Choose a base branch
from
Open

Conversation

StaticRocket
Copy link
Member

  • ci(deploy): add a deduplication stage

    Add a deduplication stage that uses the new dedupe.py script to cut down on
    duplicated deployment assets.

    Signed-off-by: Randolph Sapp [email protected]

  • feat(dedupe): add a deduplication script

    Add a script capable of deduplicating assets used between multiple build
    targets.

    When attempting to play with sphinx's asset paths I noticed there was a lot of
    logic around preserving relative links. It didn't seem like they want to allow
    usage of an asset path outside of the build directory.

    The WebSupport class seemed to allow some of that flexibility we were looking
    for, but unfortunately it still assumes the conf.py is in the source directory
    and has issues working with other Sphinx extensions like ifconfig.

    Given what we are doing seems to be a niche usecase, we can address this with
    a little post processing using lxml filters.

    Signed-off-by: Randolph Sapp [email protected]

  • feat(docker): add lxml as a requirement

    Add lxml as a requirement for a deduplication script we'll use to reduce
    deployment size on GitHub.

    Signed-off-by: Randolph Sapp [email protected]


This script can cut our current deployment size down from 1.2 GB to 288 MB in ~30 seconds.

Add lxml as a requirement for a deduplication script we'll use to reduce
deployment size on GitHub.

Signed-off-by: Randolph Sapp <[email protected]>
Add a script capable of deduplicating assets used between multiple build
targets.

When attempting to play with sphinx's asset paths I noticed there was a
lot of logic around preserving relative links. It didn't seem like they
want to allow usage of an asset path outside of the build directory.

The WebSupport class seemed to allow some of that flexibility we were
looking for, but unfortunately it still assumes the conf.py is in the
source directory and has issues working with other Sphinx extensions
like ifconfig.

Given what we are doing seems to be a niche usecase, we can address this
with a little post processing using lxml filters.

Signed-off-by: Randolph Sapp <[email protected]>
Add a deduplication stage that uses the new dedupe.py script to cut down
on duplicated deployment assets.

Signed-off-by: Randolph Sapp <[email protected]>
@StaticRocket
Copy link
Member Author

Some of this logic may be a bit wacky, I was not giving this my full attention. I need to do a proper review tomorrow.

@StaticRocket
Copy link
Member Author

Eh, I think this is still fine for what we're doing here. Ready for other reviews.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant