Skip to content

Commit 7574ac1

Browse files
committed
use shared local action for deps
1 parent 758e438 commit 7574ac1

File tree

4 files changed

+126
-70
lines changed

4 files changed

+126
-70
lines changed
Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
name: 'Build Deps Manifest'
2+
description: 'Docker Build Deps Images Manifest'
3+
inputs:
4+
docker_distro:
5+
description: 'Linux Distro'
6+
required: true
7+
docker_registry:
8+
description: 'Docker Registry'
9+
required: true
10+
docker_registry_name:
11+
description: 'Docker Registry Name'
12+
required: true
13+
docker_registry_username:
14+
description: 'Docker Registry Username'
15+
required: true
16+
docker_registry_password:
17+
description: 'Docker Registry Password'
18+
required: true
19+
push_images:
20+
description: 'Push Images'
21+
required: true
22+
default: 'false'
23+
runs:
24+
using: 'composite'
25+
steps:
26+
- name: Login to ${{ inputs.docker_registry }}
27+
if: ${{ inputs.push_images == 'true' }}
28+
uses: docker/login-action@v3
29+
with:
30+
registry: ${{ inputs.docker_registry }}
31+
username: ${{ inputs.docker_registry_username }}
32+
password: ${{ inputs.docker_registry_password }}
33+
- name: '[Build Docker images] ${{ inputs.docker_registry }}'
34+
shell: pwsh
35+
run: |
36+
dotnet run/build.dll `
37+
--target=DockerBuildDepsManifest `
38+
--dotnet_distro=${{ inputs.docker_distro }} --docker_registry=${{ inputs.docker_registry_name }} `
39+
--push_images=${{ inputs.push_images }} --verbosity=diagnostic

.github/actions/build-deps/action.yml

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
name: 'Build Deps'
2+
description: 'Docker Build Deps Images'
3+
inputs:
4+
arch:
5+
description: 'Docker architecture'
6+
required: true
7+
docker_distro:
8+
description: 'Linux Distro'
9+
required: true
10+
docker_registry:
11+
description: 'Docker Registry'
12+
required: true
13+
docker_registry_name:
14+
description: 'Docker Registry Name'
15+
required: true
16+
docker_registry_username:
17+
description: 'Docker Registry Username'
18+
required: true
19+
docker_registry_password:
20+
description: 'Docker Registry Password'
21+
required: true
22+
23+
runs:
24+
using: 'composite'
25+
steps:
26+
- name: Login to ${{ inputs.docker_registry }}
27+
if: ${{ env.PUSH_IMAGES == 'true' }}
28+
uses: docker/login-action@v3
29+
with:
30+
registry: ${{ inputs.docker_registry }}
31+
username: ${{ inputs.docker_registry_username }}
32+
password: ${{ inputs.docker_registry_password }}
33+
- name: '[Build Docker images] ${{ inputs.docker_registry }}'
34+
shell: pwsh
35+
run: |
36+
dotnet run/build.dll `
37+
--target=DockerBuildDeps --arch=${{ inputs.arch }} `
38+
--dotnet_distro=${{ inputs.docker_distro }} --docker_registry=${{ inputs.docker_registry_name }} `
39+
--push_images=${{ env.PUSH_IMAGES }} --verbosity=diagnostic
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
name: 'Docker Setup'
2+
description: 'Setups the docker engine'
3+
4+
runs:
5+
using: 'composite'
6+
steps:
7+
- name: Set up Docker
8+
uses: docker/setup-docker-action@v4
9+
with:
10+
daemon-config: '{ "features": { "containerd-snapshotter": true } }'
11+
- name: Setup Docker Buildx
12+
uses: docker/setup-buildx-action@v3
13+
with:
14+
version: 'latest'
15+
driver-opts: 'image=moby/buildkit:buildx-stable-1'
16+
install: true

.github/workflows/build-deps.yml

Lines changed: 32 additions & 70 deletions
Original file line numberDiff line numberDiff line change
@@ -70,43 +70,25 @@ jobs:
7070
with:
7171
global-json-file: build/global.json
7272
- name: Set up Docker
73-
uses: docker/setup-docker-action@v4
73+
uses: ./.github/actions/docker-setup
74+
- name: Publish image to DockerHub
75+
uses: ./.github/actions/build-deps
7476
with:
75-
daemon-config: '{ "features": { "containerd-snapshotter": true } }'
76-
- name: Setup Docker Buildx
77-
uses: docker/setup-buildx-action@v3
77+
arch: ${{ matrix.arch }}
78+
docker_distro: ${{ matrix.distro }}
79+
docker_registry: docker.io
80+
docker_registry_name: dockerhub
81+
docker_registry_username: ${{ secrets.DOCKER_USERNAME }}
82+
docker_registry_password: ${{ secrets.DOCKER_PASSWORD }}
83+
- name: Publish image to GitHub
84+
uses: ./.github/actions/build-deps
7885
with:
79-
version: 'latest'
80-
driver-opts: 'image=moby/buildkit:buildx-stable-1'
81-
install: true
82-
- name: Login to DockerHub
83-
if: success() && env.PUSH_IMAGES == 'true'
84-
uses: docker/login-action@v3
85-
with:
86-
registry: docker.io
87-
username: ${{ secrets.DOCKER_USERNAME }}
88-
password: ${{ secrets.DOCKER_PASSWORD }}
89-
- name: '[Build Docker images] DockerHub'
90-
shell: pwsh
91-
run: |
92-
dotnet run/build.dll `
93-
--target=DockerBuildDeps --arch=${{ matrix.arch }} `
94-
--dotnet_distro=${{ matrix.distro }} --docker_registry=dockerhub `
95-
--push_images=${{env.PUSH_IMAGES}} --verbosity=diagnostic
96-
- name: Login to GitHub Container Registry
97-
if: success() && env.PUSH_IMAGES == 'true'
98-
uses: docker/login-action@v3
99-
with:
100-
registry: ghcr.io
101-
username: ${{ github.repository_owner }}
102-
password: ${{ secrets.DOCKER_GITHUB_TOKEN }}
103-
- name: '[Build Docker images] GitHub'
104-
shell: pwsh
105-
run: |
106-
dotnet run/build.dll `
107-
--target=DockerBuildDeps --arch=${{ matrix.arch }} `
108-
--dotnet_distro=${{ matrix.distro }} --docker_registry=github `
109-
--push_images=${{env.PUSH_IMAGES}} --verbosity=diagnostic
86+
arch: ${{ matrix.arch }}
87+
docker_distro: ${{ matrix.distro }}
88+
docker_registry: ghcr.io
89+
docker_registry_name: github
90+
docker_registry_username: ${{ github.repository_owner }}
91+
docker_registry_password: ${{ secrets.DOCKER_GITHUB_TOKEN }}
11092

11193
build_deps_manifests:
11294
name: Build Deps Manifests (${{ matrix.distro }})
@@ -132,40 +114,20 @@ jobs:
132114
with:
133115
global-json-file: build/global.json
134116
- name: Set up Docker
135-
uses: docker/setup-docker-action@v4
136-
with:
137-
daemon-config: '{ "features": { "containerd-snapshotter": true } }'
138-
- name: Setup Docker Buildx
139-
uses: docker/setup-buildx-action@v3
140-
with:
141-
version: 'latest'
142-
driver-opts: 'image=moby/buildkit:buildx-stable-1'
143-
install: true
144-
- name: Login to DockerHub
145-
if: success() && env.PUSH_IMAGES == 'true'
146-
uses: docker/login-action@v3
117+
uses: ./.github/actions/docker-setup
118+
- name: Publish image manifest to DockerHub
119+
uses: ./.github/actions/build-deps-manifest
147120
with:
148-
registry: docker.io
149-
username: ${{ secrets.DOCKER_USERNAME }}
150-
password: ${{ secrets.DOCKER_PASSWORD }}
151-
- name: '[Build Docker manifests] DockerHub'
152-
shell: pwsh
153-
run: |
154-
dotnet run/build.dll `
155-
--target=DockerBuildDepsManifest `
156-
--dotnet_distro=${{ matrix.distro }} --docker_registry=dockerhub `
157-
--push_images=${{env.PUSH_IMAGES}} --verbosity=diagnostic
158-
- name: Login to GitHub Container Registry
159-
if: success() && env.PUSH_IMAGES == 'true'
160-
uses: docker/login-action@v3
121+
docker_distro: ${{ matrix.distro }}
122+
docker_registry: docker.io
123+
docker_registry_name: dockerhub
124+
docker_registry_username: ${{ secrets.DOCKER_USERNAME }}
125+
docker_registry_password: ${{ secrets.DOCKER_PASSWORD }}
126+
- name: Publish image manifest to GitHub
127+
uses: ./.github/actions/build-deps-manifest
161128
with:
162-
registry: ghcr.io
163-
username: ${{ github.repository_owner }}
164-
password: ${{ secrets.DOCKER_GITHUB_TOKEN }}
165-
- name: '[Build Docker manifests] GitHub'
166-
shell: pwsh
167-
run: |
168-
dotnet run/build.dll `
169-
--target=DockerBuildDepsManifest `
170-
--dotnet_distro=${{ matrix.distro }} --docker_registry=github `
171-
--push_images=${{env.PUSH_IMAGES}} --verbosity=diagnostic
129+
docker_distro: ${{ matrix.distro }}
130+
docker_registry: ghcr.io
131+
docker_registry_name: github
132+
docker_registry_username: ${{ github.repository_owner }}
133+
docker_registry_password: ${{ secrets.DOCKER_GITHUB_TOKEN }}

0 commit comments

Comments
 (0)