Skip to content

Commit 1fec080

Browse files
committed
github: rework nightly workflows and run on crl-release-25.2
This change reworks the nightly workflows so they can be run on any branch. We now have top-level workflows for `master` and `crl-release-25.2` which call all the nightly workflows (instead of having each one get scheduled separately).
1 parent 87d5d1f commit 1fec080

File tree

11 files changed

+432
-237
lines changed

11 files changed

+432
-237
lines changed

.github/actions/post-issue/action.yaml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,8 @@ inputs:
1212
description: "The body of the issue or comment"
1313
required: true
1414
unique-title-includes:
15-
description: "The unique title to search for in the repository; if found, a comment will be posted"
16-
required: true
15+
description: "The unique title to search for in the repository; if found, a comment will be posted. Defaults to title"
16+
required: false
1717
labels:
1818
description: "Labels to use when creating an issue"
1919
required: false
@@ -32,7 +32,7 @@ runs:
3232
with:
3333
token: ${{ inputs.token }}
3434
actions: "find-issues"
35-
title-includes: ${{ inputs.unique-title-includes }}
35+
title-includes: ${{ inputs.unique-title-includes || inputs.title}}
3636

3737
- name: Get issue number
3838
shell: bash
@@ -76,4 +76,4 @@ runs:
7676
echo "issue-number=${{ steps.get-issue-number.outputs.issue-number }}" >> $GITHUB_OUTPUT
7777
elif [ -n "${{ steps.create-issue.outputs.issue-number }}" ]; then
7878
echo "issue-number=${{ steps.create-issue.outputs.issue-number }}" >> $GITHUB_OUTPUT
79-
fi
79+
fi
Lines changed: 107 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,107 @@
1+
name: Nightly instrumented tests
2+
3+
on:
4+
workflow_call:
5+
inputs:
6+
sha:
7+
description: 'SHA to run against'
8+
required: false
9+
type: string
10+
file_issue_branch:
11+
description: 'Branch used in filed issues; if unset, no issues are filed'
12+
required: false
13+
type: string
14+
go_version:
15+
description: 'Go version'
16+
required: false
17+
default: '1.23'
18+
type: string
19+
workflow_dispatch:
20+
inputs:
21+
sha:
22+
description: 'SHA to run against'
23+
required: false
24+
type: string
25+
file_issue_branch:
26+
description: 'Branch used in filed issues; if unset, no issues are filed'
27+
required: false
28+
type: string
29+
go_version:
30+
description: 'Go version'
31+
required: false
32+
default: '1.23'
33+
type: string
34+
35+
jobs:
36+
linux-race:
37+
name: linux-race
38+
runs-on: ubuntu-latest
39+
steps:
40+
- uses: actions/checkout@v4
41+
with:
42+
ref: ${{ inputs.sha || github.sha }}
43+
44+
- name: Set up Go
45+
uses: actions/setup-go@v4
46+
with:
47+
go-version: ${{ inputs.go_version }}
48+
49+
- run: GOTRACEBACK=all make testrace TAGS=
50+
51+
- name: Post issue on failure
52+
if: failure() && inputs.file_issue
53+
id: create-or-update-unique-issue
54+
uses: ./.github/actions/post-issue
55+
with:
56+
title: "${{ inputs.file_issue_branch }}: nightly testrace failed"
57+
body: "The nightly ${{ github.job_id }} test run failed on ${{ inputs.sha }}. Please review the run [here](${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }})."
58+
labels: "C-test-failure"
59+
60+
linux-asan:
61+
name: linux-asan
62+
runs-on: ubuntu-latest
63+
steps:
64+
- uses: actions/checkout@v4
65+
with:
66+
ref: ${{ inputs.sha || github.sha }}
67+
68+
- name: Set up Go
69+
uses: actions/setup-go@v4
70+
with:
71+
go-version: ${{ inputs.go_version }}
72+
73+
- run: make testasan
74+
75+
- name: Post issue on failure
76+
if: failure() && inputs.file_issue
77+
id: create-or-update-unique-issue
78+
uses: ./.github/actions/post-issue
79+
with:
80+
title: "${{ inputs.file_issue_branch }}: nightly testasan failed"
81+
body: "The nightly ${{ github.job_id }} test run failed on ${{ inputs.sha }}. Please review the run [here](${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }})."
82+
labels: "C-test-failure"
83+
84+
linux-msan:
85+
name: linux-msan
86+
runs-on: ubuntu-latest
87+
steps:
88+
- uses: actions/checkout@v4
89+
with:
90+
ref: ${{ inputs.sha || github.sha }}
91+
92+
- name: Set up Go
93+
uses: actions/setup-go@v4
94+
with:
95+
go-version: ${{ inputs.go_version }}
96+
97+
- run: make testmsan
98+
99+
- name: Post issue on failure
100+
if: failure() && inputs.file_issue
101+
id: create-or-update-unique-issue
102+
uses: ./.github/actions/post-issue
103+
with:
104+
title: "${{ inputs.file_issue_branch }}: nightly testmsan failed"
105+
body: "The nightly ${{ github.job_id }} test run failed on ${{ inputs.sha }}. Please review the run [here](${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }})."
106+
labels: "C-test-failure"
107+
Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
name: Nightlies (crl-release-25.2)
2+
3+
on:
4+
schedule:
5+
- cron: '30 10 * * * ' # 10:30am UTC daily
6+
workflow_dispatch:
7+
8+
env:
9+
BRANCH: crl-release-25.2
10+
11+
jobs:
12+
resolve-sha:
13+
runs-on: ubuntu-latest
14+
outputs:
15+
# This output only exists so we can interpolate it.
16+
branch: ${{ steps.get_sha.outputs.branch }}
17+
sha: ${{ steps.get_sha.outputs.sha }}
18+
steps:
19+
- name: Checkout repo
20+
uses: actions/checkout@v4
21+
with:
22+
fetch-depth: 0
23+
24+
- name: Get SHA for ${{ env.BRANCH }}
25+
id: get_sha
26+
run: |
27+
echo "branch=$BRANCH" >> "$GITHUB_OUTPUT"
28+
echo "sha=$(git rev-parse origin/$BRANCH)" >> "$GITHUB_OUTPUT"
29+
30+
tests:
31+
needs: resolve-sha
32+
uses: ./.github/workflows/tests.yaml
33+
with:
34+
sha: ${{ needs.resolve-sha.outputs.sha }}
35+
file_issue_branch: ${{ needs.resolve-sha.outputs.branch }}
36+
37+
s390x:
38+
needs: resolve-sha
39+
uses: ./.github/workflows/s390x.yaml
40+
with:
41+
sha: ${{ needs.resolve-sha.outputs.sha }}
42+
file_issue_branch: ${{ needs.resolve-sha.outputs.branch }}
43+
44+
stress:
45+
needs: resolve-sha
46+
uses: ./.github/workflows/stress.yaml
47+
with:
48+
sha: ${{ needs.resolve-sha.outputs.sha }}
49+
file_issue_branch: ${{ needs.resolve-sha.outputs.branch }}
50+
51+
instrumented:
52+
needs: resolve-sha
53+
uses: ./.github/workflows/instrumented.yaml
54+
with:
55+
sha: ${{ needs.resolve-sha.outputs.sha }}
56+
file_issue_branch: ${{ needs.resolve-sha.outputs.branch }}

.github/workflows/nightlies.yaml

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
name: Nightlies (master)
2+
3+
on:
4+
schedule:
5+
- cron: '00 10 * * * ' # 10am UTC daily
6+
workflow_dispatch:
7+
8+
jobs:
9+
tests:
10+
strategy:
11+
matrix:
12+
go: [ '1.23' ]
13+
uses: ./.github/workflows/tests.yaml
14+
with:
15+
sha: ${{ github.sha }}
16+
file_issue_branch: 'master'
17+
go_version: ${{ matrix.go }}
18+
19+
s390x:
20+
strategy:
21+
matrix:
22+
go: [ '1.23' ]
23+
uses: ./.github/workflows/s390x.yaml
24+
with:
25+
sha: ${{ github.sha }}
26+
file_issue_branch: 'master'
27+
go_version: ${{ matrix.go }}
28+
29+
stress:
30+
strategy:
31+
matrix:
32+
go: [ '1.23' ]
33+
uses: ./.github/workflows/stress.yaml
34+
with:
35+
sha: ${{ github.sha }}
36+
file_issue_branch: 'master'
37+
go_version: ${{ matrix.go }}
38+
39+
instrumented:
40+
strategy:
41+
matrix:
42+
go: [ '1.23' ]
43+
uses: ./.github/workflows/instrumented.yaml
44+
with:
45+
sha: ${{ github.sha }}
46+
file_issue_branch: 'master'
47+
go_version: ${{ matrix.go }}

.github/workflows/nightly-instrumented.yaml

Lines changed: 0 additions & 77 deletions
This file was deleted.

.github/workflows/nightly-s390x.yaml

Lines changed: 0 additions & 35 deletions
This file was deleted.

.github/workflows/nightly-stress.yaml

Lines changed: 0 additions & 34 deletions
This file was deleted.

0 commit comments

Comments
 (0)