Skip to content

Commit 3defca3

Browse files
authored
feat(superchain): add mono toolchain (#687)
Makes the `mono` tools available for consumers, including the `signtool` command that is used for applying AuthentiCode signatures to the .NET `.dll` artifacts.
1 parent 6f8bdff commit 3defca3

File tree

4 files changed

+56
-11
lines changed

4 files changed

+56
-11
lines changed

.travis.yml

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,6 @@ branches:
88
services:
99
- docker
1010

11-
before_script:
12-
# Attempt to pre-cache the previous version of the image, to speed build up
13-
- docker pull jsii/superchain:nightly || true
14-
1511
script:
1612
- set -eo pipefail
1713
# Building the Docker image
@@ -20,6 +16,7 @@ script:
2016
- docker run --rm -it --net=host -v ${PWD}:${PWD} -w ${PWD} jsii/superchain:nightly ./build.sh
2117
# Make sure the build did not change the source tree (git diff-index will return non-zero if that's the case)
2218
- git diff-index --exit-code --ignore-space-at-eol --stat HEAD
19+
- untracked=$(git ls-files --others --exclude-standard) && echo "${untracked}" && test -z "${untracked}"
2320
# Publish the image to DockerHub when relevant
2421
- echo "TRAVIS_PULL_REQUEST = ${TRAVIS_PULL_REQUEST:-}"
2522
- echo "TRAVIS_TAG = ${TRAVIS_TAG:-}"

superchain/Dockerfile

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -10,9 +10,9 @@ RUN yum -y upgrade
1010
###
1111

1212
# Install NVM and Node 8+
13-
ENV NVM_DIR=/usr/local/nvm \
14-
NODE_VERSION=8.16.0 \
15-
NPM_VERSION=6.8.0
13+
ARG NODE_VERSION=8.16.0
14+
ARG NPM_VERSION=6.8.0
15+
ENV NVM_DIR=/usr/local/nvm
1616
RUN curl -sSL https://raw.githubusercontent.com/nvm-sh/nvm/v0.34.0/install.sh -o /tmp/install-nvm.sh \
1717
&& echo "ef7ad1db40c92f348c0461f24983b71ba0ea7d45d4007a36e484270fa7f81fcf /tmp/install-nvm.sh" | sha256sum -c \
1818
&& mkdir -p ${NVM_DIR} \
@@ -26,11 +26,15 @@ RUN curl -sSL https://raw.githubusercontent.com/nvm-sh/nvm/v0.34.0/install.sh -o
2626
&& npm set unsafe-perm true
2727
ENV NODE_PATH=${NVM_DIR}/versions/node/v${NODE_VERSION}/lib/node_modules \
2828
PATH=${PATH}:${NVM_DIR}/versions/node/v${NODE_VERSION}/bin
29-
# Install .NET Core
29+
# Install .NET Core & mono
3030
ENV DOTNET_CLI_TELEMETRY_OPTOUT=1 \
3131
DOTNET_SKIP_FIRST_TIME_EXPERIENCE=1
32-
RUN rpm -Uvh https://packages.microsoft.com/config/rhel/7/packages-microsoft-prod.rpm \
33-
&& yum -y install dotnet-sdk-2.2 \
32+
COPY gpg/mono.asc /tmp/mono.asc
33+
RUN rpm --import "https://packages.microsoft.com/keys/microsoft.asc" \
34+
&& rpm -Uvh "https://packages.microsoft.com/config/rhel/7/packages-microsoft-prod.rpm" \
35+
&& rpm --import /tmp/mono.asc && rm -f /tmp/mono.asc \
36+
&& curl "https://download.mono-project.com/repo/centos6-stable.repo" | tee /etc/yum.repos.d/mono-centos6-stable.repo \
37+
&& yum -y install dotnet-sdk-2.2 mono-devel \
3438
&& yum clean all && rm -rf /var/cache/yum
3539

3640
# Install Powershell
@@ -63,6 +67,8 @@ VOLUME /var/lib/docker
6367
# Install some configuration
6468
COPY ssh_config /root/.ssh/config
6569
COPY dockerd-entrypoint.sh /usr/local/bin/
70+
ENV CHARSET=UTF-8 \
71+
LC_ALL=C.UTF-8
6672

6773
## Image Metadata
6874
ARG BUILD_TIMESTAMP

superchain/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ required in order to package [jsii] projects in all supported languages.
1010
SDK | Version
1111
----------------|-------------------------------------------
1212
`OpenJDK 8` | Amazon Corretto `>= 8.222.10.2`
13-
`.NET Core` | `>= 2.2.301`
13+
`.NET Core` | `>= 2.2.301` and `mono >= 6.0.0.319`
1414
`Javascript` | `node >= 8.16.0` with `npm >= 6.8.0`
1515
`PowerShell` | `pwsh >= 6.2.2`
1616
`Python 3` | `python3 >= 3.7.3` with `pip3 >= 19.1.1`

superchain/gpg/mono.asc

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
-----BEGIN PGP PUBLIC KEY BLOCK-----
2+
3+
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
40+
kHFYv2XsdQ==
41+
=45Mw
42+
-----END PGP PUBLIC KEY BLOCK-----

0 commit comments

Comments
 (0)