Skip to content
Merged
Show file tree
Hide file tree
Changes from 23 commits
Commits
Show all changes
27 commits
Select commit Hold shift + click to select a range
acc4a62
Add manylinux deps image build
Bill-hbrhbr Aug 24, 2025
f1c7024
Merge branch 'y-scope:main' into add-manylinux-musllinux-deps-img
Bill-hbrhbr Aug 24, 2025
81d6799
Small fix
Bill-hbrhbr Aug 24, 2025
bdb75bb
Create filter outputs
Bill-hbrhbr Aug 24, 2025
373d43f
Update docker dir
Bill-hbrhbr Aug 24, 2025
7f8706e
Fix cmake version
Bill-hbrhbr Aug 25, 2025
b5da810
Merge branch 'main' into add-manylinux-musllinux-deps-img
Bill-hbrhbr Aug 25, 2025
39d7abb
Add remaining workflows
Bill-hbrhbr Aug 25, 2025
916a4b6
Remove unrelated changes
Bill-hbrhbr Aug 25, 2025
06a9020
Update docs
Bill-hbrhbr Aug 25, 2025
0157ac4
Merge branch 'main' into add-manylinux-musllinux-deps-img
jackluo923 Aug 25, 2025
b6f1436
Add manylinux arm64 deps img workflow
Bill-hbrhbr Aug 25, 2025
93bee22
Add both x86_64 and arm64 versions for two platforms
Bill-hbrhbr Aug 25, 2025
22cfccc
fox
Bill-hbrhbr Aug 25, 2025
8adc4e6
use matrix
Bill-hbrhbr Aug 25, 2025
ff98538
Update vars
Bill-hbrhbr Aug 25, 2025
bff7064
Fix grammar
Bill-hbrhbr Aug 25, 2025
6224601
revert optimizations
Bill-hbrhbr Aug 25, 2025
828e634
Fix image prefixes with arch type
Bill-hbrhbr Aug 25, 2025
386e5dc
Alphabeticize
Bill-hbrhbr Aug 25, 2025
6f5579b
Remove doc updates since manylinux and musllinux are not common OS pl…
Bill-hbrhbr Aug 25, 2025
b674025
Merge branch 'main' into add-manylinux-musllinux-deps-img
Bill-hbrhbr Aug 26, 2025
bc976fe
Add docs and remove aarch64 builds
Bill-hbrhbr Aug 26, 2025
8d463fd
cleanup version changes
Bill-hbrhbr Aug 26, 2025
d68ddba
Apply suggestions from code review
Bill-hbrhbr Aug 27, 2025
06d2ca8
Merge branch 'main' into add-manylinux-musllinux-deps-img
Bill-hbrhbr Aug 27, 2025
eec0822
Merge branch 'main' into add-manylinux-musllinux-deps-img
Bill-hbrhbr Aug 28, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
148 changes: 148 additions & 0 deletions .github/workflows/clp-core-build.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,8 @@ jobs:
runs-on: "ubuntu-24.04"
outputs:
centos_stream_9_image_changed: "${{steps.filter.outputs.centos_stream_9_image}}"
manylinux_2_28_x86_64_image_changed: "${{steps.filter.outputs.manylinux_2_28_x86_64_image}}"
musllinux_1_2_x86_64_image_changed: "${{steps.filter.outputs.musllinux_1_2_x86_64_image}}"
ubuntu_jammy_image_changed: "${{steps.filter.outputs.ubuntu_jammy_image}}"
clp_changed: "${{steps.filter.outputs.clp}}"
steps:
Expand Down Expand Up @@ -76,6 +78,18 @@ jobs:
- "components/core/tools/scripts/lib_install/*.sh"
- "components/core/tools/docker-images/clp-env-base-centos-stream-9/**"
- "components/core/tools/scripts/lib_install/centos-stream-9/**"
manylinux_2_28_x86_64_image:
- ".github/actions/**"
- ".github/workflows/clp-core-build.yaml"
- "components/core/tools/scripts/lib_install/*.sh"
- "components/core/tools/docker-images/clp-env-base-manylinux_2_28-x86_64/**"
- "components/core/tools/scripts/lib_install/manylinux_2_28/**"
musllinux_1_2_x86_64_image:
- ".github/actions/**"
- ".github/workflows/clp-core-build.yaml"
- "components/core/tools/scripts/lib_install/*.sh"
- "components/core/tools/docker-images/clp-env-base-musllinux_1_2-x86_64/**"
- "components/core/tools/scripts/lib_install/musllinux_1_2/**"
ubuntu_jammy_image:
- ".github/actions/**"
- ".github/workflows/clp-core-build.yaml"
Expand Down Expand Up @@ -121,6 +135,58 @@ jobs:
${{github.event_name != 'pull_request' && github.ref == 'refs/heads/main'}}
token: "${{secrets.GITHUB_TOKEN}}"

manylinux_2_28-x86_64-deps-image:
name: "manylinux_2_28-x86_64-deps-image"
if: "needs.filter-relevant-changes.outputs.manylinux_2_28_x86_64_image_changed == 'true'"
needs: "filter-relevant-changes"
runs-on: "ubuntu-24.04"
steps:
- uses: "actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683"
with:
submodules: "recursive"

- name: "Work around actions/runner-images/issues/6775"
run: "chown $(id -u):$(id -g) -R ."
shell: "bash"

- uses: "./.github/actions/clp-core-build-containers"
env:
OS_NAME: "manylinux_2_28"
with:
image_name: "${{env.DEPS_IMAGE_NAME_PREFIX}}${{env.OS_NAME}}"
docker_context: "components/core"
docker_file: "components/core/tools/docker-images/clp-env-base-${{env.OS_NAME}}-x86_64\
/Dockerfile"
push_deps_image: >-
${{github.event_name != 'pull_request' && github.ref == 'refs/heads/main'}}
token: "${{secrets.GITHUB_TOKEN}}"

musllinux_1_2-x86_64-deps-image:
name: "musllinux_1_2-x86_64-deps-image"
if: "needs.filter-relevant-changes.outputs.musllinux_1_2_x86_64_image_changed == 'true'"
needs: "filter-relevant-changes"
runs-on: "ubuntu-24.04"
steps:
- uses: "actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683"
with:
submodules: "recursive"

- name: "Work around actions/runner-images/issues/6775"
run: "chown $(id -u):$(id -g) -R ."
shell: "bash"

- uses: "./.github/actions/clp-core-build-containers"
env:
OS_NAME: "musllinux_1_2"
with:
image_name: "${{env.DEPS_IMAGE_NAME_PREFIX}}${{env.OS_NAME}}"
docker_context: "components/core"
docker_file: "components/core/tools/docker-images/clp-env-base-${{env.OS_NAME}}-x86_64\
/Dockerfile"
push_deps_image: >-
${{github.event_name != 'pull_request' && github.ref == 'refs/heads/main'}}
token: "${{secrets.GITHUB_TOKEN}}"

ubuntu-jammy-deps-image:
name: "ubuntu-jammy-deps-image"
if: "needs.filter-relevant-changes.outputs.ubuntu_jammy_image_changed == 'true'"
Expand Down Expand Up @@ -186,6 +252,88 @@ jobs:
--build-dir /mnt/repo/components/core/build
--num-jobs $(getconf _NPROCESSORS_ONLN)

manylinux_2_28-x86_64-binaries:
# Run if the ancestor jobs succeeded OR they were skipped and clp was changed.
if: >-
success()
|| (!cancelled() && !failure() && needs.filter-relevant-changes.outputs.clp_changed == 'true')
needs:
- "manylinux_2_28-x86_64-deps-image"
- "filter-relevant-changes"
strategy:
matrix:
use_shared_libs: [true, false]
name: >-
manylinux_2_28-x86_64-${{matrix.use_shared_libs == true && 'dynamic' ||
'static'}}-linked-bins
continue-on-error: true
runs-on: "ubuntu-24.04"
steps:
- uses: "actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683"
with:
submodules: "recursive"

- name: "Work around actions/runner-images/issues/6775"
run: "chown $(id -u):$(id -g) -R ."
shell: "bash"

- uses: "./.github/actions/run-on-image"
env:
OS_NAME: "manylinux_2_28"
with:
image_name: "${{env.DEPS_IMAGE_NAME_PREFIX}}${{env.OS_NAME}}"
use_published_image: >-
${{needs.filter-relevant-changes.outputs.manylinux_2_28_x86_64_image_changed == 'false'
|| (github.event_name != 'pull_request' && github.ref == 'refs/heads/main')}}
run_command: >-
CLP_CORE_MAX_PARALLELISM_PER_BUILD_TASK=$(getconf _NPROCESSORS_ONLN) task deps:core
&& python3 /mnt/repo/components/core/tools/scripts/utils/build-and-run-unit-tests.py
${{matrix.use_shared_libs == true && '--use-shared-libs' || ''}}
--source-dir /mnt/repo/components/core
--build-dir /mnt/repo/components/core/build
--num-jobs $(getconf _NPROCESSORS_ONLN)

musllinux_1_2-x86_64-binaries:
# Run if the ancestor jobs succeeded OR they were skipped and clp was changed.
if: >-
success()
|| (!cancelled() && !failure() && needs.filter-relevant-changes.outputs.clp_changed == 'true')
needs:
- "musllinux_1_2-x86_64-deps-image"
- "filter-relevant-changes"
strategy:
matrix:
use_shared_libs: [true, false]
name: >-
musllinux_1_2-x86_64-${{matrix.use_shared_libs == true && 'dynamic' ||
'static'}}-linked-bins
continue-on-error: true
runs-on: "ubuntu-24.04"
steps:
- uses: "actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683"
with:
submodules: "recursive"

- name: "Work around actions/runner-images/issues/6775"
run: "chown $(id -u):$(id -g) -R ."
shell: "bash"

- uses: "./.github/actions/run-on-image"
env:
OS_NAME: "musllinux_1_2"
with:
image_name: "${{env.DEPS_IMAGE_NAME_PREFIX}}${{env.OS_NAME}}"
use_published_image: >-
${{needs.filter-relevant-changes.outputs.musllinux_1_2_x86_64_image_changed == 'false'
|| (github.event_name != 'pull_request' && github.ref == 'refs/heads/main')}}
run_command: >-
CLP_CORE_MAX_PARALLELISM_PER_BUILD_TASK=$(getconf _NPROCESSORS_ONLN) task deps:core
&& python3 /mnt/repo/components/core/tools/scripts/utils/build-and-run-unit-tests.py
${{matrix.use_shared_libs == true && '--use-shared-libs' || ''}}
--source-dir /mnt/repo/components/core
--build-dir /mnt/repo/components/core/build
--num-jobs $(getconf _NPROCESSORS_ONLN)

ubuntu-jammy-binaries:
# Run if the ancestor jobs succeeded OR they were skipped and clp was changed.
if: >-
Expand Down
17 changes: 8 additions & 9 deletions docs/src/dev-guide/components-core/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -38,23 +38,22 @@ The task will download, build, and install (within the build directory) the foll
| [abseil-cpp](https://github.com/abseil/abseil-cpp) | 20250512.0 |
| [ANTLR](https://www.antlr.org) | v4.13.2 |
| [Boost](https://github.com/boostorg/boost) | v1.87.0 |
| [Catch2](https://github.com/catchorg/Catch2) | v3.8.0 |
| [date](https://github.com/HowardHinnant/date) | v3.0.1 |
| [Catch2](https://github.com/catchorg/Catch2.git) | v3.8.0 |
| [date](https://github.com/HowardHinnant/date.git) | v3.0.1 |
| [fmt](https://github.com/fmtlib/fmt) | v10.2.1 |
| [json](https://github.com/nlohmann/json.git) | v3.11.3 |
| [log-surgeon](https://github.com/y-scope/log-surgeon) | f801a3f |
| [liblzma](https://github.com/tukaani-project/xz) | v5.8.1 |
| [log-surgeon](https://github.com/y-scope/log-surgeon) | a82ad13 |
| [lz4](https://github.com/lz4/lz4) | v1.10.0 |
| [microsoft.gsl](https://github.com/microsoft/GSL) | v4.0.0 |
| [mongo-cxx-driver](https://github.com/mongodb/mongo-cxx-driver) | r3.10.2 |
| [msgpack-cxx](https://github.com/msgpack/msgpack-c/tree/cpp_master) | v7.0.0 |
| [nlohmann_json](https://github.com/nlohmann/json) | v3.11.3 |
| [simdjson](https://github.com/simdjson/simdjson) | v3.13.0 |
| [spdlog](https://github.com/gabime/spdlog) | v1.14.1 |
| [SQLite3](https://www.sqlite.org/download.html) | v3.36.0 |
| [utfcpp](https://github.com/nemtrif/utfcpp) | v4.0.6 |
| [yaml-cpp](https://github.com/jbeder/yaml-cpp) | v0.7.0 |
| [yscope-log-viewer](https://github.com/y-scope/yscope-log-viewer) | 3abe4cc |
| [ystdlib-cpp](https://github.com/y-scope/ystdlib-cpp) | d80cf86 |
| [uftcpp](https://github.com/nemtrif/utfcpp.git) | v4.0.6 |
| [yaml-cpp](https://github.com/jbeder/yaml-cpp.git) | v0.7.0 |
| [yscope-log-viewer](https://github.com/y-scope/yscope-log-viewer.git) | 969ff35 |
| [ystdlib-cpp](https://github.com/y-scope/ystdlib-cpp.git) | d80cf86 |
| [zlib](https://github.com/madler/zlib) | v1.3.1 |
| [zstd](https://github.com/facebook/zstd) | v1.5.7 |

Expand Down
16 changes: 16 additions & 0 deletions docs/src/dev-guide/tooling-containers.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,13 @@ distros using glibc 2.28+, including:

### clp-core-dependencies-x86-manylinux_2_28

* [GitHub Packages page][core-deps-manylinux_2_28-x86_64]
* Pull command:

```bash
docker pull ghcr.io/y-scope/clp/clp-core-dependencies-x86-manylinux_2_28:main
```

* Path:

```text
Expand All @@ -55,6 +62,13 @@ other distros using musl 1.2, including:

### clp-core-dependencies-x86-musllinux_1_2

* [GitHub Packages page][core-deps-musllinux_1_2-x86_64]
* Pull command:

```bash
docker pull ghcr.io/y-scope/clp/clp-core-dependencies-x86-musllinux_1_2:main
```

* Path:

```text
Expand Down Expand Up @@ -134,6 +148,8 @@ environment.
```

[core-deps-centos-stream-9]: https://github.com/y-scope/clp/pkgs/container/clp%2Fclp-core-dependencies-x86-centos-stream-9
[core-deps-manylinux_2_28-x86_64]: https://github.com/y-scope/clp/pkgs/container/clp%2Fclp-core-dependencies-x86-manylinux_2_28
[core-deps-musllinux_1_2-x86_64]: https://github.com/y-scope/clp/pkgs/container/clp%2Fclp-core-dependencies-x86-musllinux_1_2
[core-deps-ubuntu-jammy]: https://github.com/y-scope/clp/pkgs/container/clp%2Fclp-core-dependencies-x86-ubuntu-jammy
[core-ubuntu-jammy]: https://github.com/y-scope/clp/pkgs/container/clp%2Fclp-core-x86-ubuntu-jammy
[exe-ubuntu-jammy]: https://github.com/y-scope/clp/pkgs/container/clp%2Fclp-execution-x86-ubuntu-jammy
Expand Down
14 changes: 14 additions & 0 deletions docs/src/dev-guide/tooling-gh-workflows.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,10 +29,16 @@ shown below.
}%%
flowchart TD
filter-relevant-changes --> centos-stream-9-deps-image
filter-relevant-changes --> manylinux_2_28-x86_64-deps-image
filter-relevant-changes --> musllinux_1_2-x86_64-deps-image
filter-relevant-changes --> ubuntu-jammy-deps-image
filter-relevant-changes --> centos-stream-9-binaries
filter-relevant-changes --> manylinux_2_28-x86_64-binaries
filter-relevant-changes --> musllinux_1_2-x86_64-binaries
filter-relevant-changes --> ubuntu-jammy-binaries
centos-stream-9-deps-image --> centos-stream-9-binaries
manylinux_2_28-x86_64-deps-image --> manylinux_2_28-x86_64-binaries
musllinux_1_2-x86_64-deps-image --> musllinux_1_2-x86_64-binaries
ubuntu-jammy-deps-image --> ubuntu-jammy-binaries
ubuntu-jammy-binaries --> ubuntu-jammy-binaries-image
:::
Expand All @@ -43,10 +49,18 @@ Arrows between jobs indicate a dependency. The jobs are as follows:
the following jobs should run.
* `centos-stream-9-deps-image`: Builds a container image containing the dependencies necessary to
build CLP-core in a CentOS Stream 9 x86 environment.
* `manylinux_2_28-x86_64-deps-image`: Builds a container image containing the dependencies necessary
to build CLP-core in a Manylinux 2.28 x86 environment.
* `musllinux_1_2-x86_64-deps-image`: Builds a container image containing the dependencies necessary
to build CLP-core in a Musllinux 1.2 x86 environment.
* `ubuntu-jammy-deps-image`: Builds a container image containing the dependencies necessary to build
CLP-core in an Ubuntu Jammy x86 environment.
* `centos-stream-9-binaries`: Builds the CLP-core binaries in the built CentOS Stream 9 container
and runs core's unit tests.
* `manylinux_2_28-x86_64-binaries`: Builds the CLP-core binaries in the built Manylinux 2.28
container and runs core's unit tests.
* `musllinux_1_2-x86_64-binaries`: Builds the CLP-core binaries in the built Musllinux 1.2 container
and runs core's unit tests.
* `ubuntu-jammy-binaries`: Builds the CLP-core binaries in the built Ubuntu Jammy container and runs
core's unit tests.
* `ubuntu-jammy-binaries-image`: Builds an Ubuntu Jammy container image containing CLP-core's
Expand Down
Loading