-
Notifications
You must be signed in to change notification settings - Fork 2
/
Dockerfile
46 lines (36 loc) · 1.49 KB
/
Dockerfile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
# Copyright (c) 2023-2024 Contributors to the Eclipse Foundation
#
# This program and the accompanying materials are made available under the
# terms of the Apache License, Version 2.0 which is available at
# https://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.
#
# SPDX-License-Identifier: Apache-2.0
FROM python:3.10.14-slim
ARG DEBIAN_FRONTEND=noninteractive
COPY ./src/ /
# Update packages & install license finder
RUN apt update \
&& apt install -y git \
&& apt install -y ruby \
&& gem install license_finder \
&& pip3 install -r /requirements.txt
# Install conan to handle c++ dependencies
RUN pip3 install -U conan
# Install cargo to handle Rust dependencies
RUN apt install -y curl && curl --proto '=https' --tlsv1.2 https://sh.rustup.rs -sSf | sh -s -- -y
ENV PATH="/root/.cargo/bin:${PATH}"
# Install npm to handle JavaScript dependencies
RUN apt install -y npm
# WORKAROUND: GitHub sets the HOME variable when starting the container this makes these folders
# created at container image build time unavailable
ENV CONAN_USER_HOME=/root
ENV CARGO_HOME=/root/.cargo
ENV RUSTUP_HOME=/root/.rustup
# Run the Python3 Github Action wrapper
ENTRYPOINT ["python3", "-u", "/action.py"]