Skip to content

Commit

Permalink
Remove debian flavor specific repo for cli (#1847)
Browse files Browse the repository at this point in the history
* Removed debian specific repo for cli

* Added tests for cli-bullseye

* Added cli-bullseye

* Removed CliBullseyeRepository reference

* Fix validation failures

* Fix validation failures

* Fixed syntax error

* Fixed syntax error

* Fix cli failures

* Fixed cli image name for stretch

* Added libssl1.0.2

* Remove libssl1.0.2

* Removed extra line

* Fix validation failures

* Fix validation failures
  • Loading branch information
snehapar9 authored Feb 1, 2023
1 parent be0d21d commit 709e380
Show file tree
Hide file tree
Showing 29 changed files with 258 additions and 46 deletions.
3 changes: 0 additions & 3 deletions acr-tasks/purge-dev-acr-tasks.sh
Original file line number Diff line number Diff line change
Expand Up @@ -14,9 +14,6 @@ az acr task create --name weeklyBuildImagePurgeTask -r oryxdevmcr --cmd "$PURGE_
PURGE_CMD="acr purge --filter 'public/oryx/cli:.*' --ago 30d --untagged"
az acr task create --name weeklyCliImagePurgeTask -r oryxdevmcr --cmd "$PURGE_CMD" --schedule "0 22 * * WED" --timeout 9000 -c /dev/null

PURGE_CMD="acr purge --filter 'public/oryx/cli-buster:.*' --ago 30d --untagged"
az acr task create --name weeklyCliBusterImagePurgeTask -r oryxdevmcr --cmd "$PURGE_CMD" --schedule "0 22 * * WED" --timeout 9000 -c /dev/null

PURGE_CMD="acr purge --filter 'public/oryx/base:.*' --ago 30d --untagged"
az acr task create --name weeklyBaseImagePurgeTask -r oryxdevmcr --cmd "$PURGE_CMD" --schedule "0 22 * * WED" --timeout 9000 -c /dev/null

Expand Down
8 changes: 7 additions & 1 deletion build/buildBuildImages.sh
Original file line number Diff line number Diff line change
Expand Up @@ -412,7 +412,7 @@ function buildCliImage() {
debianFlavor="stretch"
builtImageName="$builtImageName:debian-$debianFlavor"
else
builtImageName="$builtImageName-$debianFlavor:debian-$debianFlavor"
builtImageName="$builtImageName:debian-$debianFlavor"
devImageRepo="$DEVBOX_CLI_BUILD_IMAGE_REPO-$debianFlavor"
fi
echo "dev image tag: "$devImageTag
Expand Down Expand Up @@ -495,6 +495,7 @@ if [ -z "$imageTypeToBuild" ]; then
buildVsoImage "focal"
buildVsoImage "bullseye"
buildCliImage "buster"
buildCliImage "bullseye"
buildCliImage
buildBuildPackImage
buildFullImage "buster"
Expand Down Expand Up @@ -536,8 +537,13 @@ elif [ "$imageTypeToBuild" == "vso-bullseye" ]; then
elif [ "$imageTypeToBuild" == "cli" ]; then
buildCliImage
buildCliImage "buster"
buildCliImage "bullseye"
elif [ "$imageTypeToBuild" == "cli-stretch" ]; then
buildCliImage
elif [ "$imageTypeToBuild" == "cli-buster" ]; then
buildCliImage "buster"
elif [ "$imageTypeToBuild" == "cli-bullseye" ]; then
buildCliImage "bullseye"
elif [ "$imageTypeToBuild" == "buildpack" ]; then
buildBuildPackImage
else
Expand Down
11 changes: 11 additions & 0 deletions images/build/Dockerfiles/cli.Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,15 @@ RUN if [ "${DEBIAN_FLAVOR}" = "buster" ]; then \
libcurl4 \
libssl1.1 \
&& rm -rf /var/lib/apt/lists/* ; \
elif [ "${DEBIAN_FLAVOR}" = "bullseye" ]; then \
apt-get update \
&& apt-get install -y --no-install-recommends \
libicu67 \
libcurl4 \
libssl1.1 \
libyaml-dev \
libxml2 \
&& rm -rf /var/lib/apt/lists/* ; \
else \
apt-get update \
&& apt-get install -y --no-install-recommends \
Expand All @@ -48,6 +57,8 @@ RUN apt-get update \
zlib1g \
rsync \
libgdiplus \
# Required for mysqlclient
default-libmysqlclient-dev \
&& rm -rf /var/lib/apt/lists/* \
&& chmod a+x /opt/buildscriptgen/GenerateBuildScript \
&& mkdir -p /opt/oryx \
Expand Down
2 changes: 1 addition & 1 deletion src/BuildScriptGenerator/Php/PhpComposerInstaller.cs
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ public override void InstallPlatformSpecificSkeletonDependencies(StringBuilder s
stringBuilder.AppendLine($"echo 'Installing php-composer specific dependencies...'");

// Install an assortment of traditional tooling (unicode, SSL, HTTP, etc.)
stringBuilder.AppendLine("if [ \"${DEBIAN_FLAVOR}\" = \"buster\" ]; then");
stringBuilder.AppendLine("if [[ \"${DEBIAN_FLAVOR}\" = \"buster\" || \"${DEBIAN_FLAVOR}\" = \"bullseye\" ]]; then");
stringBuilder.AppendAptGetInstallPackages(
"ca-certificates",
"libargon2-0",
Expand Down
2 changes: 1 addition & 1 deletion src/BuildScriptGenerator/Php/PhpPlatformInstaller.cs
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ public override void InstallPlatformSpecificSkeletonDependencies(StringBuilder s
stringBuilder.AppendLine($"echo 'Installing {PhpConstants.PlatformName} specific dependencies...'");

// Install an assortment of traditional tooling (unicode, SSL, HTTP, etc.)
stringBuilder.AppendLine("if [ \"${DEBIAN_FLAVOR}\" = \"buster\" ]; then");
stringBuilder.AppendLine("if [[ \"${DEBIAN_FLAVOR}\" = \"buster\" || \"${DEBIAN_FLAVOR}\" = \"bullseye\" ]]; then");
stringBuilder.AppendAptGetInstallPackages(
"ca-certificates",
"libargon2-0",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -79,7 +79,17 @@ public void BuildsApplication_ByDynamicallyInstallingSDKs_CliBuster(
string runtimeVersion)
{
BuildsApplication_ByDynamicallyInstallingSDKs(
appName, runtimeVersion, _imageHelper.GetCliImage(ImageTestHelperConstants.CliBusterRepository));
appName, runtimeVersion, _imageHelper.GetCliImage(ImageTestHelperConstants.CliBusterTag));
}

[Theory, Trait("category", "cli-bullseye")]
[InlineData(NetCore7PreviewMvcApp, "7.0")]
public void BuildsApplication_ByDynamicallyInstallingSDKs_CliBullseye(
string appName,
string runtimeVersion)
{
BuildsApplication_ByDynamicallyInstallingSDKs(
appName, runtimeVersion, _imageHelper.GetCliImage(ImageTestHelperConstants.CliBullseyeTag));
}

private void BuildsApplication_ByDynamicallyInstallingSDKs(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -65,8 +65,15 @@ public void PipelineTestInvocationCli()
[Fact, Trait("category", "cli-buster")]
public void PipelineTestInvocationCliBuster()
{
GDIPlusLibrary_IsPresentInTheImage(ImageTestHelperConstants.CliBusterRepository);
Builds_NetCore31App_UsingNetCore31_DotNetSdkVersion(_imageHelper.GetCliImage(ImageTestHelperConstants.CliBusterRepository));
GDIPlusLibrary_IsPresentInTheImage(ImageTestHelperConstants.CliBusterTag);
Builds_NetCore31App_UsingNetCore31_DotNetSdkVersion(_imageHelper.GetCliImage(ImageTestHelperConstants.CliBusterTag));
}

[Fact, Trait("category", "cli-bullseye")]
public void PipelineTestInvocationCliBullseye()
{
GDIPlusLibrary_IsPresentInTheImage(ImageTestHelperConstants.CliBullseyeTag);
Builds_NetCore31App_UsingNetCore31_DotNetSdkVersion(_imageHelper.GetCliImage(ImageTestHelperConstants.CliBullseyeTag));
}

private readonly string SdkVersionMessageFormat = "Using .NET Core SDK Version: {0}";
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,14 @@ public void PipelineTestInvocationCli()
public void PipelineTestInvocationCliBuster()
{
var imageTestHelper = new ImageTestHelper();
InstallsHugoVersionDynamically_UsingEnvironmentVariable_AndBuildsApp(imageTestHelper.GetCliImage(ImageTestHelperConstants.CliBusterRepository));
InstallsHugoVersionDynamically_UsingEnvironmentVariable_AndBuildsApp(imageTestHelper.GetCliImage(ImageTestHelperConstants.CliBusterTag));
}

[Fact, Trait("category", "cli-bullseye")]
public void PipelineTestInvocationCliBullseye()
{
var imageTestHelper = new ImageTestHelper();
InstallsHugoVersionDynamically_UsingEnvironmentVariable_AndBuildsApp(imageTestHelper.GetCliImage(ImageTestHelperConstants.CliBullseyeTag));
}

private void InstallsHugoVersionDynamically_UsingEnvironmentVariable_AndBuildsApp(string imageName)
Expand Down
9 changes: 8 additions & 1 deletion tests/Oryx.BuildImage.Tests/Hugo/HugoSampleAppsTest.cs
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,14 @@ public void PipelineTestInvocationCli()
public void PipelineTestInvocationCliBuster()
{
var imageTestHelper = new ImageTestHelper();
GeneratesScript_AndBuilds(imageTestHelper.GetCliImage(ImageTestHelperConstants.CliBusterRepository));
GeneratesScript_AndBuilds(imageTestHelper.GetCliImage(ImageTestHelperConstants.CliBusterTag));
}

[Fact, Trait("category", "cli-bullseye")]
public void PipelineTestInvocationCliBullseye()
{
var imageTestHelper = new ImageTestHelper();
GeneratesScript_AndBuilds(imageTestHelper.GetCliImage(ImageTestHelperConstants.CliBullseyeTag));
}

private void GeneratesScript_AndBuilds(string buildImageName)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,14 @@ public void BuildsMavenArcheTypeSampleWithDynamicInstallationCli(string version)
[MemberData(nameof(VersionsData))]
public void BuildsMavenArcheTypeSampleWithDynamicInstallationCliBuster(string version)
{
BuildsMavenArcheTypeSampleWithDynamicInstallation(version, _imageHelper.GetCliImage(ImageTestHelperConstants.CliBusterRepository));
BuildsMavenArcheTypeSampleWithDynamicInstallation(version, _imageHelper.GetCliImage(ImageTestHelperConstants.CliBusterTag));
}

[Theory, Trait("category", "cli-bullseye")]
[MemberData(nameof(VersionsData))]
public void BuildsMavenArcheTypeSampleWithDynamicInstallationCliBullseye(string version)
{
BuildsMavenArcheTypeSampleWithDynamicInstallation(version, _imageHelper.GetCliImage(ImageTestHelperConstants.CliBullseyeTag));
}

private void BuildsMavenArcheTypeSampleWithDynamicInstallation(string version, string imageName)
Expand Down
12 changes: 11 additions & 1 deletion tests/Oryx.BuildImage.Tests/Java/JavaSampleAppsTest.cs
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ public void JavaSampleAppsTestsCli(string imageTag)
}

[Theory, Trait("category", "cli-buster")]
[InlineData(ImageTestHelperConstants.CliBusterRepository)]
[InlineData(ImageTestHelperConstants.CliBusterTag)]
public void JavaSampleAppsTestsCliBuster(string imageTag)
{
BuildsMavenArcheTypeSample(imageTag);
Expand All @@ -53,6 +53,16 @@ public void JavaSampleAppsTestsCliBuster(string imageTag)
BuildsSpringBootSampleApp(imageTag);
}

[Theory, Trait("category", "cli-bullseye")]
[InlineData(ImageTestHelperConstants.CliBullseyeTag)]
public void JavaSampleAppsTestsCliBullseye(string imageTag)
{
BuildsMavenArcheTypeSample(imageTag);
BuildsMavenJ2EESample(imageTag);
BuildsMavenSimpleJavaApp(imageTag);
BuildsSpringBootSampleApp(imageTag);
}

private void BuildsMavenArcheTypeSample(string imageTag)
{
// Arrange
Expand Down
27 changes: 24 additions & 3 deletions tests/Oryx.BuildImage.Tests/Node/NodeDynamicInstallationTest.cs
Original file line number Diff line number Diff line change
Expand Up @@ -54,9 +54,22 @@ public static TheoryData<string, string> ImageNameDataCliBuster
{
var data = new TheoryData<string, string>();
var imageTestHelper = new ImageTestHelper();
data.Add("12.22.11", imageTestHelper.GetCliImage(ImageTestHelperConstants.CliBusterRepository));
data.Add("14.19.1", imageTestHelper.GetCliImage(ImageTestHelperConstants.CliBusterRepository));
data.Add("16.14.2", imageTestHelper.GetCliImage(ImageTestHelperConstants.CliBusterRepository));
data.Add("12.22.11", imageTestHelper.GetCliImage(ImageTestHelperConstants.CliBusterTag));
data.Add("14.19.1", imageTestHelper.GetCliImage(ImageTestHelperConstants.CliBusterTag));
data.Add("16.14.2", imageTestHelper.GetCliImage(ImageTestHelperConstants.CliBusterTag));
return data;
}
}

public static TheoryData<string, string> ImageNameDataCliBullseye
{
get
{
var data = new TheoryData<string, string>();
var imageTestHelper = new ImageTestHelper();
data.Add("12.22.11", imageTestHelper.GetCliImage(ImageTestHelperConstants.CliBullseyeTag));
data.Add("14.19.1", imageTestHelper.GetCliImage(ImageTestHelperConstants.CliBullseyeTag));
data.Add("16.14.2", imageTestHelper.GetCliImage(ImageTestHelperConstants.CliBullseyeTag));
return data;
}
}
Expand Down Expand Up @@ -85,6 +98,14 @@ public void GeneratesScript_AndBuildNodeAppsWithDynamicInstallationCliBuster(str
GeneratesScript_AndBuildNodeAppsWithDynamicInstallation(version, buildImageName);
}

[Theory, Trait("category", "cli-bullseye")]
[Trait("build-image", "cli-debian-bullseye")]
[MemberData(nameof(ImageNameDataCliBullseye))]
public void GeneratesScript_AndBuildNodeAppsWithDynamicInstallationCliBullseye(string version, string buildImageName)
{
GeneratesScript_AndBuildNodeAppsWithDynamicInstallation(version, buildImageName);
}

private void GeneratesScript_AndBuildNodeAppsWithDynamicInstallation(string version, string buildImageName)
{
// Arrange
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,14 @@ public void PipelineTestInvocationCli()
public void PipelineTestInvocationCliBuster()
{
var imageTestHelper = new ImageTestHelper();
GeneratesScript_AndBuilds(imageTestHelper.GetCliImage(ImageTestHelperConstants.CliBusterRepository));
GeneratesScript_AndBuilds(imageTestHelper.GetCliImage(ImageTestHelperConstants.CliBusterTag));
}

[Fact, Trait("category", "cli-bullseye")]
public void PipelineTestInvocationCliBullseye()
{
var imageTestHelper = new ImageTestHelper();
GeneratesScript_AndBuilds(imageTestHelper.GetCliImage(ImageTestHelperConstants.CliBullseyeTag));
}

private void GeneratesScript_AndBuilds(string buildImageName)
Expand Down
43 changes: 35 additions & 8 deletions tests/Oryx.BuildImage.Tests/Php/PhpDynamicInstallationTest.cs
Original file line number Diff line number Diff line change
Expand Up @@ -75,16 +75,36 @@ public static TheoryData<string, string, string> VersionAndImageNameDataCliBuste
{
var data = new TheoryData<string, string, string>();
var imageHelper = new ImageTestHelper();
data.Add(PhpVersions.Php74Version, imageHelper.GetCliImage(ImageTestHelperConstants.CliBusterRepository), PhpVersions.ComposerVersion);
data.Add(PhpVersions.Php80Version, imageHelper.GetCliImage(ImageTestHelperConstants.CliBusterRepository), PhpVersions.ComposerVersion);
data.Add(PhpVersions.Php81Version, imageHelper.GetCliImage(ImageTestHelperConstants.CliBusterRepository), PhpVersions.ComposerVersion);
data.Add(PhpVersions.Php82Version, imageHelper.GetCliImage(ImageTestHelperConstants.CliBusterRepository), PhpVersions.ComposerVersion);
data.Add(PhpVersions.Php74Version, imageHelper.GetCliImage(ImageTestHelperConstants.CliBusterTag), PhpVersions.ComposerVersion);
data.Add(PhpVersions.Php80Version, imageHelper.GetCliImage(ImageTestHelperConstants.CliBusterTag), PhpVersions.ComposerVersion);
data.Add(PhpVersions.Php81Version, imageHelper.GetCliImage(ImageTestHelperConstants.CliBusterTag), PhpVersions.ComposerVersion);
data.Add(PhpVersions.Php82Version, imageHelper.GetCliImage(ImageTestHelperConstants.CliBusterTag), PhpVersions.ComposerVersion);

// test latest php-composer version
data.Add(PhpVersions.Php74Version, imageHelper.GetCliImage(ImageTestHelperConstants.CliBusterRepository), PhpVersions.Composer23Version);
data.Add(PhpVersions.Php80Version, imageHelper.GetCliImage(ImageTestHelperConstants.CliBusterRepository), PhpVersions.Composer23Version);
data.Add(PhpVersions.Php81Version, imageHelper.GetCliImage(ImageTestHelperConstants.CliBusterRepository), PhpVersions.Composer23Version);
data.Add(PhpVersions.Php82Version, imageHelper.GetCliImage(ImageTestHelperConstants.CliBusterRepository), PhpVersions.Composer23Version);
data.Add(PhpVersions.Php74Version, imageHelper.GetCliImage(ImageTestHelperConstants.CliBusterTag), PhpVersions.Composer23Version);
data.Add(PhpVersions.Php80Version, imageHelper.GetCliImage(ImageTestHelperConstants.CliBusterTag), PhpVersions.Composer23Version);
data.Add(PhpVersions.Php81Version, imageHelper.GetCliImage(ImageTestHelperConstants.CliBusterTag), PhpVersions.Composer23Version);
data.Add(PhpVersions.Php82Version, imageHelper.GetCliImage(ImageTestHelperConstants.CliBusterTag), PhpVersions.Composer23Version);
return data;
}
}

public static TheoryData<string, string, string> VersionAndImageNameDataCliBullseye
{
get
{
var data = new TheoryData<string, string, string>();
var imageHelper = new ImageTestHelper();
data.Add(PhpVersions.Php74Version, imageHelper.GetCliImage(ImageTestHelperConstants.CliBullseyeTag), PhpVersions.ComposerVersion);
data.Add(PhpVersions.Php80Version, imageHelper.GetCliImage(ImageTestHelperConstants.CliBullseyeTag), PhpVersions.ComposerVersion);
data.Add(PhpVersions.Php81Version, imageHelper.GetCliImage(ImageTestHelperConstants.CliBullseyeTag), PhpVersions.ComposerVersion);
data.Add(PhpVersions.Php82Version, imageHelper.GetCliImage(ImageTestHelperConstants.CliBullseyeTag), PhpVersions.ComposerVersion);

// test latest php-composer version
data.Add(PhpVersions.Php74Version, imageHelper.GetCliImage(ImageTestHelperConstants.CliBullseyeTag), PhpVersions.Composer23Version);
data.Add(PhpVersions.Php80Version, imageHelper.GetCliImage(ImageTestHelperConstants.CliBullseyeTag), PhpVersions.Composer23Version);
data.Add(PhpVersions.Php81Version, imageHelper.GetCliImage(ImageTestHelperConstants.CliBullseyeTag), PhpVersions.Composer23Version);
data.Add(PhpVersions.Php82Version, imageHelper.GetCliImage(ImageTestHelperConstants.CliBullseyeTag), PhpVersions.Composer23Version);
return data;
}
}
Expand All @@ -110,6 +130,13 @@ public void BuildsAppByInstallingSdkDynamicallyCliBuster(string phpVersion, stri
BuildsAppByInstallingSdkDynamically(phpVersion, imageName, phpComposerVersion, "/opt/php");
}

[Theory, Trait("category", "cli-bullseye")]
[MemberData(nameof(VersionAndImageNameDataCliBullseye))]
public void BuildsAppByInstallingSdkDynamicallyCliBullseye(string phpVersion, string imageName, string phpComposerVersion)
{
BuildsAppByInstallingSdkDynamically(phpVersion, imageName, phpComposerVersion, "/opt/php");
}

private void BuildsAppByInstallingSdkDynamically(
string phpVersion,
string imageName,
Expand Down
9 changes: 8 additions & 1 deletion tests/Oryx.BuildImage.Tests/Php/PhpSampleAppsTest.cs
Original file line number Diff line number Diff line change
Expand Up @@ -104,11 +104,18 @@ public void GeneratesScript_AndBuilds_TwigExample_WithDynamicInstallation_Cli(st
}

[Theory, Trait("category", "cli-buster")]
[InlineData(PhpVersions.Php80Version, ImageTestHelperConstants.CliBusterRepository)]
[InlineData(PhpVersions.Php80Version, ImageTestHelperConstants.CliBusterTag)]
public void GeneratesScript_AndBuilds_TwigExample_WithDynamicInstallation_CliBuster(string phpVersion, string imageTag) {
GeneratesScript_AndBuilds_TwigExample_WithDynamicInstallation(phpVersion, imageTag);
}

[Theory, Trait("category", "cli-bullseye")]
[InlineData(PhpVersions.Php80Version, ImageTestHelperConstants.CliBullseyeTag)]
public void GeneratesScript_AndBuilds_TwigExample_WithDynamicInstallation_CliBullseye(string phpVersion, string imageTag)
{
GeneratesScript_AndBuilds_TwigExample_WithDynamicInstallation(phpVersion, imageTag);
}

private void GeneratesScript_AndBuilds_TwigExample_WithDynamicInstallation(string phpVersion, string imageTag)
{
// Arrange
Expand Down
9 changes: 8 additions & 1 deletion tests/Oryx.BuildImage.Tests/PulledBuildImageTypeTest.cs
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,14 @@ public void PulledCliStretchBuildImages_Contains_BUILDIMAGE_TYPE_Info()
[Trait("category", "cli-buster")]
public void PulledCliBusterBuildImages_Contains_BUILDIMAGE_TYPE_Info()
{
PulledBuildImages_Contains_BUILDIMAGE_TYPE_Info(_imageHelper.GetCliImage(ImageTestHelperConstants.CliBusterRepository), "cli");
PulledBuildImages_Contains_BUILDIMAGE_TYPE_Info(_imageHelper.GetCliImage(ImageTestHelperConstants.CliBusterTag), "cli");
}

[Fact]
[Trait("category", "cli-bullseye")]
public void PulledCliBullseyeBuildImages_Contains_BUILDIMAGE_TYPE_Info()
{
PulledBuildImages_Contains_BUILDIMAGE_TYPE_Info(_imageHelper.GetCliImage(ImageTestHelperConstants.CliBullseyeTag), "cli");
}

[Fact]
Expand Down
Loading

0 comments on commit 709e380

Please sign in to comment.