Skip to content

chore(query): add query-dbg docker tag #18023

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Draft
wants to merge 1 commit into
base: main
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
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
41 changes: 39 additions & 2 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -348,15 +348,15 @@ jobs:
sha: ${{ github.sha }}
target: x86_64-unknown-linux-gnu
category: docker
artifacts: ${{ matrix.service }},metactl
artifacts: meta,metactl,query,query.debug
path: distro/linux/amd64
- name: Download artifacts for aarch64
uses: ./.github/actions/artifact_download
with:
sha: ${{ github.sha }}
target: aarch64-unknown-linux-gnu
category: docker
artifacts: ${{ matrix.service }},metactl
artifacts: meta,metactl,query,query.debug
path: distro/linux/arm64
- name: Set up QEMU
uses: docker/setup-qemu-action@v3
Expand Down Expand Up @@ -397,6 +397,43 @@ jobs:
platforms: linux/amd64,linux/arm64
context: .
file: ./docker/service/${{ matrix.service }}.Dockerfile
- name: Process debug image
id: debug_image
uses: actions/github-script@v7
env:
DOCKERFILE_PATH: ./docker/service/${{ matrix.service }}-dbg.Dockerfile
ORIGINAL_TAGS: ${{ steps.tags.outputs.tags }}
with:
script: |
const fs = require('fs');
const { DOCKERFILE_PATH, ORIGINAL_TAGS } = process.env;

const debugExists = fs.existsSync(DOCKERFILE_PATH);
core.setOutput('debug-exists', debugExists.toString());

if (!debugExists) {
core.info('Debug Dockerfile not found, skipping debug image processing');
return;
}

const debugTags = ORIGINAL_TAGS.split(',')
.map(tag => {
const [repo, tagPart] = tag.split(':');
return `${repo}-dbg:${tagPart}`;
})
.join(',');

core.setOutput('tags', debugTags);
core.info(`Generated debug tags: ${debugTags}`);
- name: Push debug service image
if: steps.debug_image.outputs.debug-exists == 'true'
uses: docker/build-push-action@v5
with:
push: true
tags: ${{ steps.debug_image.outputs.tags }}
platforms: linux/amd64,linux/arm64
context: .
file: ./docker/service/${{ matrix.service }}-dbg.Dockerfile

distribution:
runs-on: [self-hosted, X64, Linux, 2c8g, aws]
Expand Down
19 changes: 19 additions & 0 deletions docker/service/query-dbg.Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
FROM python:3.12-slim-bookworm

ARG TARGETPLATFORM
ENV TERM=dumb
ENV DEBIAN_FRONTEND=noninteractive
RUN apt-get update -y && \
apt-get install -y apt-transport-https ca-certificates gdb curl && \
apt-get clean && \
rm -rf /var/lib/apt/lists/* && \
rm -rf /var/cache/apt/*
COPY ./distro/$TARGETPLATFORM/databend-query /databend-query
COPY ./distro/$TARGETPLATFORM/databend-query.debug /databend-query.debug
RUN useradd --uid 1000 --shell /sbin/nologin \
--home-dir /var/lib/databend --user-group \
--comment "Databend cloud data analytics" databend && \
mkdir -p /var/lib/databend && \
chown -R databend:databend /var/lib/databend
VOLUME ["/var/lib/databend"]
ENTRYPOINT ["/databend-query"]
2 changes: 1 addition & 1 deletion scripts/build/build-pkg.sh
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ TARGET=${ARCH}-linux-glib$glibc
MUSL_RUST_TARGET=${ARCH}-unknown-linux-musl
BENSQL_VERSION=0.26.1

RUSTFLAGS="-C target-feature=+sse4.2 -C link-arg=-Wl,--compress-debug-sections=zlib"
RUSTFLAGS="-C target-feature=+sse4.2 -C link-arg=-Wl"

echo "==> https_proxy=${https_proxy}"

Expand Down
Loading