Skip to content

Commit 58b3a30

Browse files
authored
Merge branch 'main' into copilot/add-opensuse-15-6
2 parents 727f03e + 415314c commit 58b3a30

9 files changed

Lines changed: 479 additions & 3 deletions

File tree

eng/docker-tools/DEV-GUIDE.md

Lines changed: 387 additions & 0 deletions
Large diffs are not rendered by default.

eng/docker-tools/readme.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,4 +25,6 @@
2525

2626
!!! Changes made in this directory are subject to being overwritten by automation !!!
2727

28-
The files in this directory are shared by all .NET Docker repos. If you need to make changes to these files, open an issue or submit a pull request in https://github.com/dotnet/docker-tools.
28+
The files in this directory are shared by all .NET Docker repos. If you need to make changes to these files, open an issue or submit a pull request in https://github.com/dotnet/docker-tools.
29+
30+
For guidance on using this infrastructure, see the [Developer Guide](DEV-GUIDE.md).

eng/docker-tools/templates/1es.yml

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,15 @@ parameters:
3939
- name: enableSbom
4040
type: boolean
4141
default: false
42+
# Network isolation policy that will be enabled for jobs. The default policy
43+
# allows all outbound connections except for public package feeds and known
44+
# malicious endpoints. If this policy breaks the build, then it can be set to
45+
# "Permissive" temporarily until external dependencies are resolved.
46+
# See the network isolation documentation for more details:
47+
# https://eng.ms/docs/coreai/devdiv/one-engineering-system-1es/1es-build/cloudbuild/security/1espt-network-isolation
48+
- name: networkIsolationPolicy
49+
type: string
50+
default: Permissive,CFSClean
4251

4352
resources:
4453
repositories:
@@ -53,6 +62,8 @@ extends:
5362
baseTemplate: v1/1ES.${{ iif(contains(variables['Build.DefinitionName'], '-official'), 'Official', 'Unofficial') }}.PipelineTemplate.yml@1ESPipelineTemplates
5463
templateParameters:
5564
pool: ${{ parameters.pool }}
65+
settings:
66+
networkIsolationPolicy: ${{ parameters.networkIsolationPolicy }}
5667
sdl:
5768
sbom:
5869
enabled: ${{ parameters.enableSbom }}

eng/docker-tools/templates/stages/dotnet/publish-config-nonprod.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,8 @@ stages:
4747
internalProjectName: "internal"
4848
publicProjectName: "public"
4949

50+
# publishConfig schema is defined in src/ImageBuilder/Configuration/PublishConfiguration.cs.
51+
# This will get converted to JSON and placed in appsettings.json to be loaded by ImageBuilder at runtime.
5052
publishConfig:
5153
internalMirrorAcr:
5254
server: $(acr-staging-test.server)

eng/docker-tools/templates/stages/dotnet/publish-config-prod.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,8 @@ stages:
4747
internalProjectName: "internal"
4848
publicProjectName: "public"
4949

50+
# publishConfig schema is defined in src/ImageBuilder/Configuration/PublishConfiguration.cs.
51+
# This will get converted to JSON and placed in appsettings.json to be loaded by ImageBuilder at runtime.
5052
publishConfig:
5153
internalMirrorAcr:
5254
server: $(acr-staging.server)

eng/docker-tools/templates/variables/common.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ variables:
6666
- name: default1ESInternalPoolName
6767
value: NetCore1ESPool-Internal
6868
- name: default1ESInternalPoolImage
69-
value: 1es-ubuntu-2204
69+
value: Azure-Linux-3-Amd64
7070

7171
- template: /eng/docker-tools/templates/variables/sdl-pool.yml@self
7272

eng/docker-tools/templates/variables/docker-images.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
variables:
2-
imageNames.imageBuilderName: mcr.microsoft.com/dotnet-buildtools/image-builder:2852433
2+
imageNames.imageBuilderName: mcr.microsoft.com/dotnet-buildtools/image-builder:2862284
33
imageNames.imageBuilder: $(imageNames.imageBuilderName)
44
imageNames.imageBuilder.withrepo: imagebuilder-withrepo:$(Build.BuildId)-$(System.JobId)
55
imageNames.testRunner: mcr.microsoft.com/dotnet-buildtools/prereqs:azurelinux3.0-docker-testrunner

src/fedora/43/amd64/Dockerfile

Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
FROM library/fedora:43
2+
3+
RUN dnf upgrade --refresh -y \
4+
&& dnf config-manager addrepo --from-repofile=https://packages.microsoft.com/fedora/43/prod/config.repo \
5+
&& dnf install --setopt=install_weak_deps=False --setopt tsflags=nodocs -y \
6+
# Base toolchain we need to build anything (clang, cmake, make and the like)
7+
clang \
8+
cmake \
9+
dnf-plugins-core \
10+
findutils \
11+
gdb \
12+
glibc-langpack-en \
13+
lldb-devel \
14+
llvm-devel \
15+
make \
16+
pigz \
17+
python \
18+
which \
19+
# Tools used by build automation
20+
azure-cli \
21+
git \
22+
jq \
23+
tar \
24+
procps \
25+
zip \
26+
# Dependencies of CoreCLR, Mono and CoreFX
27+
autoconf \
28+
automake \
29+
brotli-devel \
30+
cpio \
31+
glibc-locale-source \
32+
iputils \
33+
krb5-devel \
34+
libcurl-devel \
35+
libicu-devel \
36+
libomp-devel \
37+
libtool \
38+
libunwind-devel \
39+
libuuid-devel \
40+
lttng-ust-devel \
41+
openssl-devel \
42+
rapidjson-devel \
43+
uuid-devel \
44+
zlib-devel \
45+
# Dependencies for VMR/source-build tests
46+
iproute \
47+
elfutils \
48+
file \
49+
# Dependencies to support globalization
50+
icu \
51+
&& dnf clean all
52+
53+
# Install the latest non-preview powershell release.
54+
RUN LATEST_TAG=$(curl -L https://api.github.com/repos/powershell/powershell/releases/latest | jq -r '.tag_name') \
55+
&& curl -L https://github.com/PowerShell/PowerShell/releases/download/$LATEST_TAG/powershell-${LATEST_TAG#*v}-linux-x64.tar.gz -o /tmp/powershell.tar.gz \
56+
&& mkdir -p /opt/microsoft/powershell \
57+
&& tar zxf /tmp/powershell.tar.gz -C /opt/microsoft/powershell \
58+
&& chmod +x /opt/microsoft/powershell/pwsh \
59+
&& ln -s /opt/microsoft/powershell/pwsh /usr/bin/pwsh \
60+
&& rm -f /tmp/powershell.tar.gz

src/fedora/manifest.json

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,18 @@
1515
}
1616
]
1717
},
18+
{
19+
"platforms": [
20+
{
21+
"dockerfile": "src/fedora/43/amd64",
22+
"os": "linux",
23+
"osVersion": "fedora43",
24+
"tags": {
25+
"fedora-43-amd64": {}
26+
}
27+
}
28+
]
29+
},
1830
{
1931
"platforms": [
2032
{

0 commit comments

Comments
 (0)