|
77 | 77 | strategy: |
78 | 78 | matrix: |
79 | 79 | arch: ["arm64", "amd64"] |
| 80 | + variant: ["", "-nonroot"] |
80 | 81 | include: |
81 | 82 | - arch: amd64 |
82 | 83 | runner: ubuntu-24.04 |
@@ -104,34 +105,20 @@ jobs: |
104 | 105 | uses: docker/setup-buildx-action@v3 |
105 | 106 | with: |
106 | 107 | install: true |
107 | | - - name: Build |
| 108 | + - name: Build ${{ env.PULUMI_VERSION }}${{ matix.variant }}-${{ matrix.arch }} |
108 | 109 | run: | |
109 | 110 | docker build \ |
110 | 111 | -f docker/pulumi/Dockerfile \ |
111 | 112 | --platform linux/${{ matrix.arch }} \ |
112 | | - -t ${{ env.DOCKER_ORG }}/pulumi:${{ env.PULUMI_VERSION }}-${{ matrix.arch }} \ |
| 113 | + -t ${{ env.DOCKER_ORG }}/pulumi:${{ env.PULUMI_VERSION }}${{ matix.variant }}-${{ matrix.arch }} \ |
113 | 114 | --target base \ |
114 | 115 | --build-arg PULUMI_VERSION=${{ env.PULUMI_VERSION }} \ |
115 | 116 | --load \ |
116 | 117 | docker/pulumi |
117 | 118 | - name: Image Info |
118 | 119 | run: | |
119 | | - docker image ls ${{ env.DOCKER_ORG }}/pulumi:${{ env.PULUMI_VERSION }}-${{ matrix.arch }} |
120 | | - docker history ${{ env.DOCKER_ORG }}/pulumi:${{ env.PULUMI_VERSION }}-${{ matrix.arch }} |
121 | | - - name: Build nonroot variant |
122 | | - run: | |
123 | | - docker build \ |
124 | | - -f docker/pulumi/Dockerfile \ |
125 | | - --platform linux/${{ matrix.arch }} \ |
126 | | - -t ${{ env.DOCKER_ORG }}/pulumi:${{ env.PULUMI_VERSION }}-nonroot-${{ matrix.arch }} \ |
127 | | - --target nonroot \ |
128 | | - --build-arg PULUMI_VERSION=${{ env.PULUMI_VERSION }} \ |
129 | | - --load \ |
130 | | - docker/pulumi |
131 | | - - name: Image Info |
132 | | - run: | |
133 | | - docker image ls ${{ env.DOCKER_ORG }}/pulumi:${{ env.PULUMI_VERSION }}-nonroot-${{ matrix.arch }} |
134 | | - docker history ${{ env.DOCKER_ORG }}/pulumi:${{ env.PULUMI_VERSION }}-nonroot-${{ matrix.arch }} |
| 120 | + docker image ls ${{ env.DOCKER_ORG }}/pulumi:${{ env.PULUMI_VERSION }}${{ matrix.variant }}-${{ matrix.arch }} |
| 121 | + docker history ${{ env.DOCKER_ORG }}/pulumi:${{ env.PULUMI_VERSION }}${{ matrix.variant }}-${{ matrix.arch }} |
135 | 122 | - name: Install go |
136 | 123 | uses: actions/setup-go@v5 |
137 | 124 | with: |
@@ -182,30 +169,8 @@ jobs: |
182 | 169 | --mount type=bind,source=$GOOGLE_APPLICATION_CREDENTIALS,target=/src/creds.json \ |
183 | 170 | --volume /tmp:/src \ |
184 | 171 | --entrypoint /src/pulumi-test-containers \ |
185 | | - ${{ env.DOCKER_ORG }}/pulumi:${{ env.PULUMI_VERSION }}-${{ matrix.arch }} \ |
186 | | - -test.parallel=8 -test.timeout=1h -test.v | sed 's/.*/[root] &/' & |
187 | | - docker run \ |
188 | | - -e RUN_CONTAINER_TESTS=true \ |
189 | | - -e IMAGE_VARIANT=pulumi-nonroot \ |
190 | | - -e PULUMI_ACCESS_TOKEN=${PULUMI_ACCESS_TOKEN} \ |
191 | | - -e PULUMI_ORG=${PULUMI_ORG} \ |
192 | | - -e ARM_CLIENT_ID=${ARM_CLIENT_ID} \ |
193 | | - -e ARM_CLIENT_SECRET=${ARM_CLIENT_SECRET} \ |
194 | | - -e ARM_TENANT_ID=${ARM_TENANT_ID} \ |
195 | | - -e ARM_SUBSCRIPTION_ID=${ARM_SUBSCRIPTION_ID} \ |
196 | | - -e AWS_ACCESS_KEY_ID=${AWS_ACCESS_KEY_ID} \ |
197 | | - -e AWS_SECRET_ACCESS_KEY=${AWS_SECRET_ACCESS_KEY} \ |
198 | | - -e AWS_SESSION_TOKEN=${AWS_SESSION_TOKEN} \ |
199 | | - -e AWS_REGION=${AWS_REGION} \ |
200 | | - -e GCP_PROJECT_NAME=${GCP_PROJECT_NAME} \ |
201 | | - -e GCP_PROJECT_NUMBER=${GCP_PROJECT_NUMBER} \ |
202 | | - -e GOOGLE_APPLICATION_CREDENTIALS=/src/creds.json \ |
203 | | - --mount type=bind,source=$GOOGLE_APPLICATION_CREDENTIALS,target=/src/creds.json \ |
204 | | - --volume /tmp:/src \ |
205 | | - --entrypoint /src/pulumi-test-containers \ |
206 | | - ${{ env.DOCKER_ORG }}/pulumi:${{ env.PULUMI_VERSION }}-${{ matrix.arch }}-nonroot \ |
207 | | - -test.parallel=8 -test.timeout=1h -test.v | sed 's/.*/[nonroot] &/' & |
208 | | - wait |
| 172 | + ${{ env.DOCKER_ORG }}/pulumi:${{ env.PULUMI_VERSION }}${{ matrix.variant }}-${{ matrix.arch }} \ |
| 173 | + -test.parallel=8 -test.timeout=1h -test.v |
209 | 174 |
|
210 | 175 | provider-build-environment: |
211 | 176 | name: Provider Build Environment image |
|
0 commit comments