diff --git a/azure-pipelines.yml b/azure-pipelines.yml index 15e1c62e7..6b211d678 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -26,6 +26,24 @@ jobs: - template: .ci/create-docs.yml - template: .ci/publish-build-cache.yml +- job: CentOS + displayName: 'Linux - CentOS - Docker Image' + timeoutInMinutes: 0 + pool: + vmImage: 'Ubuntu 16.04' + + variables: + STAGING_DIRECTORY: $(Build.StagingDirectory) + ESY__CACHE_INSTALL_PATH: /home/vsts/.esy/3_____________________________________________________________________/i + ESY__CACHE_SOURCE_TARBALL_PATH: /home/vsts/.esy/source/i + # ESY__NPM_ROOT: /opt/hostedtoolcache/node/8.14.0/x64/lib/node_modules/esy + + steps: + - script: docker build -t centos scripts/docker/centos + displayName: 'docker build' + - script: docker run --rm --mount src=`pwd`,target=/revery,type=bind centos /bin/bash -c 'cd revery && ls -a' + - script: docker run --cap-add SYS_ADMIN --device /dev/fuse --security-opt apparmor:unconfined --rm --mount src=`pwd`,target=/revery,type=bind centos /bin/bash -c 'cd revery && ./scripts/docker-build.sh' + - job: Hygiene_Checks displayName: 'Hygiene Checks' timeoutInMinutes: 0 diff --git a/scripts/docker-build.sh b/scripts/docker-build.sh new file mode 100755 index 000000000..12f7db398 --- /dev/null +++ b/scripts/docker-build.sh @@ -0,0 +1,5 @@ +source /opt/rh/llvm-toolset-7.0/enable +clang -v + +esy install +esy build diff --git a/scripts/docker/centos/Dockerfile b/scripts/docker/centos/Dockerfile new file mode 100644 index 000000000..b04467ba0 --- /dev/null +++ b/scripts/docker/centos/Dockerfile @@ -0,0 +1,29 @@ +FROM centos:7 + +RUN yum -y update + +RUN yum -y install centos-release-scl +RUN yum-config-manager --enable rhel-server-rhscl-7-rpms +RUN yum -y install llvm-toolset-7.0 +RUN scl enable llvm-toolset-7.0 'clang -v' + +RUN yum -y install gcc-c++ make sudo +RUN curl -sL https://rpm.nodesource.com/setup_10.x | sudo -E bash - +RUN yum -y install nodejs npm coreutils grep tar sed gawk diffutils autoconf + +RUN yum -y install file fuse fuse-devel wget bzip2-devel libXt-devel libSM-devel libICE-devel ncurses-devel libacl-devel libxrandr-devel libXinerama-devel libXcursor-devel libXi-devel mesa-libGL-devel mesa-libGLU-devel gtk3-devel perl-Digest-SHA bzip2 m4 patch which cmake3 git + +RUN rpm -i https://download-ib01.fedoraproject.org/pub/epel/7/x86_64/Packages/c/colm-0.13.0.4-2.el7.x86_64.rpm +RUN rpm -i https://download-ib01.fedoraproject.org/pub/epel/7/x86_64/Packages/r/ragel-7.0.0.9-2.el7.x86_64.rpm + +RUN node -v +RUN npm -v + +RUN npm install --global --unsafe-perm=true esy@0.5.8 + +RUN yum -y install epel-release +RUN yum -y remove git +RUN rpm -U https://centos7.iuscommunity.org/ius-release.rpm +RUN yum -y install git2u + +RUN yum -y install nasm