diff --git a/Makefile b/Makefile index 255ac7d..e800203 100644 --- a/Makefile +++ b/Makefile @@ -1,4 +1,4 @@ -PLATFORMS := ubuntu-1604 ubuntu-1804 ubuntu-2004 debian-9 debian-10 centos-7 centos-8 opensuse-42 opensuse-15 opensuse-152 +PLATFORMS := ubuntu-1604 ubuntu-1804 ubuntu-2004 debian-9 debian-10 centos-7 centos-8 opensuse-42 opensuse-15 opensuse-152 opensuse-153 SLS_BINARY ?= ./node_modules/serverless/bin/serverless deps: diff --git a/builder/Dockerfile.opensuse-153 b/builder/Dockerfile.opensuse-153 new file mode 100644 index 0000000..a0734c2 --- /dev/null +++ b/builder/Dockerfile.opensuse-153 @@ -0,0 +1,88 @@ +FROM opensuse/leap:15.3 + +ENV OS_IDENTIFIER opensuse-153 + +# Most of these packages, and also the configure options that follow were determined +# by reviewing "R-base.spec" from the following OpenSUSE RPM: +# https://download.opensuse.org/repositories/devel:/languages:/R:/released/openSUSE_Leap_42.3/src/R-base-3.5.3-103.1.src.rpm + +RUN zypper --non-interactive update +RUN zypper --non-interactive --gpg-auto-import-keys -n install \ + bzip2 \ + cairo-devel \ + fdupes \ + gcc \ + gcc-c++ \ + gcc-fortran \ + glib2-devel \ + glibc-locale \ + help2man \ + java-1_8_0-openjdk-devel \ + libX11-devel \ + libXScrnSaver-devel \ + libXmu-devel \ + libXt-devel \ + libbz2-devel \ + libcurl-devel \ + libicu-devel \ + libjpeg-devel \ + libpng-devel \ + libtiff-devel \ + make \ + pango-devel \ + pcre-devel \ + pcre2-devel \ + perl \ + perl-macros \ + python \ + python-pip \ + readline-devel \ + rpm-build \ + ruby \ + ruby-devel \ + shadow \ + tcl-devel \ + texinfo \ + texlive-ae \ + texlive-bibtex \ + texlive-cm-super \ + texlive-dvips \ + texlive-fancyvrb \ + texlive-helvetic \ + texlive-inconsolata \ + texlive-latex \ + texlive-makeindex \ + texlive-metafont \ + texlive-psnfss \ + texlive-tex \ + texlive-times \ + tk-devel \ + unzip \ + wget \ + xdg-utils \ + xorg-x11-devel \ + xz-devel \ + zip \ + zlib-devel \ + && zypper clean + +RUN pip install awscli + +# Pin fpm to avoid git dependency in 1.12.0 +RUN gem install fpm:1.11.0 && \ + ln -s /usr/bin/fpm.ruby2.5 /usr/local/bin/fpm + +RUN chmod 0777 /opt + +# Configure flags for SUSE that don't use the defaults in build.sh +ENV CONFIGURE_OPTIONS="\ + --enable-R-shlib \ + --with-tcltk \ + --with-x \ + --enable-memory-profiling \ + --with-tcl-config=/usr/lib64/tclConfig.sh \ + --with-tk-config=/usr/lib64/tkConfig.sh" + +COPY package.opensuse-153 /package.sh +COPY build.sh . +ENTRYPOINT ./build.sh diff --git a/builder/docker-compose.yml b/builder/docker-compose.yml index 137008e..ac9fc22 100644 --- a/builder/docker-compose.yml +++ b/builder/docker-compose.yml @@ -111,3 +111,14 @@ services: image: r-builds:opensuse-152 volumes: - ./integration/tmp:/tmp/output + opensuse-153: + command: ./build.sh + environment: + - R_VERSION=${R_VERSION} + - LOCAL_STORE=/tmp/output + build: + context: . + dockerfile: Dockerfile.opensuse-153 + image: r-builds:opensuse-153 + volumes: + - ./integration/tmp:/tmp/output diff --git a/serverless-resources.yml b/serverless-resources.yml index e4b0020..9507498 100644 --- a/serverless-resources.yml +++ b/serverless-resources.yml @@ -271,6 +271,20 @@ rBuildsBatchJobDefinitionOpensuse152: Image: "#{AWS::AccountId}.dkr.ecr.#{AWS::Region}.amazonaws.com/r-builds:opensuse-152" Timeout: AttemptDurationSeconds: 7200 +rBuildsBatchJobDefinitionOpensuse153: + Type: AWS::Batch::JobDefinition + Properties: + Type: container + ContainerProperties: + Command: + - ./build.sh + Vcpus: 4 + Memory: 4096 + JobRoleArn: + "Fn::GetAtt": [ rBuildsEcsTaskIamRole, Arn ] + Image: "#{AWS::AccountId}.dkr.ecr.#{AWS::Region}.amazonaws.com/r-builds:opensuse-153" + Timeout: + AttemptDurationSeconds: 7200 # step function cloudwatch event trigger resources rBuildsEventRuleIamRole: diff --git a/serverless.yml b/serverless.yml index 0f07ec2..87e1e5a 100644 --- a/serverless.yml +++ b/serverless.yml @@ -55,7 +55,9 @@ provider: Ref: rBuildsBatchJobDefinitionOpensuse15 JOB_DEFINITION_ARN_opensuse_152: Ref: rBuildsBatchJobDefinitionOpensuse152 - SUPPORTED_PLATFORMS: ubuntu-1604,ubuntu-1804,ubuntu-2004,debian-9,debian-10,centos-7,centos-8,opensuse-42,opensuse-15,opensuse-152 + JOB_DEFINITION_ARN_opensuse_153: + Ref: rBuildsBatchJobDefinitionOpensuse153 + SUPPORTED_PLATFORMS: ubuntu-1604,ubuntu-1804,ubuntu-2004,debian-9,debian-10,centos-7,centos-8,opensuse-42,opensuse-15,opensuse-152,opensuse-153 functions: queueBuilds: