From 3fc9604ddadc34ec44651ce981cebc7bd77095e5 Mon Sep 17 00:00:00 2001 From: Samruddhi Khandale Date: Thu, 17 Nov 2022 11:55:43 -0800 Subject: Oryx: Build with .NET 6 (#298) * Oryx: Install dotnet 3.1 runtime * fix tests * build with .NET 6 + add tests * add tests * fix tests * shellcheck: nit --- src/oryx/devcontainer-feature.json | 2 +- src/oryx/install.sh | 20 +++++++++++++------- 2 files changed, 14 insertions(+), 8 deletions(-) (limited to 'src/oryx') diff --git a/src/oryx/devcontainer-feature.json b/src/oryx/devcontainer-feature.json index 2596bd9..5c64344 100644 --- a/src/oryx/devcontainer-feature.json +++ b/src/oryx/devcontainer-feature.json @@ -1,6 +1,6 @@ { "id": "oryx", - "version": "1.0.11", + "version": "1.0.12", "name": "Oryx", "description": "Installs the oryx CLI", "documentationURL": "https://github.com/devcontainers/features/tree/main/src/oryx", diff --git a/src/oryx/install.sh b/src/oryx/install.sh index 054983a..aa4af2c 100755 --- a/src/oryx/install.sh +++ b/src/oryx/install.sh @@ -116,9 +116,8 @@ echo "Installing Oryx..." # Ensure apt is in non-interactive to avoid prompts export DEBIAN_FRONTEND=noninteractive - # Install dependencies -check_packages git sudo curl ca-certificates apt-transport-https gnupg2 dirmngr libc-bin +check_packages git sudo curl ca-certificates apt-transport-https gnupg2 dirmngr libc-bin moreutils if ! cat /etc/group | grep -e "^oryx:" > /dev/null 2>&1; then groupadd -r oryx @@ -127,16 +126,23 @@ usermod -a -G oryx "${USERNAME}" # Required to decide if we want to clean up dotnet later. DOTNET_INSTALLATION_PACKAGE="" +DOTNET_BINARY="" + +if dotnet --version > /dev/null ; then + DOTNET_BINARY=$(which dotnet) +fi -# Install dotnet unless available -if ! dotnet --version > /dev/null ; then - echo "'dotnet' was not detected. Attempting to install the latest version of the dotnet sdk to build oryx." +# Oryx needs to be built with .NET 6 +if [[ "${DOTNET_BINARY}" = "" ]] || [[ "$(dotnet --version)" != *"6"* ]] ; then + echo "'dotnet 6' was not detected. Attempting to install .NET 6 to build oryx." install_dotnet_using_apt if ! dotnet --version > /dev/null ; then echo "(!) Please install Dotnet before installing Oryx" exit 1 fi + + DOTNET_BINARY="/usr/bin/dotnet" fi BUILD_SCRIPT_GENERATOR=/usr/local/buildscriptgen @@ -150,8 +156,8 @@ git clone --depth=1 https://github.com/microsoft/Oryx $GIT_ORYX $GIT_ORYX/build/buildSln.sh -dotnet publish -property:ValidateExecutableReferencesMatchSelfContained=false -r linux-x64 -o ${BUILD_SCRIPT_GENERATOR} -c Release $GIT_ORYX/src/BuildScriptGeneratorCli/BuildScriptGeneratorCli.csproj -dotnet publish -r linux-x64 -o ${BUILD_SCRIPT_GENERATOR} -c Release $GIT_ORYX/src/BuildServer/BuildServer.csproj +${DOTNET_BINARY} publish -property:ValidateExecutableReferencesMatchSelfContained=false -r linux-x64 -o ${BUILD_SCRIPT_GENERATOR} -c Release $GIT_ORYX/src/BuildScriptGeneratorCli/BuildScriptGeneratorCli.csproj +${DOTNET_BINARY} publish -r linux-x64 -o ${BUILD_SCRIPT_GENERATOR} -c Release $GIT_ORYX/src/BuildServer/BuildServer.csproj chmod a+x ${BUILD_SCRIPT_GENERATOR}/GenerateBuildScript -- cgit v1.2.3