Skip to content

Commit e1d34e3

Browse files
committed
include manifest for build images
1 parent 3f5fb34 commit e1d34e3

File tree

4 files changed

+72
-2
lines changed

4 files changed

+72
-2
lines changed

.github/workflows/build-deps.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -108,7 +108,7 @@ jobs:
108108
--push_images=${{env.PUSH_IMAGES}} --verbosity=diagnostic
109109
110110
build_deps_manifests:
111-
name: Build Deps Manifests
111+
name: Build Deps Manifests (${{ matrix.distro }})
112112
needs: [ prepare, build_deps ]
113113
env:
114114
PUSH_IMAGES: ${{github.event_name != 'pull_request' && github.repository_owner == 'GitTools'}}

.github/workflows/build-images.yml

Lines changed: 67 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ jobs:
3535
id: set_matrix
3636
run: dotnet run/build.dll --target=SetMatrix
3737

38-
build:
38+
build_images:
3939
name: Build Images (${{ matrix.arch }} - ${{ matrix.distro }}) (${{ matrix.version }} - ${{ matrix.variant }})
4040
needs: [ prepare ]
4141
env:
@@ -107,3 +107,69 @@ jobs:
107107
--dotnet_version=${{ matrix.version }} --dotnet_variant=${{ matrix.variant }} `
108108
--dotnet_distro=${{ matrix.distro }} --docker_registry=github `
109109
--push_images=${{env.PUSH_IMAGES}} --verbosity=diagnostic
110+
111+
build_images_manifest:
112+
name: Build Images (${{ matrix.distro }}) (${{ matrix.version }} - ${{ matrix.variant }})
113+
needs: [ prepare, build_images ]
114+
env:
115+
PUSH_IMAGES: ${{github.event_name != 'pull_request' && github.repository_owner == 'GitTools'}}
116+
runs-on: ubuntu-24.04
117+
strategy:
118+
matrix:
119+
distro: ${{ fromJson(needs.prepare.outputs.dockerDistros) }}
120+
version: ${{ fromJson(needs.prepare.outputs.dotnetVersions) }}
121+
variant: ${{ fromJson(needs.prepare.outputs.dotnetVariants) }}
122+
fail-fast: false
123+
124+
steps:
125+
- name: Checkout
126+
uses: actions/checkout@v4
127+
- name: Use cached cake frosting
128+
id: cache-cake
129+
uses: actions/cache@v4
130+
with:
131+
path: run
132+
key: run-${{ runner.os }}-${{ hashFiles('./build/**') }}
133+
- name: Setup .NET SDK
134+
uses: actions/setup-dotnet@v4
135+
with:
136+
global-json-file: build/global.json
137+
- name: Set up Docker
138+
uses: docker/setup-docker-action@v4
139+
with:
140+
daemon-config: '{ "features": { "containerd-snapshotter": true } }'
141+
- name: Setup Docker Buildx
142+
uses: docker/setup-buildx-action@v3
143+
with:
144+
version: 'latest'
145+
driver-opts: 'image=moby/buildkit:buildx-stable-1'
146+
install: true
147+
- name: Login to DockerHub
148+
if: success() && env.PUSH_IMAGES == 'true'
149+
uses: docker/login-action@v3
150+
with:
151+
username: ${{ secrets.DOCKER_USERNAME }}
152+
password: ${{ secrets.DOCKER_PASSWORD }}
153+
- name: '[Build Docker images]'
154+
shell: pwsh
155+
run: |
156+
dotnet run/build.dll `
157+
--target=DockerBuildImagesManifest `
158+
--dotnet_version=${{ matrix.version }} --dotnet_variant=${{ matrix.variant }} `
159+
--dotnet_distro=${{ matrix.distro }} --docker_registry=dockerhub `
160+
--push_images=${{env.PUSH_IMAGES}} --verbosity=diagnostic
161+
- name: Login to GitHub Container Registry
162+
if: success() && env.PUSH_IMAGES == 'true'
163+
uses: docker/login-action@v3
164+
with:
165+
registry: ghcr.io
166+
username: ${{ github.repository_owner }}
167+
password: ${{ secrets.DOCKER_GITHUB_TOKEN }}
168+
- name: '[Build Docker images]'
169+
shell: pwsh
170+
run: |
171+
dotnet run/build.dll `
172+
--target=DockerBuildImagesManifest `
173+
--dotnet_version=${{ matrix.version }} --dotnet_variant=${{ matrix.variant }} `
174+
--dotnet_distro=${{ matrix.distro }} --docker_registry=github `
175+
--push_images=${{env.PUSH_IMAGES}} --verbosity=diagnostic

build/build/Tasks/DockerBuildDepsManifest.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
namespace Build;
22
using DockerBuildXImageToolsCreateSettings = Build.Cake.Docker.DockerBuildXImageToolsCreateSettings;
33

4+
[TaskName(nameof(DockerBuildDepsManifest))]
5+
[TaskDescription("Builds the docker images dependencies manifest")]
46
public class DockerBuildDepsManifest : BaseDockerBuildManifest
57
{
68
public override void Run(BuildContext context)

build/build/Tasks/DockerBuildImagesManifest.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
namespace Build;
22
using DockerBuildXImageToolsCreateSettings = Build.Cake.Docker.DockerBuildXImageToolsCreateSettings;
33

4+
[TaskName(nameof(DockerBuildImagesManifest))]
5+
[TaskDescription("Builds the docker images manifest")]
46
public class DockerBuildImagesManifest : BaseDockerBuildManifest
57
{
68
public override void Run(BuildContext context)

0 commit comments

Comments
 (0)