Skip to content
This repository was archived by the owner on Jul 9, 2025. It is now read-only.
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
53 commits
Select commit Hold shift + click to select a range
f6b0e64
Move root Dockerfile to debian.dockerfile
Tristan971 Apr 26, 2025
46ee5ab
Add rockylinux dockerfile
Tristan971 Apr 26, 2025
f166d85
foo
Tristan971 Apr 26, 2025
da2fa29
force root user since rocky image defaults to MD user
Tristan971 Apr 26, 2025
8e571f8
use develroot rocky image
Tristan971 Apr 27, 2025
67ab3a0
raise dataplaneapi memory limit and set GOMEMLIMIT to try and rein in…
Tristan971 Apr 27, 2025
433a6d4
add necessary dependencies in non-debian golang build image
Tristan971 Apr 27, 2025
eff4fbe
remove unnecessary invocation of APT in agnostic job templates
Tristan971 Apr 27, 2025
533cd3a
cleanup build files a bit and make depbuilding a single step
Tristan971 Apr 27, 2025
b723cb3
add GLCI collapsible sections usage
Tristan971 Apr 27, 2025
fc850b1
foo
Tristan971 May 10, 2025
676ad03
trial
Tristan971 May 11, 2025
436991c
trial 2
Tristan971 May 11, 2025
dac7e88
trial 3
Tristan971 May 11, 2025
838bdf7
trial 4
Tristan971 May 11, 2025
4157ab4
fix dataplaneapi build
Tristan971 May 11, 2025
57489ff
fix import script directory handling
Tristan971 May 11, 2025
c2006ab
move pkl binary to project build root for caching
Tristan971 May 11, 2025
f9f0158
fix extract logic setup
Tristan971 May 11, 2025
07f3b25
remove dataplaneapi & fix deps paths AGAIN
Tristan971 May 11, 2025
0f1527e
when untarring deps, be verbose
Tristan971 May 11, 2025
706835c
fix missing pipefail in some shell scripts
Tristan971 May 11, 2025
30debb9
cleanup shell command wrapping
Tristan971 May 11, 2025
56cb43b
fix pkl binary fetch laziness
Tristan971 May 11, 2025
38f4d99
remove dataplaneapi stuff
Tristan971 May 11, 2025
b8c3941
replace build with arch-local packaging
Tristan971 May 11, 2025
48cc136
fix package version prefix for packaging
Tristan971 May 11, 2025
7cd415f
add fpm usage for packaging on redhat family
Tristan971 May 11, 2025
4499f12
fix make target for packaging
Tristan971 May 11, 2025
6f6e5b2
add optimization args where relevant
Tristan971 May 11, 2025
fc2fbbe
cleanup pipeline generation
Tristan971 May 11, 2025
22df431
fix missing interpolation in pkl step name
Tristan971 May 11, 2025
eebec18
shorter render/trigger job names
Tristan971 May 11, 2025
3ea1e8a
waouh
Tristan971 May 12, 2025
2ea0a0f
waouh2
Tristan971 May 12, 2025
58edadc
fixup
Tristan971 May 12, 2025
34c6ab8
ensure higher ram for docker build
Tristan971 May 12, 2025
38c5ad4
keep minimal microdnf setup after all for rocky
Tristan971 May 12, 2025
a81e274
Add deb/rpm publication
Tristan971 May 12, 2025
eb6756e
fixup deb/rpm publication
Tristan971 May 12, 2025
aeec2f5
add ci versions json file parsing dance
Tristan971 May 12, 2025
a532c65
more cleaning up
Tristan971 May 13, 2025
48e6599
gh side beginning
Tristan971 May 23, 2025
e17dbde
fixups for gh
Tristan971 May 23, 2025
3b1f5f7
replace debuilder with containers-base/debian develroot
Tristan971 May 24, 2025
caeb579
wire in docker image building
Tristan971 May 24, 2025
9f39e00
try setup
Tristan971 May 24, 2025
c0d395e
add missing checkout and eu shell options for buildvars step
Tristan971 May 24, 2025
8044371
fix output ref
Tristan971 May 24, 2025
6d97c28
Add caching of build dependencies
Tristan971 May 24, 2025
d681631
fix shell test
Tristan971 May 24, 2025
d838cd5
migrate from apt to apt-get
Tristan971 May 24, 2025
fc2cd2f
fix haproxy gitref injection for docker tags
Tristan971 May 24, 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
2 changes: 1 addition & 1 deletion .editorconfig
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ max_line_length = 120
tab_width = 4
trim_trailing_whitespace = true

[*.{md,yaml,yml}]
[*.{json,md,yaml,yml,sh}]
indent_size = 2
tab_width = 2

Expand Down
40 changes: 40 additions & 0 deletions .github/actions/archive-deps/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
name: "Archive Dependencies"
description: "Archive dependencies for use in subsequent steps"

inputs:
OS_FAMILY:
description: "Dependency build OS family"
required: true

runs:
using: "composite"
steps:
- name: "Dependencies - Archive - LUA"
uses: "actions/upload-artifact@v4"
with:
name: "lua-dist-${{ inputs.OS_FAMILY }}.tar.gz"
path: "deps/lua/lua-dist.tar.gz"

- name: "Dependencies - Archive - PCRE2"
uses: "actions/upload-artifact@v4"
with:
name: "pcre2-dist-${{ inputs.OS_FAMILY }}.tar.gz"
path: "deps/pcre2/pcre2-dist.tar.gz"

- name: "Dependencies - Archive - AWS-LC"
uses: "actions/upload-artifact@v4"
with:
name: "awslc-dist-${{ inputs.OS_FAMILY }}.tar.gz"
path: "deps/awslc/awslc-dist.tar.gz"

- name: "Dependencies - Archive - QuicTLS"
uses: "actions/upload-artifact@v4"
with:
name: "quictls-dist-${{ inputs.OS_FAMILY }}.tar.gz"
path: "deps/quictls/quictls-dist.tar.gz"

- name: "Dependencies - Archive - VTest"
uses: "actions/upload-artifact@v4"
with:
name: "vtest-dist-${{ inputs.OS_FAMILY }}.tar.gz"
path: "deps/vtest/vtest-dist.tar.gz"
80 changes: 0 additions & 80 deletions .github/actions/fetch-deps/action.yml

This file was deleted.

64 changes: 64 additions & 0 deletions .github/actions/retrieve-deps/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
name: "Retrieve Dependencies"
description: "Retrieve previously built dependencies"

inputs:
OS_FAMILY:
description: "Dependency build OS family"
required: true

runs:
using: "composite"
steps:
- name: "Dependencies - Retrieve - LUA"
uses: "actions/download-artifact@v4"
with:
name: "lua-dist-${{ inputs.OS_FAMILY }}.tar.gz"
path: "deps/lua"

- name: "Dependencies - Retrieve - PCRE2"
uses: "actions/download-artifact@v4"
with:
name: "pcre2-dist-${{ inputs.OS_FAMILY }}.tar.gz"
path: "deps/pcre2"

- name: "Dependencies - Retrieve - AWS-LC"
uses: "actions/download-artifact@v4"
with:
name: "awslc-dist-${{ inputs.OS_FAMILY }}.tar.gz"
path: "deps/awslc"

- name: "Dependencies - Retrieve - QuicTLS"
uses: "actions/download-artifact@v4"
with:
name: "quictls-dist-${{ inputs.OS_FAMILY }}.tar.gz"
path: "deps/quictls"

- name: "Dependencies - Retrieve - VTest"
uses: "actions/download-artifact@v4"
with:
name: "vtest-dist-${{ inputs.OS_FAMILY }}.tar.gz"
path: "deps/vtest"

- name: "Dependencies - Unpack"
shell: "bash"
run: |
set -euo pipefail

function unpack_dep() {
local dep="$1"
local tarball="deps/$dep/$dep-dist.tar.gz"
echo "Unpacking dependency name=$dep tarball=$tarball"
if ! [ -f "$tarball" ]; then
echo "tarball not found in deps/$dep:"
ls -l "deps/$dep"
exit 1
fi
mkdir -pv "deps/$dep/dist"
tar -C "deps/$dep/dist" -xf "$tarball"
}

unpack_dep "lua"
unpack_dep "pcre2"
unpack_dep "awslc"
unpack_dep "quictls"
unpack_dep "vtest"
23 changes: 14 additions & 9 deletions .github/actions/setup-os/action.yml
Original file line number Diff line number Diff line change
@@ -1,14 +1,19 @@
name: Setup Debian-based OS dependencies
description: |
Because we live in a dumb world where I have to care about the source OS' libc version of the programs I compile...
name: Setup OS dependencies

Fuck static linking forever
inputs:
OS_FAMILY:
description: "Dependency build OS family"
required: true

runs:
using: "composite"

steps:
- name: Install OS dependencies
shell: bash
run: |
./tool/setup-debian.sh
- name: "Install OS dependencies"
shell: "bash"
run: "./tool/setup-${{ inputs.OS_FAMILY }}.sh"
- name: "Ensure execution environment has sane ulimits"
shell: "bash"
run: "./tool/check-docker-ulimit.sh"
- name: "Allow Git read operations"
shell: "bash"
run: "git config --global --add safe.directory '*'"
39 changes: 10 additions & 29 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,35 +4,16 @@ on:
tags: [ "*" ]

jobs:
haproxy-dependencies:
uses: "./.github/workflows/haproxy-deps.yml"
debian:
uses: "./.github/workflows/pipeline.yml"
with:
DEBIAN_CODENAME: "bookworm"
OS_FAMILY: "debian"
OS_IMAGE: "ghcr.io/mangadex-pub/containers-base/debian:bookworm-develroot"
OS_PACKAGING: "deb"

dist-stable:
needs: [ "haproxy-dependencies" ]
uses: "./.github/workflows/haproxy-dist.yml"
secrets: "inherit" # for Docker image publication
rockylinux:
uses: "./.github/workflows/pipeline.yml"
with:
DEBIAN_CODENAME: "bookworm"
HAPROXY_FLAVOUR: "stable"
# https://git.haproxy.org/?p=haproxy-3.1.git;a=commit;h=v3.1.3
HAPROXY_GITREPO: "https://git.haproxy.org/?p=haproxy-3.1.git"
HAPROXY_VERSION: "3.1-stable"
HAPROXY_GITREF: "v3.1.3"
HAPROXY_DATAPLANEAPI_VERSION: "v3.0"
HAPROXY_OPTIMIZATION: "-O2"

dist-dev:
needs: [ "haproxy-dependencies" ]
uses: "./.github/workflows/haproxy-dist.yml"
secrets: "inherit" # for Docker image publication
with:
DEBIAN_CODENAME: "bookworm"
HAPROXY_FLAVOUR: "dev"
# https://git.haproxy.org/?p=haproxy.git;a=commit;h=8235a24782e528b9bf8ca9dd69c0a147556dfcb5
HAPROXY_GITREPO: "https://git.haproxy.org/?p=haproxy.git"
HAPROXY_VERSION: "3.2-dev"
HAPROXY_GITREF: "8235a24782e528b9bf8ca9dd69c0a147556dfcb5"
HAPROXY_DATAPLANEAPI_VERSION: "master"
HAPROXY_OPTIMIZATION: "-Og"
OS_FAMILY: "rockylinux"
OS_IMAGE: "ghcr.io/mangadex-pub/containers-base/rockylinux:9-develroot"
OS_PACKAGING: "rpm"
36 changes: 0 additions & 36 deletions .github/workflows/haproxy-deps.yml

This file was deleted.

Loading