Skip to content

Conversation

learnitall
Copy link
Contributor

@learnitall learnitall commented Sep 6, 2023

This commit introduces a new workflow for running the ginkgo test suite with race detection enabled. The goal is to start this effort by doing a copy and paste of the existing ginkgo workflow and modifying it as needed. In the future, effort will be put towards reducing this duplication.

Thank you to @markpash for getting this started.

Fixes: #26170

Supersedes #27797.

Here is the diff between conformance-ginkgo-race and conformance-ginkgo:

1c1
< name: Conformance Ginkgo (ci-ginkgo)
---
> name: Conformance Ginkgo Race Detection (ci-ginkgo-race)
22a23
>   pull_request: {}
171c172
<             until docker manifest inspect quay.io/${{ env.QUAY_ORGANIZATION_DEV }}/$image:${{ needs.setup-vars.outputs.SHA }} &> /dev/null; do sleep 45s; done
---
>             until docker manifest inspect quay.io/${{ env.QUAY_ORGANIZATION_DEV }}/$image:${{ needs.setup-vars.outputs.SHA }}-race &> /dev/null; do sleep 45s; done
385a387,389
>             # Race detection variables
>             export RACE=1
>             export LOCKDEBUG=1
393c397
<              -cilium.tag=${{ needs.setup-vars.outputs.SHA }}  \
---
>              -cilium.tag=${{ needs.setup-vars.outputs.SHA }}-race  \
395c399
<              -cilium.operator-tag=${{ needs.setup-vars.outputs.SHA }} \
---
>              -cilium.operator-tag=${{ needs.setup-vars.outputs.SHA }}-race \
397c401
<              -cilium.hubble-relay-tag=${{ needs.setup-vars.outputs.SHA }} \
---
>              -cilium.hubble-relay-tag=${{ needs.setup-vars.outputs.SHA }}-race \
409c413
<                -cilium.tag=${{ needs.setup-vars.outputs.SHA }}  \
---
>                -cilium.tag=${{ needs.setup-vars.outputs.SHA }}-race  \
411c415
<                -cilium.operator-tag=${{ needs.setup-vars.outputs.SHA }} \
---
>                -cilium.operator-tag=${{ needs.setup-vars.outputs.SHA }}-race \
413c417
<                -cilium.hubble-relay-tag=${{ needs.setup-vars.outputs.SHA }} \
---
>                -cilium.hubble-relay-tag=${{ needs.setup-vars.outputs.SHA }}-race \
Add CI workflow for running ginkgo with race detection

@maintainer-s-little-helper maintainer-s-little-helper bot added the dont-merge/needs-release-note-label The author needs to describe the release impact of these changes. label Sep 6, 2023
@learnitall learnitall force-pushed the pr/learnitall/ginkgo-race-workflow branch from cc72017 to 28ce2f8 Compare September 6, 2023 20:37
@learnitall learnitall added the dont-merge/preview-only Only for preview or testing, don't merge it. label Sep 6, 2023
@learnitall learnitall force-pushed the pr/learnitall/ginkgo-race-workflow branch from 28ce2f8 to 979dd0c Compare September 7, 2023 15:51
@learnitall learnitall added the release-note/ci This PR makes changes to the CI. label Sep 7, 2023
@maintainer-s-little-helper maintainer-s-little-helper bot removed the dont-merge/needs-release-note-label The author needs to describe the release impact of these changes. label Sep 7, 2023
@learnitall learnitall force-pushed the pr/learnitall/ginkgo-race-workflow branch from 979dd0c to 87a6ac2 Compare September 7, 2023 15:51
@nbusseneau nbusseneau self-requested a review September 7, 2023 20:36
@nbusseneau
Copy link
Member

Copy/pasting comment from previous PR:

There is a special trick you need to do to get your new workflow to register when you open the PR: add a temporary pull_request: {} trigger to the workflow, just to register the workflow on the repository when the PR opens. After it has been registered, you will be able to run the workflow with the Ariane trigger no problem, and can remove the pull_request: {} trigger.

As for structure: for testing let's just do it copy/pasted for now, when we are happy with how it works I would suggest we look into merging the changes in the main Ginkgo workflow file, so that only one file needs to be maintained. One idea I have is to leverage the extra-args parameters that Ariane allows, so we could trigger race pipelines with a trigger like this: /ci-ginkgo race.

Let me know if you need help with anything :)

@learnitall learnitall force-pushed the pr/learnitall/ginkgo-race-workflow branch from 87a6ac2 to 4b427f5 Compare September 8, 2023 16:29
@learnitall learnitall marked this pull request as ready for review September 8, 2023 16:30
@learnitall learnitall requested review from a team as code owners September 8, 2023 16:30
@learnitall learnitall requested a review from nebril September 8, 2023 16:30
@learnitall learnitall force-pushed the pr/learnitall/ginkgo-race-workflow branch from 4b427f5 to 9e4d120 Compare September 11, 2023 20:01
@nbusseneau nbusseneau marked this pull request as draft September 12, 2023 15:04
@nbusseneau
Copy link
Member

Keeping this in draft until we have passing workflows :)

@learnitall learnitall force-pushed the pr/learnitall/ginkgo-race-workflow branch 3 times, most recently from bec8701 to 60a7e0b Compare September 13, 2023 14:55
@learnitall
Copy link
Contributor Author

/ci-ginkgo-race

@aanm aanm force-pushed the pr/learnitall/ginkgo-race-workflow branch 3 times, most recently from 18845f8 to 93404cf Compare May 2, 2025 12:09
@aanm
Copy link
Member

aanm commented May 2, 2025

/ci-ginkgo-race

@aanm
Copy link
Member

aanm commented May 2, 2025

/test

@aanm aanm force-pushed the pr/learnitall/ginkgo-race-workflow branch from 93404cf to 9dddc21 Compare May 8, 2025 09:51
@aanm
Copy link
Member

aanm commented May 8, 2025

/test

@aanm aanm force-pushed the pr/learnitall/ginkgo-race-workflow branch from 9dddc21 to 3382023 Compare May 8, 2025 11:26
@aanm
Copy link
Member

aanm commented May 8, 2025

/test

@aanm aanm force-pushed the pr/learnitall/ginkgo-race-workflow branch from 3382023 to 2422f51 Compare May 8, 2025 15:30
@aanm
Copy link
Member

aanm commented May 8, 2025

/test

@aanm aanm force-pushed the pr/learnitall/ginkgo-race-workflow branch from 2422f51 to f8c5921 Compare May 8, 2025 16:12
@aanm
Copy link
Member

aanm commented May 8, 2025

/test

@aanm aanm force-pushed the pr/learnitall/ginkgo-race-workflow branch from f8c5921 to e679d7d Compare May 9, 2025 08:42
@aanm
Copy link
Member

aanm commented May 9, 2025

/test

@aanm aanm force-pushed the pr/learnitall/ginkgo-race-workflow branch from e679d7d to 90b906b Compare May 9, 2025 09:54
@aanm aanm force-pushed the pr/learnitall/ginkgo-race-workflow branch 2 times, most recently from f5759df to d4b5c39 Compare May 29, 2025 10:21
@aanm
Copy link
Member

aanm commented May 29, 2025

/test

aanm and others added 9 commits August 5, 2025 14:58
m.Map should be accessed behind a mutex. Detected by the golang race
detector.

Fixes: a18f01d ("Add initial ebpf package implementation")
Signed-off-by: André Martins <andre@cilium.io>
If we don't unlock these locked objects, to avoid deadlock detection,
the race detector considers this as a race condition.

Fixes: 70f6608 ("loader: evict object cache when datapath config changes")
Signed-off-by: André Martins <andre@cilium.io>
This commit introduces a new workflow for running the ginkgo test suite
with race detection enabled. The goal is to start this effort by doing a
copy and paste of the existing ginkgo workflow and modifying it as
needed. In the future, effort will be put towards reducing this
duplication.

Thank you to @markpash for getting this started.

Fixes: #26170

Signed-off-by: Ryan Drew <ryan.drew@isovalent.com>
Signed-off-by: André Martins <andre@cilium.io>
Signed-off-by: André Martins <andre@cilium.io>
Signed-off-by: André Martins <andre@cilium.io>
Signed-off-by: André Martins <andre@cilium.io>
Signed-off-by: André Martins <andre@cilium.io>
Signed-off-by: André Martins <andre@cilium.io>
@aanm aanm force-pushed the pr/learnitall/ginkgo-race-workflow branch from d4b5c39 to 55b3b3f Compare August 5, 2025 13:01
@aanm
Copy link
Member

aanm commented Aug 5, 2025

/test

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/CI-improvement Topic or proposal to improve the Continuous Integration workflow dont-merge/preview-only Only for preview or testing, don't merge it. pinned These issues are not marked stale by our issue bot. release-note/ci This PR makes changes to the CI.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Add race-detector tests back to the CI pipeline
4 participants