|
35 | 35 | id: set_matrix
|
36 | 36 | run: dotnet run/build.dll --target=SetMatrix
|
37 | 37 |
|
38 |
| - build: |
| 38 | + build_images: |
39 | 39 | name: Build Images (${{ matrix.arch }} - ${{ matrix.distro }}) (${{ matrix.version }} - ${{ matrix.variant }})
|
40 | 40 | needs: [ prepare ]
|
41 | 41 | env:
|
@@ -107,3 +107,69 @@ jobs:
|
107 | 107 | --dotnet_version=${{ matrix.version }} --dotnet_variant=${{ matrix.variant }} `
|
108 | 108 | --dotnet_distro=${{ matrix.distro }} --docker_registry=github `
|
109 | 109 | --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 |
0 commit comments