Skip to content

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 rs@ti.com

  • 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 rs@ti.com

  • 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 rs@ti.com


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 <rs@ti.com>
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 <rs@ti.com>
Add a deduplication stage that uses the new dedupe.py script to cut down
on duplicated deployment assets.

Signed-off-by: Randolph Sapp <rs@ti.com>
@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.

@praneethbajjuri
Copy link
Collaborator

@sadik-smd , @aniket-l , @VeeruPrudhvi please review

Copy link
Member

@cshilwant cshilwant left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I haven't built and tested the workflow on my personal fork, but since this commit doesn't modify any content that would impact release docs on ti.com, I'm giving my ack

@StaticRocket StaticRocket merged commit 1a48e30 into TexasInstruments:master Oct 10, 2025
3 checks passed
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.

3 participants