@@ -14,6 +14,7 @@ The action compiles VPP from source, optionally building a static `vppctl` binar
1414 with :
1515 MAKE_PARALLEL_JOBS : ' 16'
1616 BUILD_TYPE : ' release'
17+ BUILD_HST : ' false'
1718` ` `
1819
1920## Inputs
@@ -22,6 +23,7 @@ The action compiles VPP from source, optionally building a static `vppctl` binar
2223|-------|-------------|----------|---------|
2324| ` MAKE_PARALLEL_JOBS` | Number of parallel jobs for `make` to control build parallelism | No | `""` (empty, uses make's default) |
2425| `BUILD_TYPE` | Type of build to perform : ` debug` or `release` | No | `release` |
26+ | `BUILD_HST` | Build for HostStack Test (HST) framework | No | `false` |
2527| `TUI_LINE` | Delimiter line for terminal UI output formatting | No | `*******************************************************************` |
2628
2729# # Outputs
@@ -34,19 +36,42 @@ This action does not produce explicit outputs, but it will:
3436
3537# # Build Behavior
3638
37- # ## Release Build (default)
39+ The action supports two distinct build modes : **Standard VPP Build** and **HST (HostStack Test) Build**.
40+
41+ # ## Standard VPP Build (`BUILD_HST: "false"` - default)
42+
43+ # ### Release Build (default)
3844- Runs `make UNATTENDED=yes MAKE_PARALLEL_JOBS=<value> pkg-verify`
3945- Builds and verifies VPP packages
4046- Suitable for production releases and package validation
4147
42- # ## Debug Build
48+ # ### Debug Build
4349- Runs `make UNATTENDED=yes MAKE_PARALLEL_JOBS=<value> build`
4450- Builds VPP with debug symbols
4551- Suitable for development and debugging
4652
47- # ## Static vppctl
53+ # ### Static vppctl
4854If `extras/scripts/build_static_vppctl.sh` exists, it will be executed before the main build to create a statically-linked vppctl binary.
4955
56+ # ## HST (HostStack Test) Build (`BUILD_HST: "true"`)
57+
58+ The HST build mode is optimized for HostStack Testing framework and uses different make targets :
59+
60+ # ### HST Release Build
61+ - Runs `make UNATTENDED=yes MAKE_PARALLEL_JOBS=<value> build-release`
62+ - Builds VPP optimized for HST testing
63+ - Does not include package verification step
64+
65+ # ### HST Debug Build
66+ - Runs `make UNATTENDED=yes MAKE_PARALLEL_JOBS=<value> build`
67+ - Same as standard debug build but in HST context
68+ - Builds VPP with debug symbols for HST testing
69+
70+ # ### HST Build Features
71+ - **No Static vppctl**: HST builds skip the static vppctl build step
72+ - **Optimized Targets**: Uses HST-specific make targets for better test performance
73+ - **Streamlined Process**: Simplified build process focused on test execution needs
74+
5075# # Prerequisites
5176
5277Before using this action, ensure the following actions have been run :
83108 with:
84109 MAKE_PARALLEL_JOBS: '16'
85110 BUILD_TYPE: ${{ matrix.build-type }}
111+ BUILD_HST: 'false'
86112` ` `
87113
88114# # Error Handling
@@ -100,12 +126,53 @@ The following environment variables are expected to be set by upstream actions:
100126- `OS_VERSION_ID` : OS version identifier (e.g., `22.04`, `24.04`)
101127- `OS_ARCH` : CPU architecture (e.g., `x86_64`, `aarch64`)
102128
129+ # ## HST-Specific Workflow
130+
131+ ` ` ` yaml
132+ jobs:
133+ build-vpp-hst:
134+ runs-on: ubuntu-latest
135+ strategy:
136+ matrix:
137+ build-type: ['debug', 'release']
138+
139+ steps:
140+ - name: Checkout
141+ uses: actions/checkout@v5
142+
143+ - name: Setup Environment
144+ uses: fdio/.github/.github/actions/setup-executor-env@main
145+
146+ - name: Install VPP Dependencies
147+ uses: fdio/vpp/.github/actions/vpp-install-deps@master
148+
149+ - name: Install VPP External Dependencies
150+ uses: fdio/vpp/.github/actions/vpp-install-ext-deps@master
151+
152+ - name: Build VPP for HST
153+ uses: fdio/vpp/.github/actions/vpp-build@master
154+ with:
155+ MAKE_PARALLEL_JOBS: '16'
156+ BUILD_TYPE: ${{ matrix.build-type }}
157+ BUILD_HST: 'true'
158+ ` ` `
159+
160+ # # Build Target Reference
161+
162+ | Build Mode | Build Type | Make Target | Use Case |
163+ |------------|------------|-------------|----------|
164+ | Standard | Release | `pkg-verify` | Production packages with verification |
165+ | Standard | Debug | `build` | Development and debugging |
166+ | HST | Release | `build-release` | HST framework testing |
167+ | HST | Debug | `build` | HST framework debugging |
168+
103169# # Notes
104170
105171- The action uses `UNATTENDED=yes` to prevent interactive prompts during the build
106172- Build output includes visual separators for improved log readability
107173- Parallel job count can be left empty to use make's default parallelism
108- - The action supports both Makefile targets : ` build` (debug) and `pkg-verify` (release)
174+ - The action supports multiple Makefile targets based on build mode and type
175+ - HST builds are optimized for HostStack Test framework requirements
109176
110177# # Troubleshooting
111178
@@ -118,6 +185,8 @@ Verify that `setup-executor-env` action has been executed to set `OS_ID`, `OS_VE
118185# ## Out of Memory Errors
119186Reduce the `MAKE_PARALLEL_JOBS` value to decrease memory consumption during parallel compilation.
120187
121- # # License
122-
123- This action is part of the VPP project. See the main repository LICENSE file for details.
188+ # ## HST Build Issues
189+ If HST builds fail :
190+ - Verify the VPP version supports HST-specific make targets (`build-release`)
191+ - Check that the build environment is properly configured for HST testing
192+ - Try switching to standard build mode (`BUILD_HST : ' false' ` ) to isolate HST-specific issues
0 commit comments