diff --git a/gitaly-18.4.yaml b/gitaly-18.4.yaml new file mode 100644 index 00000000000..9db229e924b --- /dev/null +++ b/gitaly-18.4.yaml @@ -0,0 +1,151 @@ +package: + name: gitaly-18.4 + version: "18.4.0" + epoch: 0 # CVE-2025-47907 + description: + copyright: + - license: MIT + dependencies: + provides: + - gitaly=${{package.full-version}} + runtime: + - gitaly-backup-${{vars.major-minor-version}} + +var-transforms: + - from: ${{package.version}} + match: ^(\d+\.\d+)\.\d+$ + replace: "$1" + to: major-minor-version + +environment: + contents: + packages: + - build-base + - busybox + - curl-dev + - expat-dev + - openssl-dev + - pcre2-dev + - wolfi-base + - zlib-dev + environment: + WITH_BUNDLED_GIT: YesPlease + +pipeline: + - uses: git-checkout + with: + repository: https://gitlab.com/gitlab-org/gitaly.git + tag: v${{package.version}} + expected-commit: e0662676eee1db77f0e541c4d599be45b401343c + + - runs: | + make install DESTDIR="${{targets.destdir}}" PREFIX=/usr + + - uses: strip + +subpackages: + # Leave at the top so that links are created for all binaries in package + - name: gitaly-compat-${{vars.major-minor-version}} + description: "Compatibility package to place binaries in the location expected by upstream Dockerfile" + dependencies: + provides: + - gitaly-compat=${{package.full-version}} + pipeline: + - runs: | + mkdir -p "${{targets.contextdir}}"/usr/local/bin + cd ${{targets.destdir}}/usr/bin + for binary in *; do + ln -sf /usr/bin/$binary ${{targets.contextdir}}/usr/local/bin/$binary + done + test: + pipeline: + - uses: test/virtualpackage + with: + virtual-pkg-name: gitaly-compat + real-pkg-name: ${{subpkg.name}} + + - name: gitaly-git-${{vars.major-minor-version}} + description: Bundled Git for Gitaly + dependencies: + provides: + - gitaly-git=${{vars.major-minor-version}} + pipeline: + - runs: | + mkdir -p ${{targets.contextdir}}/usr/bin + mv ${{targets.destdir}}/usr/bin/gitaly-git-* ${{targets.contextdir}}/usr/bin + test: + pipeline: + - uses: test/virtualpackage + with: + virtual-pkg-name: gitaly-git + real-pkg-name: ${{subpkg.name}} + + - name: gitaly-backup-${{vars.major-minor-version}} + description: Git repository backup tool + dependencies: + provides: + - gitaly-backup=${{vars.major-minor-version}} + pipeline: + - runs: | + mkdir -p ${{targets.contextdir}}/usr/bin + mv ${{targets.destdir}}/usr/bin/gitaly-backup ${{targets.contextdir}}/usr/bin/ + test: + pipeline: + - uses: test/virtualpackage + with: + virtual-pkg-name: gitaly-backup + real-pkg-name: ${{subpkg.name}} + + - name: gitaly-init-cgroups-${{vars.major-minor-version}} + # https://gitlab.com/gitlab-org/build/CNG/-/blob/master/gitaly-init-cgroups/Dockerfile + description: gitaly-init-cgroups + dependencies: + provides: + - gitaly-init-cgroups=${{package.full-version}} + pipeline: + - uses: go/build + with: + packages: . + modroot: ./tools/gitaly-init-cgroups/ + output: setup_cgroups + test: + pipeline: + - uses: test/virtualpackage + with: + virtual-pkg-name: gitaly-init-cgroups + real-pkg-name: ${{subpkg.name}} + + - name: gitaly-init-cgroups-compat-${{vars.major-minor-version}} + description: "Compatibility package to place binaries in the location expected by upstream Dockerfile" + dependencies: + provides: + - gitaly-init-cgroups-compat=${{package.full-version}} + pipeline: + - runs: | + mkdir -p "${{targets.contextdir}}"/ + ln -sf /usr/bin/setup_cgroups "${{targets.contextdir}}"/setup_cgroups + test: + pipeline: + - uses: test/virtualpackage + with: + virtual-pkg-name: gitaly-init-cgroups-compat + real-pkg-name: ${{subpkg.name}} + +update: + enabled: true + git: + strip-prefix: v + tag-filter-prefix: v18.4 + +test: + pipeline: + - runs: | + gitaly -v | grep "${{package.version}}" + gitaly-blackbox -version | grep "${{package.version}}" + gitaly-backup -v | grep "${{package.version}}" + gitaly --version + gitaly --help + gitaly-blackbox --version + gitaly-blackbox --help + praefect --version + praefect --help