From 7ab4b318edcd74dd36dcf7200fe6b89ecafc64f6 Mon Sep 17 00:00:00 2001 From: Billy Lynch <1844673+wlynch@users.noreply.github.com> Date: Thu, 26 Sep 2024 19:40:08 -0400 Subject: [PATCH] Add datawire-envoy (#29400) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This is a fork of envoy with patches applied by Ambassador for their emissary project. See https://github.com/emissary-ingress/emissary/blob/ac2dc64c6621cd8ec5617f3328544364bdd3fb01/DevDocumentation/ARCHITECTURE.md#envoy The only modification here from base envoy is the source location. These should try and stay in sync, but I don't know if there's a better way to represent this. Related: https://github.com/chainguard-dev/image-requests/issues/3494 ### Pre-review Checklist #### For new package PRs only - [x] This PR is marked as fixing a pre-existing package request bug - [ ] Alternatively, the PR is marked as related to a pre-existing package request bug, such as a dependency - [ ] REQUIRED - The package is available under an OSI-approved or FSF-approved license - [ ] REQUIRED - The version of the package is still receiving security updates - [ ] This PR links to the upstream project's support policy (e.g. `endoflife.date`) #### For new version streams - [x] The upstream project actually supports multiple concurrent versions. - [ ] Any subpackages include the version string in their package name (e.g. `name: ${{package.name}}-compat`) - [ ] The package (and subpackages) `provides:` logical unversioned forms of the package (e.g. `nodejs`, `nodejs-lts`) - [ ] If non-streamed package names no longer built, open PR to withdraw them (see [WITHDRAWING PACKAGES](https://github.com/wolfi-dev/os/blob/main/WITHDRAWING_PACKAGES.md)) I believe this supports the same upstream version streams as envoy. --------- Signed-off-by: Billy Lynch <1844673+wlynch@users.noreply.github.com> Co-authored-by: Ajay Kemparaj --- datawire-envoy-1.31.yaml | 84 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 84 insertions(+) create mode 100644 datawire-envoy-1.31.yaml diff --git a/datawire-envoy-1.31.yaml b/datawire-envoy-1.31.yaml new file mode 100644 index 0000000000..7bafaea426 --- /dev/null +++ b/datawire-envoy-1.31.yaml @@ -0,0 +1,84 @@ +package: + name: datawire-envoy-1.31 + version: 1.31.2 + epoch: 0 + description: Ambassador fork of Envoy Proxy. + copyright: + - license: Apache-2.0 + resources: + cpu: 20 + memory: 50Gi + dependencies: + provides: + - datawire-envoy=${{package.full-version}} + +environment: + contents: + packages: + - bash + - bazel-6 + - binutils + - build-base + - busybox + - ca-certificates-bundle + - clang~15 + - cmake + - coreutils + - git + - libtool + - llvm-libcxx-15 + - llvm-libcxx-15-dev + - llvm-libcxxabi-15 + - llvm-lld-15 + - llvm15 + - llvm15-cmake-default + - llvm15-dev + - llvm15-tools + - openjdk-11 + - patch + - python3-dev + - samurai + - wolfi-baselayout + +pipeline: + - uses: git-checkout + with: + repository: https://github.com/datawire/envoy + tag: v${{package.version}} + expected-commit: 07c86f395d7787eb6bdbc787bf775e1f7ddbb2e8 + destination: envoy + + - runs: | + export JAVA_HOME=/usr/lib/jvm/java-11-openjdk + mkdir -p .cache/bazel/_bazel_root + + cd envoy + # The Python interpreter complains about being run as root, there's a flag to pass to disable that warning. + sed -i 's/envoy_dependencies_extra()/envoy_dependencies_extra(ignore_root_user_error=True)/g' WORKSPACE + + ./bazel/setup_clang.sh /usr + echo "build --config=libc++" >> user.bazelrc + + bazel build --verbose_failures -c opt envoy + + mkdir -p ${{targets.destdir}}/usr/bin/ + mv bazel-bin/source/exe/envoy-static ${{targets.destdir}}/usr/bin/envoy + + # We no longer need this cache dir, which has some writable files. + rm -rf ../.cache/bazel/_bazel_root + + - uses: strip + +update: + enabled: true + github: + identifier: datawire/envoy + strip-prefix: v + use-tag: true + tag-filter-prefix: v1.31 + +test: + pipeline: + # AUTOGENERATED + - runs: | + envoy --version