File tree Expand file tree Collapse file tree 4 files changed +203
-0
lines changed Expand file tree Collapse file tree 4 files changed +203
-0
lines changed Original file line number Diff line number Diff line change 1+ ARG BUILDER_IMAGE=arm64v8/debian:bookworm
2+ ARG MAINTAINER=
"Andrey Volk <[email protected] >" 3+
4+ FROM ${BUILDER_IMAGE} AS builder
5+
6+ ARG BUILD_NUMBER=42
7+ ARG GIT_SHA=0000000000
8+
9+ MAINTAINER ${MAINTAINER}
10+
11+ SHELL ["/bin/bash" , "-c" ]
12+
13+ RUN apt-get -q update && \
14+ DEBIAN_FRONTEND=noninteractive apt-get -yq install \
15+ apt-transport-https \
16+ build-essential \
17+ ca-certificates \
18+ cmake \
19+ curl \
20+ debhelper \
21+ devscripts \
22+ dh-autoreconf \
23+ dos2unix \
24+ doxygen \
25+ git \
26+ graphviz \
27+ libglib2.0-dev \
28+ libssl-dev \
29+ lsb-release \
30+ pkg-config \
31+ wget
32+
33+ RUN update-ca-certificates --fresh
34+
35+ ENV DATA_DIR=/data
36+ WORKDIR ${DATA_DIR}
37+
38+ COPY . ${DATA_DIR}
39+ RUN git reset --hard HEAD && git clean -xfd
40+
41+ RUN echo "export CODENAME=$(lsb_release -sc | tr -d '\n ')" | tee ~/.env && \
42+ chmod +x ~/.env
43+
44+ RUN git config --global --add safe.directory '*'
45+
46+ # Bootstrap and Build
47+ RUN echo "export VERSION=$(dpkg-parsechangelog --show-field Version | cut -f1 -d'-')" | tee -a ~/.env
48+ RUN . ~/.env && dch \
49+ --controlmaint \
50+ --distribution "${CODENAME}" \
51+ --force-bad-version \
52+ --force-distribution \
53+ --newversion "${VERSION}-${BUILD_NUMBER}-${GIT_SHA}~${CODENAME}" \
54+ "Nightly build, ${GIT_SHA}"
55+
56+ RUN apt-get -q update && \
57+ mk-build-deps --install --remove debian/control --tool "apt-get -y --no-install-recommends" && \
58+ apt-get -y -f install
59+
60+ ENV DEB_BUILD_OPTIONS="parallel=1"
61+ RUN . ~/.env && dch -b -M -v "${VERSION}-${BUILD_NUMBER}-${GIT_SHA}~${CODENAME}" \
62+ --force-distribution -D "${CODENAME}" "Nightly build, ${GIT_SHA}"
63+ RUN debuild -b -us -uc && mkdir OUT && mv -v ../*.deb OUT/.
64+
65+ # Artifacts image (mandatory part, the resulting image must have a single filesystem layer)
66+ FROM scratch
67+ COPY --from=builder /data/OUT/ /
Original file line number Diff line number Diff line change 1+ ARG BUILDER_IMAGE=arm64v8/debian:bullseye
2+ ARG MAINTAINER=
"Andrey Volk <[email protected] >" 3+
4+ FROM ${BUILDER_IMAGE} AS builder
5+
6+ ARG BUILD_NUMBER=42
7+ ARG GIT_SHA=0000000000
8+
9+ MAINTAINER ${MAINTAINER}
10+
11+ SHELL ["/bin/bash" , "-c" ]
12+
13+ RUN apt-get -q update && \
14+ DEBIAN_FRONTEND=noninteractive apt-get -yq install \
15+ apt-transport-https \
16+ build-essential \
17+ ca-certificates \
18+ cmake \
19+ curl \
20+ debhelper \
21+ devscripts \
22+ dh-autoreconf \
23+ dos2unix \
24+ doxygen \
25+ git \
26+ graphviz \
27+ libglib2.0-dev \
28+ libssl-dev \
29+ lsb-release \
30+ pkg-config \
31+ wget
32+
33+ RUN update-ca-certificates --fresh
34+
35+ ENV DATA_DIR=/data
36+ WORKDIR ${DATA_DIR}
37+
38+ COPY . ${DATA_DIR}
39+ RUN git reset --hard HEAD && git clean -xfd
40+
41+ RUN echo "export CODENAME=$(lsb_release -sc | tr -d '\n ')" | tee ~/.env && \
42+ chmod +x ~/.env
43+
44+ RUN git config --global --add safe.directory '*'
45+
46+ # Bootstrap and Build
47+ RUN echo "export VERSION=$(dpkg-parsechangelog --show-field Version | cut -f1 -d'-')" | tee -a ~/.env
48+ RUN . ~/.env && dch \
49+ --controlmaint \
50+ --distribution "${CODENAME}" \
51+ --force-bad-version \
52+ --force-distribution \
53+ --newversion "${VERSION}-${BUILD_NUMBER}-${GIT_SHA}~${CODENAME}" \
54+ "Nightly build, ${GIT_SHA}"
55+
56+ RUN apt-get -q update && \
57+ mk-build-deps --install --remove debian/control --tool "apt-get -y --no-install-recommends" && \
58+ apt-get -y -f install
59+
60+ ENV DEB_BUILD_OPTIONS="parallel=1"
61+ RUN . ~/.env && dch -b -M -v "${VERSION}-${BUILD_NUMBER}-${GIT_SHA}~${CODENAME}" \
62+ --force-distribution -D "${CODENAME}" "Nightly build, ${GIT_SHA}"
63+ RUN debuild -b -us -uc && mkdir OUT && mv -v ../*.deb OUT/.
64+
65+ # Artifacts image (mandatory part, the resulting image must have a single filesystem layer)
66+ FROM scratch
67+ COPY --from=builder /data/OUT/ /
Original file line number Diff line number Diff line change 1+ ARG BUILDER_IMAGE=arm64v8/debian:buster
2+ ARG MAINTAINER=
"Andrey Volk <[email protected] >" 3+
4+ FROM ${BUILDER_IMAGE} AS builder
5+
6+ ARG BUILD_NUMBER=42
7+ ARG GIT_SHA=0000000000
8+
9+ MAINTAINER ${MAINTAINER}
10+
11+ SHELL ["/bin/bash" , "-c" ]
12+
13+ RUN apt-get -q update && \
14+ DEBIAN_FRONTEND=noninteractive apt-get -yq install \
15+ apt-transport-https \
16+ build-essential \
17+ ca-certificates \
18+ cmake \
19+ curl \
20+ debhelper \
21+ devscripts \
22+ dh-autoreconf \
23+ dos2unix \
24+ doxygen \
25+ git \
26+ graphviz \
27+ libglib2.0-dev \
28+ libssl-dev \
29+ lsb-release \
30+ pkg-config \
31+ wget
32+
33+ RUN update-ca-certificates --fresh
34+
35+ ENV DATA_DIR=/data
36+ WORKDIR ${DATA_DIR}
37+
38+ COPY . ${DATA_DIR}
39+ RUN git reset --hard HEAD && git clean -xfd
40+
41+ RUN echo "export CODENAME=$(lsb_release -sc | tr -d '\n ')" | tee ~/.env && \
42+ chmod +x ~/.env
43+
44+ RUN git config --global --add safe.directory '*'
45+
46+ # Bootstrap and Build
47+ RUN echo "export VERSION=$(dpkg-parsechangelog --show-field Version | cut -f1 -d'-')" | tee -a ~/.env
48+ RUN . ~/.env && dch \
49+ --controlmaint \
50+ --distribution "${CODENAME}" \
51+ --force-bad-version \
52+ --force-distribution \
53+ --newversion "${VERSION}-${BUILD_NUMBER}-${GIT_SHA}~${CODENAME}" \
54+ "Nightly build, ${GIT_SHA}"
55+
56+ RUN apt-get -q update && \
57+ mk-build-deps --install --remove debian/control --tool "apt-get -y --no-install-recommends" && \
58+ apt-get -y -f install
59+
60+ ENV DEB_BUILD_OPTIONS="parallel=1"
61+ RUN . ~/.env && dch -b -M -v "${VERSION}-${BUILD_NUMBER}-${GIT_SHA}~${CODENAME}" \
62+ --force-distribution -D "${CODENAME}" "Nightly build, ${GIT_SHA}"
63+ RUN debuild -b -us -uc && mkdir OUT && mv -v ../*.deb OUT/.
64+
65+ # Artifacts image (mandatory part, the resulting image must have a single filesystem layer)
66+ FROM scratch
67+ COPY --from=builder /data/OUT/ /
Original file line number Diff line number Diff line change 3535 runner : ubuntu-latest
3636 - name : arm32v7
3737 runner : ubuntu-latest
38+ - name : arm64v8
39+ runner : ubuntu-latest
3840 # exclude:
3941 # - version: bookworm
4042 # platform:
You can’t perform that action at this time.
0 commit comments