Skip to content

Conversation

@travisb-nexthop
Copy link
Contributor

Pre-submission checklist

  • I've ran the linters locally and fixed lint errors related to the files I modified in this PR. You can install the linters by running pip install -r requirements-dev.txt && pre-commit install
  • pre-commit run

Summary

Split the single package into five packages based on three targets:

forwarding-stack: The forwarding stack and files necessary for execution
platform-stack: The platform stack and supporting files
agent-benchmarks: The agent benchmark HW tests

The platform-stack and forwarding-stack targets have a production archive and a -test archive which contains the tests and utility files for that component.

This is necessary so we can install the Platform Stack and Forwarding Stack at different times in the Distro Image. Further, we don't want to install the tests in the Distro Image which is supposed to represent a production-like environment.

This does slightly less than package-fboss.py which copies several unnecessary files (such as .a library archives) and attempts to dynamically package library dependencies from the build container. We don't want the former files installed into the Distro Image and the latter libraries are currently being put into the Distro Image in another way.

Also this script does not support compressing the archives because the archives are intended as intermediate artifacts which are shortly consumed by a Distro Image build. Compressing these outputs prior to publishing as reference artifacts is the responsibility of a different, yet to be written, component.

Test Plan

Inside the build container, run both package.py for all three targets and manually verify that each produces the matching tar files.

Summary
======

Split the single package into five packages based on three targets:

forwarding-stack: The forwarding stack and files necessary for
    execution
platform-stack: The platform stack and supporting files
agent-benchmarks: The agent benchmark HW tests

The platform-stack and forwarding-stack targets have a production
archive and a -test archive which contains the tests and utility files
for that component.

This is necessary so we can install the Platform Stack and Forwarding
Stack at different times in the Distro Image. Further, we don't want
to install the tests in the Distro Image which is supposed to
represent a production-like environment.

This does slightly less than package-fboss.py which copies several
unnecessary files (such as .a library archives) and attempts to
dynamically package library dependencies from the build container. We
don't want the former files installed into the Distro Image and the
latter libraries are currently being put into the Distro Image in
another way.

Test Plan
=========

Inside the build container, run both package.py for all three targets
and manually verify that each produces the matching tar files.
@meta-cla meta-cla bot added the CLA Signed label Dec 19, 2025
@travisb-nexthop travisb-nexthop marked this pull request as ready for review December 19, 2025 23:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant