# Licensed to the Apache Software Foundation (ASF) under one # or more contributor license agreements. See the NOTICE file # distributed with this work for additional information # regarding copyright ownership. The ASF licenses this file # to you 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. FROM hadolint/hadolint:v1.17.2 AS hadolint FROM ubuntu:18.04 SHELL ["/bin/bash", "-o", "pipefail", "-c"] RUN apt-get update && \ apt-get install -y -q \ build-essential \ clang-7 \ clang-format-7 \ clang-tidy-7 \ clang-tools-7 \ cmake \ curl \ git \ libclang-7-dev \ ninja-build \ openjdk-11-jdk-headless \ python3 \ python3-dev \ python3-pip \ ruby \ && apt-get clean \ && rm -rf /var/lib/apt/lists/* # Use python3 by default in scripts RUN ln -s /usr/bin/python3 /usr/local/bin/python RUN pip3 install flake8 cmake_format==0.5.2 # Rust linter RUN curl https://sh.rustup.rs -sSf | \ sh -s -- --default-toolchain stable -y ENV PATH /root/.cargo/bin:$PATH RUN rustup component add rustfmt # Docker linter COPY --from=hadolint /bin/hadolint /usr/bin/hadolint CMD ["/arrow/ci/docker/lint.sh"]