Skip to content

maintenance/dockerfile-upgrades #8

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 195 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
195 commits
Select commit Hold shift + click to select a range
5249a9f
Improving Docker multi-stage builds and compose
mowsec Jun 17, 2025
ce28239
Improving Docker multi-stage builds and compose
mowsec Jun 18, 2025
b1c5bfb
Tweaking CICD
mowsec Jun 18, 2025
54b5342
Tweaking CICD
mowsec Jun 18, 2025
37bc9e5
Tweaking CICD
mowsec Jun 18, 2025
21a9b69
Tweaking CICD
mowsec Jun 18, 2025
00b6931
Tweaking CICD
mowsec Jun 18, 2025
5d38e9c
Tweaking CICD
mowsec Jun 18, 2025
b67874d
Tweaking CICD
mowsec Jun 18, 2025
c7d51ea
Tweaking CICD
mowsec Jun 18, 2025
7a334ab
Tweaking CICD
mowsec Jun 18, 2025
0322281
Tweaking CICD
mowsec Jun 18, 2025
6b5a300
Testing CONTRAST_VERSION is working
mowsec Jun 18, 2025
d312ab5
Retrying multi-platform builds
mowsec Jun 19, 2025
2c675df
Fixing outputs reference for agent version number
mowsec Jun 19, 2025
2ba540c
Fixing outputs reference for agent version number
mowsec Jun 19, 2025
9066374
implementing bake for docker builds
mowsec Jun 20, 2025
d3203a7
implementing bake for docker builds
mowsec Jun 20, 2025
0b051b9
implementing bake for docker builds
mowsec Jun 20, 2025
435d362
implementing bake for docker builds
mowsec Jun 20, 2025
c4d5b4e
implementing bake for docker builds
mowsec Jun 20, 2025
eb818d6
implementing bake for docker builds
mowsec Jun 20, 2025
ec943bc
implementing bake for docker builds
mowsec Jun 20, 2025
b6c92bb
trying matrix builds for amd and arm
mowsec Jun 23, 2025
9518228
trying matrix builds for amd and arm
mowsec Jun 23, 2025
cdbb03e
trying matrix builds for amd and arm
mowsec Jun 23, 2025
46152b1
trying matrix builds for amd and arm
mowsec Jun 23, 2025
47ba4d0
trying matrix builds for amd and arm
mowsec Jun 23, 2025
5fe429c
trying matrix builds for amd and arm
mowsec Jun 23, 2025
adb45f8
trying matrix builds for amd and arm
mowsec Jun 23, 2025
9cf6bf8
trying matrix builds for amd and arm
mowsec Jun 23, 2025
430163d
trying matrix builds for amd and arm
mowsec Jun 23, 2025
3f2e7c6
trying matrix builds for amd and arm
mowsec Jun 23, 2025
069f83b
trying matrix builds for amd and arm
mowsec Jun 23, 2025
c0fafcc
trying matrix builds for amd and arm
mowsec Jun 23, 2025
9ffc68f
trying matrix builds for amd and arm
mowsec Jun 23, 2025
a13c08d
trying matrix builds for amd and arm
mowsec Jun 23, 2025
6ff1d3e
trying matrix builds for amd and arm
mowsec Jun 23, 2025
f9c64a5
trying matrix builds for amd and arm
mowsec Jun 23, 2025
9b8922c
trying matrix builds for amd and arm
mowsec Jun 23, 2025
701776d
trying matrix builds for amd and arm
mowsec Jun 23, 2025
64e44ee
trying matrix builds for amd and arm
mowsec Jun 23, 2025
7d719b0
trying matrix builds for amd and arm
mowsec Jun 23, 2025
c9a3b2b
trying matrix builds for amd and arm
mowsec Jun 23, 2025
a2b8aa4
trying matrix builds for amd and arm
mowsec Jun 23, 2025
c684c19
trying matrix builds for amd and arm
mowsec Jun 23, 2025
147b131
trying matrix builds for amd and arm
mowsec Jun 23, 2025
dfb88eb
trying matrix builds for amd and arm
mowsec Jun 23, 2025
a605e0b
trying matrix builds for amd and arm
mowsec Jun 23, 2025
3ce09e7
trying matrix builds for amd and arm
mowsec Jun 23, 2025
4431902
trying matrix builds for amd and arm
mowsec Jun 25, 2025
a9e383e
trying matrix builds for amd and arm
mowsec Jun 25, 2025
8c86a5d
trying matrix builds for amd and arm
mowsec Jun 25, 2025
614e250
trying matrix builds for amd and arm
mowsec Jun 25, 2025
cbe8fae
trying matrix builds for amd and arm
mowsec Jun 25, 2025
5c9eccd
trying matrix builds for amd and arm
mowsec Jun 25, 2025
caf9c56
trying matrix builds for amd and arm
mowsec Jun 25, 2025
7fc2d04
trying matrix builds for amd and arm
mowsec Jun 25, 2025
db08df9
trying matrix builds for amd and arm
mowsec Jun 25, 2025
6f57629
trying matrix builds for amd and arm
mowsec Jun 25, 2025
ca395d2
trying matrix builds for amd and arm
mowsec Jun 25, 2025
b0c7c1c
trying matrix builds for amd and arm
mowsec Jun 25, 2025
2f295c2
trying matrix builds for amd and arm
mowsec Jun 25, 2025
6bdedc0
trying matrix builds for amd and arm
mowsec Jun 25, 2025
df9c188
trying matrix builds for amd and arm
mowsec Jun 25, 2025
a5ce00f
trying matrix builds for amd and arm
mowsec Jun 25, 2025
e5e9c0c
trying matrix builds for amd and arm
mowsec Jun 25, 2025
8e5ceb5
trying matrix builds for amd and arm
mowsec Jun 25, 2025
18a0ebb
trying matrix builds for amd and arm
mowsec Jun 25, 2025
48b516b
trying matrix builds for amd and arm
mowsec Jun 25, 2025
cb654e2
trying matrix builds for amd and arm
mowsec Jun 25, 2025
db19e13
trying matrix builds for amd and arm
mowsec Jun 25, 2025
77caf89
trying matrix builds for amd and arm
mowsec Jun 25, 2025
71803b7
trying matrix builds for amd and arm
mowsec Jun 25, 2025
49eef99
trying matrix builds for amd and arm
mowsec Jun 25, 2025
4ae1b2a
trying matrix builds for amd and arm
mowsec Jun 25, 2025
db02637
trying matrix builds for amd and arm
mowsec Jun 25, 2025
038a7a6
trying matrix builds for amd and arm
mowsec Jun 25, 2025
34863bc
trying matrix builds for amd and arm
mowsec Jun 25, 2025
f89b0ff
trying matrix builds for amd and arm
mowsec Jun 25, 2025
960c0f2
trying matrix builds for amd and arm
mowsec Jun 25, 2025
fb513e7
trying matrix builds for amd and arm
mowsec Jun 25, 2025
ca068c8
trying matrix builds for amd and arm
mowsec Jun 25, 2025
d474c72
trying matrix builds for amd and arm
mowsec Jun 25, 2025
ea57f9a
trying matrix builds for amd and arm
mowsec Jun 26, 2025
24268dd
trying matrix builds for amd and arm
mowsec Jun 26, 2025
12dbfe4
trying matrix builds for amd and arm
mowsec Jun 26, 2025
445dcc3
trying matrix builds for amd and arm
mowsec Jun 26, 2025
c6dc872
trying matrix builds for amd and arm
mowsec Jun 26, 2025
7f22d7c
trying matrix builds for amd and arm
mowsec Jun 26, 2025
07e8f94
trying matrix builds for amd and arm
mowsec Jun 30, 2025
ce65a59
switching back to linear builds
mowsec Jul 8, 2025
f77481f
switching back to linear builds
mowsec Jul 8, 2025
4241399
switching back to linear builds
mowsec Jul 8, 2025
4530db8
switching back to linear builds
mowsec Jul 8, 2025
c1317a9
switching back to linear builds
mowsec Jul 8, 2025
f7b8d45
switching back to linear builds
mowsec Jul 8, 2025
9e5524c
switching back to linear builds
mowsec Jul 8, 2025
bfcad7c
switching back to linear builds
mowsec Jul 8, 2025
9cf61bf
switching back to linear builds
mowsec Jul 8, 2025
7ba72d1
switching back to linear builds
mowsec Jul 8, 2025
fde1a15
switching back to linear builds
mowsec Jul 8, 2025
8bfebbc
switching back to linear builds
mowsec Jul 8, 2025
933142c
switching back to linear builds
mowsec Jul 8, 2025
b812dca
switching back to linear builds
mowsec Jul 8, 2025
6019ea5
switching back to linear builds
mowsec Jul 8, 2025
81ab17e
switching back to linear builds
mowsec Jul 8, 2025
f991edd
switching back to linear builds
mowsec Jul 8, 2025
13ebbf3
switching back to linear builds
mowsec Jul 8, 2025
d69e72c
switching back to linear builds
mowsec Jul 8, 2025
5d112f2
switching back to linear builds
mowsec Jul 8, 2025
f8f3b7b
switching back to linear builds
mowsec Jul 8, 2025
b70beb1
switching back to linear builds
mowsec Jul 9, 2025
ff081c5
switching back to linear builds
mowsec Jul 9, 2025
f711038
switching back to linear builds
mowsec Jul 9, 2025
738ad92
switching back to linear builds
mowsec Jul 9, 2025
ccd8540
switching back to linear builds
mowsec Jul 9, 2025
6316f58
switching back to linear builds
mowsec Jul 9, 2025
0dd6f91
switching back to linear builds
mowsec Jul 9, 2025
c818c27
switching back to linear builds
mowsec Jul 9, 2025
d4f9eba
switching back to linear builds
mowsec Jul 9, 2025
53ae872
switching back to linear builds
mowsec Jul 9, 2025
7c4952c
switching back to linear builds
mowsec Jul 9, 2025
1a628da
switching back to linear builds
mowsec Jul 9, 2025
fb3e70b
switching back to linear builds
mowsec Jul 9, 2025
0406b26
switching back to linear builds
mowsec Jul 9, 2025
5c9b4d0
switching back to linear builds
mowsec Jul 9, 2025
86fd002
switching back to linear builds
mowsec Jul 9, 2025
26a7750
switching back to linear builds
mowsec Jul 14, 2025
c7ccc75
switching back to linear builds
mowsec Jul 14, 2025
77d6c9e
switching back to linear builds
mowsec Jul 14, 2025
e7ffc02
switching back to linear builds
mowsec Jul 14, 2025
d25b193
switching back to linear builds
mowsec Jul 14, 2025
dc1f63f
switching back to linear builds
mowsec Jul 14, 2025
26d5f4c
switching back to linear builds
mowsec Jul 14, 2025
2795f65
switching back to linear builds
mowsec Jul 14, 2025
eb65257
switching back to linear builds
mowsec Jul 14, 2025
8b68bf4
switching back to linear builds
mowsec Jul 14, 2025
241fade
switching back to linear builds
mowsec Jul 14, 2025
70e3ee7
switching back to linear builds
mowsec Jul 14, 2025
9ec7cb5
switching back to linear builds
mowsec Jul 14, 2025
73808cd
switching back to linear builds
mowsec Jul 14, 2025
1b3b8e1
switching back to linear builds
mowsec Jul 14, 2025
dded1b6
switching back to linear builds
mowsec Jul 15, 2025
2c9b4e5
switching back to linear builds
mowsec Jul 15, 2025
f12d16f
switching back to linear builds
mowsec Jul 15, 2025
ce295e6
switching back to linear builds
mowsec Jul 15, 2025
e0a0d68
switching back to linear builds
mowsec Jul 15, 2025
f3eef81
adding playwright report
mowsec Jul 15, 2025
95d3b03
adding playwright report
mowsec Jul 15, 2025
5a92b35
adding playwright report
mowsec Jul 15, 2025
fccc77d
e2e testing
mowsec Jul 15, 2025
d2dd12c
e2e testing
mowsec Jul 15, 2025
00418d5
e2e testing
mowsec Jul 16, 2025
33db15d
e2e testing
mowsec Jul 16, 2025
efd0136
e2e testing
mowsec Jul 16, 2025
6b56cbf
e2e testing
mowsec Jul 16, 2025
808ece8
adding playwright json report for commenting
mowsec Jul 16, 2025
bc9795b
adding playwright json report for commenting
mowsec Jul 16, 2025
8e8aac6
adding playwright json report for commenting
mowsec Jul 16, 2025
e4b7bad
adding playwright json report for commenting
mowsec Jul 16, 2025
3c3b0cf
adding playwright json report for commenting
mowsec Jul 16, 2025
b47d81d
troubleshooting file issues with playwright
mowsec Jul 16, 2025
9fbc3bd
problem finding test-resuts
mowsec Jul 16, 2025
de92a13
problem finding test-resuts
mowsec Jul 16, 2025
f0bea4f
problem finding test-resuts
mowsec Jul 16, 2025
b79d4cb
problem finding test-resuts
mowsec Jul 16, 2025
41d41d9
problem finding test-resuts
mowsec Jul 16, 2025
45acb46
problem finding test-resuts
mowsec Jul 16, 2025
6c558c5
problem finding test-resuts
mowsec Jul 16, 2025
17de425
problem finding test-resuts
mowsec Jul 16, 2025
4aa95a9
problem finding test-resuts
mowsec Jul 16, 2025
7d8ac04
problem finding test-resuts
mowsec Jul 16, 2025
29be048
problem finding test-resuts
mowsec Jul 16, 2025
4f7fd77
problem finding test-resuts
mowsec Jul 16, 2025
1b0c38b
problem finding test-resuts
mowsec Jul 16, 2025
ccdf2ab
problem finding test-resuts
mowsec Jul 16, 2025
dcb4772
splitting base image build
mowsec Jul 16, 2025
fb7e8b3
splitting base image build
mowsec Jul 16, 2025
e16daf9
splitting base image build
mowsec Jul 16, 2025
89b678e
splitting base image build
mowsec Jul 16, 2025
2b0328d
splitting base image build
mowsec Jul 16, 2025
57b4f0e
splitting base image build
mowsec Jul 16, 2025
1a70f47
splitting base image build
mowsec Jul 16, 2025
97513e9
splitting base image build
mowsec Jul 17, 2025
c3f7cb7
splitting base image build
mowsec Jul 17, 2025
e90c218
splitting base image build
mowsec Jul 17, 2025
bc0c2b9
splitting base image build
mowsec Jul 21, 2025
6dea1bd
splitting base image build
mowsec Jul 21, 2025
a99fa93
splitting base image build
mowsec Jul 21, 2025
b876435
splitting base image build
mowsec Jul 21, 2025
3c88e75
splitting base image build
mowsec Jul 21, 2025
ef4670c
splitting base image build
mowsec Jul 21, 2025
2284488
splitting base image build
mowsec Jul 22, 2025
10fcc87
splitting base image build
mowsec Jul 22, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 12 additions & 0 deletions .dockerignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
# directories
**/bin/
**/obj/
**/out/

# files
Dockerfile*
**/*.trx
**/*.md
**/*.ps1
**/*.cmd
**/*.sh
286 changes: 286 additions & 0 deletions .github/workflows/docker-images-single.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,286 @@
name: Docker Image CI

on:
push:
branches:
- main
tags:
- v*
pull_request:
branches:
- main

workflow_dispatch:
inputs:
contrast_agent_version:
description: 'Contrast .NET Core agent version to build with'
required: false
default: 'latest'

jobs:
prepare:
name: Prepare for multi-stage builds
runs-on: ubuntu-latest
outputs:
contrast_version: ${{ steps.versions.outputs.contrast_version }}
steps:
- name: Check latest Contrast agent version
id: versions
run: |
docker pull contrast/agent-dotnet-core:${{ github.event.inputs.contrast_agent_version || 'latest' }}
CONTRAST_VERSION=$(docker image inspect contrast/agent-dotnet-core:latest --format '{{ index .Config.Labels "org.opencontainers.image.version" }}')
echo "Contrast agent version: ${CONTRAST_VERSION}"
echo "contrast_version=${CONTRAST_VERSION}" >> $GITHUB_OUTPUT

# MULTISTAGE DOCKERFILE - first create and push the build stage to speed up
# subsequent builds.
build-base:
name: Create Docker Build Stage
runs-on: ubuntu-latest
needs:
- prepare
permissions:
contents: read
packages: write
attestations: write
id-token: write
outputs:
image-name-base: ${{ steps.inspect.outputs['image-name-base'] }}
image-digest-base: ${{ steps.inspect.outputs['image-digest-base'] }}
steps:
- name: Checkout branch
uses: actions/checkout@v4

- name: Login to GHCR
uses: docker/login-action@v3
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}

- name: Set up Docker daemon for multi-platform builds
uses: docker/setup-docker-action@v4
with:
daemon-config: |
{
"debug": true,
"features": {
"containerd-snapshotter": true
}
}

- name: Docker Setup QEMU
uses: docker/setup-qemu-action@v3
with:
platforms: arm64

- name: Docker Setup Buildx
uses: docker/setup-buildx-action@v3

- name: Extract metadata
id: docker-meta
uses: docker/metadata-action@v5
env:
DOCKER_METADATA_ANNOTATIONS_LEVELS: manifest,index
with:
images: |
ghcr.io/${{ github.repository }}
flavor: |
latest=false
annotations: |
org.opencontainers.image.description=Base image - build stage and buildcache for the netflicks application
org.opencontainers.image.vendor=Contrast Security
tags: |
type=ref,event=branch,suffix=-base
type=ref,event=branch,suffix=-base
type=ref,event=pr,suffix=-base
type=ref,event=pr,suffix=-base

# To speed up the builds, we use caching of the docker image layers.
# Cache rules:
# - Use the existing base image cache from the main branch first for new PRs
# - After the first build in a PR, cache-to will save the cache to the registry under the PR name
# - Subsequent builds in the same PR will use the cache from the PR name
# - Otherwise, different PRs would cause cache pollution if they share the same base image cache
- name: Build the base docker image for this PR
id: bake-base-pr
uses: docker/bake-action@v6
with:
files: |
docker-bake.hcl
cwd://${{ steps.docker-meta.outputs.bake-file }}
targets: |
build
push: true
set: |
*.platform=linux/amd64
*.platform=linux/arm64
*.cache-from=type=registry,ref=ghcr.io/${{ github.repository }}:base-buildcache
*.cache-from=type=registry,ref=${{ steps.docker-meta.outputs.tags }}-buildcache
*.cache-to=type=registry,ref=${{ steps.docker-meta.outputs.tags }}-buildcache,mode=max

- name: Inspect the created images
id: inspect
run: |
image_name='${{ fromJSON(steps.bake-base-pr.outputs.metadata).build['image.name'] }}'
image_digest='${{ fromJSON(steps.bake-base-pr.outputs.metadata).build['containerimage.digest'] }}'

echo "Image Name: $image_name"
echo "Image Digest: $image_digest"
echo "Image Artifact: $image_name@$image_digest"

echo "image-name-base=$image_name" >> $GITHUB_OUTPUT
echo "image-digest-base=$image_digest" >> $GITHUB_OUTPUT
echo "image-artifact-base=$image_name@$image_digest" >> $GITHUB_OUTPUT

#TODO: Then share the base image with other jobs via cache

build:
name: Docker Build ${{ matrix.image.name }}
needs:
- prepare
- build-base
runs-on: ubuntu-latest
permissions:
contents: read
packages: write
attestations: write
id-token: write
strategy:
fail-fast: false
matrix:
image:
- name: runtime
- name: runtime-with-contrast
- name: tests
outputs:
image-name-runtime: ${{ steps.inspect.outputs['image-name-runtime'] }}
image-digest-runtime: ${{ steps.inspect.outputs['image-digest-runtime'] }}
image-artifact-runtime: ${{ steps.inspect.outputs['image-artifact-runtime'] }}
image-name-runtime-with-contrast: ${{ steps.inspect.outputs['image-name-runtime-with-contrast'] }}
image-digest-runtime-with-contrast: ${{ steps.inspect.outputs['image-digest-runtime-with-contrast'] }}
image-artifact-runtime-with-contrast: ${{ steps.inspect.outputs['image-artifact-runtime-with-contrast'] }}
image-name-tests: ${{ steps.inspect.outputs['image-name-tests'] }}
image-digest-tests: ${{ steps.inspect.outputs['image-digest-tests'] }}
image-artifact-tests: ${{ steps.inspect.outputs['image-artifact-tests'] }}
steps:
- name: Checkout branch
uses: actions/checkout@v4

- name: Login to GHCR
uses: docker/login-action@v3
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}

- name: Set up Docker daemon for multi-platform builds
uses: docker/setup-docker-action@v4
with:
daemon-config: |
{
"debug": true,
"features": {
"containerd-snapshotter": true
}
}

- name: Docker Setup QEMU
uses: docker/setup-qemu-action@v3
with:
platforms: arm64

- name: Docker Setup Buildx
uses: docker/setup-buildx-action@v3

- name: Extract metadata
id: docker-meta
uses: docker/metadata-action@v5
with:
images: |
ghcr.io/${{ github.repository }}
flavor: |
latest=false
annotations: |
org.opencontainers.image.description=A deliberately vulnerable .NET Core Application for Contrast Security demos
org.opencontainers.image.vendor=Contrast Security
tags: |
type=ref,event=branch,suffix=-${{ matrix.image.name }}
type=ref,event=branch,suffix=-${{ matrix.image.name }}${{ matrix.image.name == 'runtime-with-contrast' && needs.prepare.outputs.contrast_version || null }}
type=ref,event=pr,suffix=-${{ matrix.image.name }}
type=ref,event=pr,suffix=-${{ matrix.image.name }}${{ matrix.image.name == 'runtime-with-contrast' && needs.prepare.outputs.contrast_version || null }}

- name: Pull base image
run: |
echo "Pulling base image: ${{ needs.build-base.outputs.image-name-base }}"
docker pull '${{ needs.build-base.outputs.image-name-base }}'

- name: Build all Docker images for this PR
id: bake-pr
uses: docker/bake-action@v6
with:
files: |
docker-bake.hcl
cwd://${{ steps.docker-meta.outputs.bake-file}}
targets: |
${{ matrix.image.name }}
push: true
set: |
*.platform=linux/amd64
*.platform=linux/arm64
*.cache-from=type=registry,ref=ghcr.io/${{ github.repository }}:${{ matrix.image.name }}-buildcache
*.cache-from=type=registry,ref=${{ needs.build-base.outputs.image-name-base }}-buildcache
*.cache-to=type=registry,ref=${{ needs.build-base.outputs.image-name-base }}-buildcache,mode=max

- name: Inspect the created images
id: inspect
run: |

matrix_image_name='${{ matrix.image.name }}'
echo "Matrix Image Name: $matrix_image_name"
image_name='${{ fromJSON(steps.bake-pr.outputs.metadata)[matrix.image.name]['image.name'] }}'
image_digest='${{ fromJSON(steps.bake-pr.outputs.metadata)[matrix.image.name]['containerimage.digest'] }}'

echo "Image Name: $image_name"
echo "Image Digest: $image_digest"
echo "Image Artifact: $image_name@$image_digest"

echo "image-name-${{ matrix.image.name }}=$image_name" >> $GITHUB_OUTPUT
echo "image-digest-${{ matrix.image.name }}=$image_digest" >> $GITHUB_OUTPUT
echo "image-artifact-${{ matrix.image.name }}=$image_name@$image_digest" >> $GITHUB_OUTPUT

# - name: Login to Docker Hub
# uses: docker/login-action@v3
# with:
# username: ${{ secrets.DOCKERHUB_USERNAME }}
# password: ${{ secrets.DOCKERHUB_TOKEN }}

# - name: Extract metadata
# id: docker-meta
# uses: docker/metadata-action@v5
# with:
# images: |
# - contrastsecuritydemo/netflicks
# flavor: |
# latest=false
# labels: |
# org.opencontainers.image.description=A deliberately vulnerable .NET Core Application for Contrast Security demos
# org.opencontainers.image.vendor=Contrast Security
# tags: |
# type=ref,event=branch,suffix=-${{ matrix.image.name }}
# type=ref,event=branch,suffix=-${{ matrix.image.name }}${{ matrix.image.name == 'runtime-with-contrast' && needs.prepare.outputs.contrast_version || null }}
# type=ref,event=pr,suffix=-${{ matrix.image.name }}
# type=ref,event=pr,suffix=-${{ matrix.image.name }}${{ matrix.image.name == 'runtime-with-contrast' && needs.prepare.outputs.contrast_version || null }}
# type=semver,pattern={{version}},prefix=contrast,value=${{ needs.prepare.outputs.contrast_version }},enable=${{ matrix.image.name == 'runtime-with-contrast' }}
# type=semver,pattern={{major}}.{{minor}},prefix=contrast,value=${{ needs.prepare.outputs.contrast_version }},enable=${{ matrix.image.name == 'runtime-with-contrast' }}
# type=semver,pattern={{major}},prefix=contrast,value=${{ needs.prepare.outputs.contrast_version }},enable=${{ matrix.image.name == 'runtime-with-contrast' }}
# type=raw,value=${{ matrix.image.name == 'runtime-with-contrast' && 'latest-contrast' || 'latest' }},enable={{is_default_branch}}

test:
needs:
- build
uses: ./.github/workflows/e2e-tests.yml
with:
staging_image_runtime: ${{ needs.build.outputs.image-name-runtime }}
staging_image_runtime_with_contrast: ${{ needs.build.outputs.image-name-runtime-with-contrast }}
staging_image_tests: ${{ needs.build.outputs.image-name-tests }}
Loading