Much of the motivation here is to exercise the Trixie containers before we deploy Gerrit on them. That said it is a good opportunity to update hound to run on newer platforms like node 22 as well. We update the nodesource repo to use the new nodistro release as Trixie doesn't have a release entry in the old repo setup. Then we bump up to node 22 to match gitea. Finally, we update the golang build version as the upstream golang images don't build golang older than 1.24 on Trixie. We go with latest (1.25) under the hopes it will work, but we can try 1.24 if 1.25 doesn't work. Change-Id: Idcfd2e5880f17c1d4062e8d17036d3b21422a53a
55 lines
1.9 KiB
Docker
55 lines
1.9 KiB
Docker
# Copyright (c) 2020 Red Hat, Inc.
|
|
#
|
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
# you may not use this file except in compliance with the License.
|
|
# You may obtain a copy of the License at
|
|
#
|
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
#
|
|
# Unless required by applicable law or agreed to in writing, software
|
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
|
# implied.
|
|
# See the License for the specific language governing permissions and
|
|
# limitations under the License.
|
|
|
|
# Trigger rebuild - Wed Apr 23 05:03:23 PM UTC 2025
|
|
|
|
FROM docker.io/library/golang:1.25-trixie AS builder
|
|
|
|
WORKDIR /tmp
|
|
|
|
RUN apt-get update \
|
|
&& apt-get install -y curl git make rsync \
|
|
&& curl -sS https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key -o /etc/apt/keyrings/nodesource-repo.gpg.key \
|
|
&& echo "deb [signed-by=/etc/apt/keyrings/nodesource-repo.gpg.key] https://deb.nodesource.com/node_22.x nodistro main" | tee /etc/apt/sources.list.d/nodesource.list \
|
|
&& apt-get update \
|
|
&& apt-get -q --option "Dpkg::Options::=--force-confold" --assume-yes install nodejs
|
|
|
|
RUN git clone https://github.com/hound-search/hound \
|
|
&& cd hound \
|
|
&& make
|
|
|
|
FROM quay.io/opendevorg/python-base:3.12-trixie
|
|
|
|
COPY --from=builder /tmp/hound/.build/bin/hound /usr/local/bin
|
|
COPY --from=builder /tmp/hound/.build/bin/houndd /usr/local/bin
|
|
|
|
RUN apt-get update \
|
|
&& apt-get install -y curl git
|
|
|
|
RUN pip install git+https://opendev.org/opendev/jeepyb#egg=jeepyb \
|
|
supervisor
|
|
|
|
RUN apt-get clean \
|
|
&& rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
|
|
|
|
ADD supervisord.conf /etc/supervisor/conf.d/supervisord.conf
|
|
ADD start-container.sh /usr/bin/start-container
|
|
ADD update-hound-config.sh /usr/local/bin/update-hound-config
|
|
ADD resync-hound.sh /usr/local/bin/resync-hound
|
|
ADD sample-projects.yaml /var/run/sample-projects.yaml
|
|
|
|
ENTRYPOINT ["start-container"]
|
|
|