|
91 | 91 | run: | |
92 | 92 | hpccm --recipe ${{ matrix.tutorial }}/brev/docker-recipe.py --format docker > ${{ matrix.tutorial }}/brev/dockerfile |
93 | 93 |
|
94 | | - - name: Set up Docker Buildx |
95 | | - uses: docker/setup-buildx-action@v3 |
96 | | - |
97 | | - - name: Log in to GitHub Container Registry |
98 | | - uses: docker/login-action@v3 |
99 | | - with: |
100 | | - registry: ghcr.io |
101 | | - username: ${{ github.actor }} |
102 | | - password: ${{ secrets.GITHUB_TOKEN }} |
103 | | - |
104 | | - - name: Build and push Docker image (with retry) |
105 | | - uses: nick-fields/retry@v3 |
106 | | - env: |
107 | | - DOCKER_BUILDKIT: 1 |
108 | | - with: |
109 | | - timeout_minutes: 60 |
110 | | - max_attempts: 3 |
111 | | - retry_wait_seconds: 30 |
112 | | - command: | |
113 | | - cd ${{ matrix.tutorial }}/brev |
114 | | -
|
115 | | - docker buildx bake \ |
116 | | - --allow=fs.read=/home/runner \ |
117 | | - --set "base.output=type=registry" \ |
118 | | - --set "base.tags=${IMAGE_NAME}:${DOCKER_TAG_BRANCH}-latest" \ |
119 | | - --set "base.tags=${IMAGE_NAME}:${DOCKER_TAG_BRANCH}-git-${GIT_SHORT_SHA}" \ |
120 | | - $([ "${GIT_BRANCH_NAME}" = "main" ] && echo "--set base.tags=${IMAGE_NAME}:latest") \ |
121 | | - --set "base.cache-from=type=registry,ref=${IMAGE_NAME}:buildcache-${DOCKER_TAG_BRANCH},oci-mediatypes=true" \ |
122 | | - --set "base.cache-from=type=registry,ref=${IMAGE_NAME}:buildcache-main,oci-mediatypes=true" \ |
123 | | - --set "base.cache-to=type=registry,ref=${IMAGE_NAME}:buildcache-${DOCKER_TAG_BRANCH},mode=max,oci-mediatypes=true,compression=zstd,compression-level=3" \ |
124 | | - --set "base.platform=linux/amd64" \ |
125 | | - -f docker-compose.yml \ |
126 | | - base |
127 | | -
|
128 | 94 | - name: Generate Docker Compose files |
129 | 95 | run: | |
130 | 96 | python3 brev/generate-tagged-docker-composes.py \ |
@@ -186,9 +152,46 @@ jobs: |
186 | 152 | fi |
187 | 153 | done |
188 | 154 | fi |
| 155 | +
|
| 156 | + # Return to original branch |
| 157 | + git checkout ${GITHUB_REF#refs/heads/} |
189 | 158 | env: |
190 | 159 | GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} |
191 | 160 |
|
| 161 | + - name: Set up Docker Buildx |
| 162 | + uses: docker/setup-buildx-action@v3 |
| 163 | + |
| 164 | + - name: Log in to GitHub Container Registry |
| 165 | + uses: docker/login-action@v3 |
| 166 | + with: |
| 167 | + registry: ghcr.io |
| 168 | + username: ${{ github.actor }} |
| 169 | + password: ${{ secrets.GITHUB_TOKEN }} |
| 170 | + |
| 171 | + - name: Build and push Docker image (with retry) |
| 172 | + uses: nick-fields/retry@v3 |
| 173 | + env: |
| 174 | + DOCKER_BUILDKIT: 1 |
| 175 | + with: |
| 176 | + timeout_minutes: 60 |
| 177 | + max_attempts: 3 |
| 178 | + retry_wait_seconds: 30 |
| 179 | + command: | |
| 180 | + cd ${{ matrix.tutorial }}/brev |
| 181 | +
|
| 182 | + docker buildx bake \ |
| 183 | + --allow=fs.read=/home/runner \ |
| 184 | + --set "base.output=type=registry" \ |
| 185 | + --set "base.tags=${IMAGE_NAME}:${DOCKER_TAG_BRANCH}-latest" \ |
| 186 | + --set "base.tags=${IMAGE_NAME}:${DOCKER_TAG_BRANCH}-git-${GIT_SHORT_SHA}" \ |
| 187 | + $([ "${GIT_BRANCH_NAME}" = "main" ] && echo "--set base.tags=${IMAGE_NAME}:latest") \ |
| 188 | + --set "base.cache-from=type=registry,ref=${IMAGE_NAME}:buildcache-${DOCKER_TAG_BRANCH},oci-mediatypes=true" \ |
| 189 | + --set "base.cache-from=type=registry,ref=${IMAGE_NAME}:buildcache-main,oci-mediatypes=true" \ |
| 190 | + --set "base.cache-to=type=registry,ref=${IMAGE_NAME}:buildcache-${DOCKER_TAG_BRANCH},mode=max,oci-mediatypes=true,compression=zstd,compression-level=3" \ |
| 191 | + --set "base.platform=linux/amd64" \ |
| 192 | + -f docker-compose.yml \ |
| 193 | + base |
| 194 | +
|
192 | 195 | - name: Create pending commit status for test |
193 | 196 | run: | |
194 | 197 | gh api \ |
|
0 commit comments