Skip to content

Commit c02ad0f

Browse files
committed
Invoke asan tests from the image itself
1 parent 6572533 commit c02ad0f

2 files changed

Lines changed: 17 additions & 49 deletions

File tree

.github/workflows/main.yml

Lines changed: 7 additions & 49 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,6 @@ concurrency:
1313
jobs:
1414
build-and-push:
1515
runs-on: ubuntu-latest
16-
outputs:
17-
tag: ${{ steps.get-tag.outputs.tag }}
1816
steps:
1917
- uses: actions/checkout@v3
2018
with:
@@ -25,78 +23,38 @@ jobs:
2523
- run: make build-berserker-network
2624

2725
- name: Get tag
28-
id: get-tag
29-
run: echo "tag=$(make tag)" >> "$GITHUB_OUTPUT"
30-
31-
- name: Retag and push builder to rhacs-eng
32-
uses: stackrox/actions/images/retag-and-push@v1
33-
with:
34-
src-image: builder
35-
dst-image: quay.io/rhacs-eng/qa:berserker-builder-${{ steps.get-tag.outputs.tag }}
36-
username: ${{ secrets.QUAY_RHACS_ENG_RW_USERNAME }}
37-
password: ${{ secrets.QUAY_RHACS_ENG_RW_PASSWORD }}
38-
39-
- name: Retag and push builder to stackrox-io
40-
uses: stackrox/actions/images/retag-and-push@v1
41-
with:
42-
src-image: builder
43-
dst-image: quay.io/stackrox-io/berserker:builder-${{ steps.get-tag.outputs.tag }}
44-
username: ${{ secrets.QUAY_STACKROX_IO_RW_USERNAME }}
45-
password: ${{ secrets.QUAY_STACKROX_IO_RW_PASSWORD }}
26+
run: |
27+
TAG="$(make tag)"
28+
echo "TAG=$TAG" >> "$GITHUB_ENV"
4629
4730
- name: Retag and push berserker to rhacs-eng
4831
uses: stackrox/actions/images/retag-and-push@v1
4932
with:
5033
src-image: berserker
51-
dst-image: quay.io/rhacs-eng/qa:berserker-${{ steps.get-tag.outputs.tag }}
34+
dst-image: quay.io/rhacs-eng/qa:berserker-${{ env.TAG }}
5235
username: ${{ secrets.QUAY_RHACS_ENG_RW_USERNAME }}
5336
password: ${{ secrets.QUAY_RHACS_ENG_RW_PASSWORD }}
5437

5538
- name: Retag and push berserker to stackrox-io
5639
uses: stackrox/actions/images/retag-and-push@v1
5740
with:
5841
src-image: berserker
59-
dst-image: quay.io/stackrox-io/berserker:${{ steps.get-tag.outputs.tag }}
42+
dst-image: quay.io/stackrox-io/berserker:${{ env.TAG }}
6043
username: ${{ secrets.QUAY_STACKROX_IO_RW_USERNAME }}
6144
password: ${{ secrets.QUAY_STACKROX_IO_RW_PASSWORD }}
6245

6346
- name: Retag and push berserker-network to rhacs-eng
6447
uses: stackrox/actions/images/retag-and-push@v1
6548
with:
6649
src-image: berserker-network
67-
dst-image: quay.io/rhacs-eng/qa:berserker-network-${{ steps.get-tag.outputs.tag }}
50+
dst-image: quay.io/rhacs-eng/qa:berserker-network-${{ env.TAG }}
6851
username: ${{ secrets.QUAY_RHACS_ENG_RW_USERNAME }}
6952
password: ${{ secrets.QUAY_RHACS_ENG_RW_PASSWORD }}
7053

7154
- name: Retag and push berserker-network to stackrox-io
7255
uses: stackrox/actions/images/retag-and-push@v1
7356
with:
7457
src-image: berserker-network
75-
dst-image: quay.io/stackrox-io/berserker:network-${{ steps.get-tag.outputs.tag }}
58+
dst-image: quay.io/stackrox-io/berserker:network-${{ env.TAG }}
7659
username: ${{ secrets.QUAY_STACKROX_IO_RW_USERNAME }}
7760
password: ${{ secrets.QUAY_STACKROX_IO_RW_PASSWORD }}
78-
79-
unit-tests:
80-
name: unit-tests (${{ matrix.test-type.name }})
81-
needs: build-and-push
82-
runs-on: ubuntu-latest
83-
strategy:
84-
fail-fast: false
85-
matrix:
86-
test-type:
87-
- name: standard
88-
command: cargo test
89-
- name: asan
90-
command: |
91-
curl --proto "=https" --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --default-toolchain nightly &&
92-
source "${HOME}"/.cargo/env &&
93-
rustup component add rust-src --toolchain nightly &&
94-
TARGET=$(rustc --version --verbose | grep host | cut -d" " -f2) &&
95-
RUSTFLAGS="-Z sanitizer=address" cargo +nightly test -Z build-std --target "$TARGET"
96-
steps:
97-
- name: Pull builder image
98-
run: docker pull quay.io/stackrox-io/berserker:builder-${{ needs.build-and-push.outputs.tag }}
99-
100-
- name: Run ${{ matrix.test-type.name }} tests
101-
run: docker run --rm quay.io/stackrox-io/berserker:builder-${{ needs.build-and-push.outputs.tag }} bash -c '${{ matrix.test-type.command }}'
102-

Dockerfile.build

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,3 +30,13 @@ RUN cargo clippy -- -D warnings
3030
RUN cargo build -r
3131

3232
RUN cargo test
33+
34+
# Install rustup and nightly toolchain for ASAN tests
35+
RUN curl --proto "=https" --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --default-toolchain nightly && \
36+
source "${HOME}"/.cargo/env && \
37+
rustup component add rust-src --toolchain nightly
38+
39+
# Run ASAN tests
40+
RUN source "${HOME}"/.cargo/env && \
41+
TARGET=$(rustc --version --verbose | grep host | cut -d" " -f2) && \
42+
RUSTFLAGS="-Z sanitizer=address" cargo +nightly test -Z build-std --target "$TARGET"

0 commit comments

Comments
 (0)