Skip to content

Commit 7d89d70

Browse files
authored
Skip CI workflows on push for pull requests (vitessio#10768) (vitessio#10822)
* Initial addition of the skip workflow directive in docker_test_cluster_10 Signed-off-by: Florent Poinsard <florent.poinsard@outlook.fr> * Changed assertion in skip workflow step Signed-off-by: Florent Poinsard <florent.poinsard@outlook.fr> * Use github.event.push.ref to check the event type Signed-off-by: Florent Poinsard <florent.poinsard@outlook.fr> * Addition of debug information in the skip ci step Signed-off-by: Florent Poinsard <florent.poinsard@outlook.fr> * Addition of debug information in the skip ci step Signed-off-by: Florent Poinsard <florent.poinsard@outlook.fr> * Addition of debug information in the skip ci step Signed-off-by: Florent Poinsard <florent.poinsard@outlook.fr> * Skip the step based on the skip-workflow step Signed-off-by: Florent Poinsard <florent.poinsard@outlook.fr> * Applied the skip-workflow step on all the workflows Signed-off-by: Florent Poinsard <florent.poinsard@outlook.fr> * Changed the vtadmin workflows' default directory to root Signed-off-by: Florent Poinsard <florent.poinsard@outlook.fr> * Removed unwanted workflow files Signed-off-by: Florent Poinsard <florent.poinsard@outlook.fr> * Better bash syntax for regex condition Signed-off-by: Florent Poinsard <florent.poinsard@outlook.fr> * Changed skip to use boolean string and use better regex to match the release branch Signed-off-by: Florent Poinsard <florent.poinsard@outlook.fr>
1 parent c2f2e31 commit 7d89d70

File tree

100 files changed

+1931
-735
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

100 files changed

+1931
-735
lines changed

.github/workflows/check_make_vtadmin_authz_testgen.yml

Lines changed: 17 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,22 @@ jobs:
66
name: Check Make vtadmin_authz_testgen
77
runs-on: ubuntu-latest
88
steps:
9+
- name: Check if workflow needs to be skipped
10+
id: skip-workflow
11+
run: |
12+
skip='false'
13+
if [[ "${{github.event.pull_request}}" == "" ]] && [[ "${{github.ref}}" != "refs/heads/main" ]] && [[ ! "${{github.ref}}" =~ ^refs/heads/release-[0-9]+\.[0-9]$ ]] && [[ ! "${{github.ref}}" =~ "refs/tags/.*" ]]; then
14+
skip='true'
15+
fi
16+
echo Skip ${skip}
17+
echo "::set-output name=skip-workflow::${skip}"
18+
919
- name: Check out code
20+
if: steps.skip-workflow.outputs.skip-workflow == 'false'
1021
uses: actions/checkout@v2
1122

1223
- name: Check for changes in relevant files
24+
if: steps.skip-workflow.outputs.skip-workflow == 'false'
1325
uses: frouioui/paths-filter@main
1426
id: changes
1527
with:
@@ -25,18 +37,18 @@ jobs:
2537
2638
- name: Set up Go
2739
uses: actions/setup-go@v2
28-
if: steps.changes.outputs.vtadmin_changes == 'true'
40+
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.vtadmin_changes == 'true'
2941
with:
3042
go-version: 1.18.4
3143

3244
- name: Tune the OS
33-
if: steps.changes.outputs.vtadmin_changes == 'true'
45+
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.vtadmin_changes == 'true'
3446
run: |
3547
echo '1024 65535' | sudo tee -a /proc/sys/net/ipv4/ip_local_port_range
3648
3749
3850
- name: Get dependencies
39-
if: steps.changes.outputs.vtadmin_changes == 'true'
51+
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.vtadmin_changes == 'true'
4052
run: |
4153
sudo apt-get update
4254
sudo apt-get install -y make unzip g++ etcd curl git wget
@@ -45,11 +57,11 @@ jobs:
4557
go install golang.org/x/tools/cmd/goimports@latest
4658
4759
- name: Run make minimaltools
48-
if: steps.changes.outputs.vtadmin_changes == 'true'
60+
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.vtadmin_changes == 'true'
4961
run: |
5062
make minimaltools
5163
5264
- name: check_make_vtadmin_authz_testgen
53-
if: steps.changes.outputs.vtadmin_changes == 'true'
65+
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.vtadmin_changes == 'true'
5466
run: |
5567
tools/check_make_vtadmin_authz_testgen.sh

.github/workflows/check_make_vtadmin_web_proto.yml

Lines changed: 16 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,22 @@ jobs:
66
name: Check Make VTAdmin Web Proto
77
runs-on: ubuntu-latest
88
steps:
9+
- name: Check if workflow needs to be skipped
10+
id: skip-workflow
11+
run: |
12+
skip='false'
13+
if [[ "${{github.event.pull_request}}" == "" ]] && [[ "${{github.ref}}" != "refs/heads/main" ]] && [[ ! "${{github.ref}}" =~ ^refs/heads/release-[0-9]+\.[0-9]$ ]] && [[ ! "${{github.ref}}" =~ "refs/tags/.*" ]]; then
14+
skip='true'
15+
fi
16+
echo Skip ${skip}
17+
echo "::set-output name=skip-workflow::${skip}"
18+
919
- name: Check out code
20+
if: steps.skip-workflow.outputs.skip-workflow == 'false'
1021
uses: actions/checkout@v2
1122

1223
- name: Check for changes in relevant files
24+
if: steps.skip-workflow.outputs.skip-workflow == 'false'
1325
uses: frouioui/paths-filter@main
1426
id: changes
1527
with:
@@ -27,23 +39,23 @@ jobs:
2739
2840
- name: Set up Go
2941
uses: actions/setup-go@v2
30-
if: steps.changes.outputs.proto_changes == 'true'
42+
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.proto_changes == 'true'
3143
with:
3244
go-version: 1.18.4
3345

3446
- name: Setup Node
35-
if: steps.changes.outputs.proto_changes == 'true'
47+
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.proto_changes == 'true'
3648
uses: actions/setup-node@v2
3749
with:
3850
# node-version should match package.json
3951
node-version: '16.13.0'
4052

4153
- name: Install npm dependencies
42-
if: steps.changes.outputs.proto_changes == 'true'
54+
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.proto_changes == 'true'
4355
run: npm ci
4456
working-directory: ./web/vtadmin
4557

4658
- name: check_make_vtadmin_web_proto
47-
if: steps.changes.outputs.proto_changes == 'true'
59+
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.proto_changes == 'true'
4860
run: |
4961
tools/check_make_vtadmin_web_proto.sh

.github/workflows/cluster_endtoend_12.yml

Lines changed: 18 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -12,10 +12,22 @@ jobs:
1212
runs-on: self-hosted
1313

1414
steps:
15+
- name: Check if workflow needs to be skipped
16+
id: skip-workflow
17+
run: |
18+
skip='false'
19+
if [[ "${{github.event.pull_request}}" == "" ]] && [[ "${{github.ref}}" != "refs/heads/main" ]] && [[ ! "${{github.ref}}" =~ ^refs/heads/release-[0-9]+\.[0-9]$ ]] && [[ ! "${{github.ref}}" =~ "refs/tags/.*" ]]; then
20+
skip='true'
21+
fi
22+
echo Skip ${skip}
23+
echo "::set-output name=skip-workflow::${skip}"
24+
1525
- name: Check out code
26+
if: steps.skip-workflow.outputs.skip-workflow == 'false'
1627
uses: actions/checkout@v2
1728

1829
- name: Check for changes in relevant files
30+
if: steps.skip-workflow.outputs.skip-workflow == 'false'
1931
uses: frouioui/paths-filter@main
2032
id: changes
2133
with:
@@ -35,30 +47,30 @@ jobs:
3547
- '.github/workflows/**'
3648
3749
- name: Build Docker Image
38-
if: steps.changes.outputs.end_to_end == 'true'
50+
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
3951
run: docker build -f ./.github/docker/cluster_test_12/Dockerfile -t cluster_test_12:$GITHUB_SHA .
4052

4153
- name: Run test
42-
if: steps.changes.outputs.end_to_end == 'true'
54+
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
4355
timeout-minutes: 30
4456
run: docker run --name "cluster_test_12_$GITHUB_SHA" cluster_test_12:$GITHUB_SHA /bin/bash -c 'source build.env && go run test.go -keep-data=true -docker=false -print-log -follow -shard 12 -- -- --keep-data=true'
4557

4658
- name: Print Volume Used
47-
if: always() && steps.changes.outputs.end_to_end == 'true'
59+
if: always() && steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
4860
run: |
4961
docker inspect -f '{{ (index .Mounts 0).Name }}' cluster_test_12_$GITHUB_SHA
5062
5163
- name: Cleanup Docker Volume
52-
if: steps.changes.outputs.end_to_end == 'true'
64+
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
5365
run: |
5466
docker rm -v cluster_test_12_$GITHUB_SHA
5567
5668
- name: Cleanup Docker Container
57-
if: always() && steps.changes.outputs.end_to_end == 'true'
69+
if: always() && steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
5870
run: |
5971
docker rm -f cluster_test_12_$GITHUB_SHA
6072
6173
- name: Cleanup Docker Image
62-
if: steps.changes.outputs.end_to_end == 'true'
74+
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
6375
run: |
6476
docker image rm cluster_test_12:$GITHUB_SHA

.github/workflows/cluster_endtoend_13.yml

Lines changed: 19 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -17,10 +17,22 @@ jobs:
1717
runs-on: ubuntu-18.04
1818

1919
steps:
20+
- name: Check if workflow needs to be skipped
21+
id: skip-workflow
22+
run: |
23+
skip='false'
24+
if [[ "${{github.event.pull_request}}" == "" ]] && [[ "${{github.ref}}" != "refs/heads/main" ]] && [[ ! "${{github.ref}}" =~ ^refs/heads/release-[0-9]+\.[0-9]$ ]] && [[ ! "${{github.ref}}" =~ "refs/tags/.*" ]]; then
25+
skip='true'
26+
fi
27+
echo Skip ${skip}
28+
echo "::set-output name=skip-workflow::${skip}"
29+
2030
- name: Check out code
31+
if: steps.skip-workflow.outputs.skip-workflow == 'false'
2132
uses: actions/checkout@v2
2233

2334
- name: Check for changes in relevant files
35+
if: steps.skip-workflow.outputs.skip-workflow == 'false'
2436
uses: frouioui/paths-filter@main
2537
id: changes
2638
with:
@@ -39,25 +51,25 @@ jobs:
3951
- '.github/workflows/**'
4052
4153
- name: Set up Go
42-
if: steps.changes.outputs.end_to_end == 'true'
54+
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
4355
uses: actions/setup-go@v2
4456
with:
4557
go-version: 1.18.4
4658

4759
- name: Set up python
48-
if: steps.changes.outputs.end_to_end == 'true'
60+
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
4961
uses: actions/setup-python@v2
5062

5163
- name: Tune the OS
52-
if: steps.changes.outputs.end_to_end == 'true'
64+
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
5365
run: |
5466
echo '1024 65535' | sudo tee -a /proc/sys/net/ipv4/ip_local_port_range
5567
# Increase the asynchronous non-blocking I/O. More information at https://dev.mysql.com/doc/refman/5.7/en/innodb-parameters.html#sysvar_innodb_use_native_aio
5668
echo "fs.aio-max-nr = 1048576" | sudo tee -a /etc/sysctl.conf
5769
sudo sysctl -p /etc/sysctl.conf
5870
5971
- name: Get dependencies
60-
if: steps.changes.outputs.end_to_end == 'true'
72+
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
6173
run: |
6274
sudo apt-get update
6375
sudo apt-get install -y mysql-server mysql-client make unzip g++ etcd curl git wget eatmydata
@@ -71,7 +83,7 @@ jobs:
7183
go install github.com/jstemmer/go-junit-report@latest
7284
7385
- name: Setup launchable dependencies
74-
if: steps.changes.outputs.end_to_end == 'true'
86+
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
7587
run: |
7688
# Get Launchable CLI installed. If you can, make it a part of the builder image to speed things up
7789
pip3 install --user launchable~=1.0 > /dev/null
@@ -83,7 +95,7 @@ jobs:
8395
launchable record build --name "$GITHUB_RUN_ID" --source .
8496
8597
- name: Run cluster endtoend test
86-
if: steps.changes.outputs.end_to_end == 'true'
98+
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
8799
timeout-minutes: 30
88100
run: |
89101
# We set the VTDATAROOT to the /tmp folder to reduce the file path of mysql.sock file
@@ -97,7 +109,7 @@ jobs:
97109
eatmydata -- go run test.go -docker=false -follow -shard 13 | tee -a output.txt | go-junit-report -set-exit-code > report.xml
98110
99111
- name: Print test output and Record test result in launchable
100-
if: steps.changes.outputs.end_to_end == 'true' && always()
112+
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true' && always()
101113
run: |
102114
# send recorded tests to launchable
103115
launchable record tests --build "$GITHUB_RUN_ID" go-test . || true

.github/workflows/cluster_endtoend_15.yml

Lines changed: 19 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -17,10 +17,22 @@ jobs:
1717
runs-on: ubuntu-18.04
1818

1919
steps:
20+
- name: Check if workflow needs to be skipped
21+
id: skip-workflow
22+
run: |
23+
skip='false'
24+
if [[ "${{github.event.pull_request}}" == "" ]] && [[ "${{github.ref}}" != "refs/heads/main" ]] && [[ ! "${{github.ref}}" =~ ^refs/heads/release-[0-9]+\.[0-9]$ ]] && [[ ! "${{github.ref}}" =~ "refs/tags/.*" ]]; then
25+
skip='true'
26+
fi
27+
echo Skip ${skip}
28+
echo "::set-output name=skip-workflow::${skip}"
29+
2030
- name: Check out code
31+
if: steps.skip-workflow.outputs.skip-workflow == 'false'
2132
uses: actions/checkout@v2
2233

2334
- name: Check for changes in relevant files
35+
if: steps.skip-workflow.outputs.skip-workflow == 'false'
2436
uses: frouioui/paths-filter@main
2537
id: changes
2638
with:
@@ -39,25 +51,25 @@ jobs:
3951
- '.github/workflows/**'
4052
4153
- name: Set up Go
42-
if: steps.changes.outputs.end_to_end == 'true'
54+
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
4355
uses: actions/setup-go@v2
4456
with:
4557
go-version: 1.18.4
4658

4759
- name: Set up python
48-
if: steps.changes.outputs.end_to_end == 'true'
60+
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
4961
uses: actions/setup-python@v2
5062

5163
- name: Tune the OS
52-
if: steps.changes.outputs.end_to_end == 'true'
64+
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
5365
run: |
5466
echo '1024 65535' | sudo tee -a /proc/sys/net/ipv4/ip_local_port_range
5567
# Increase the asynchronous non-blocking I/O. More information at https://dev.mysql.com/doc/refman/5.7/en/innodb-parameters.html#sysvar_innodb_use_native_aio
5668
echo "fs.aio-max-nr = 1048576" | sudo tee -a /etc/sysctl.conf
5769
sudo sysctl -p /etc/sysctl.conf
5870
5971
- name: Get dependencies
60-
if: steps.changes.outputs.end_to_end == 'true'
72+
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
6173
run: |
6274
sudo apt-get update
6375
sudo apt-get install -y mysql-server mysql-client make unzip g++ etcd curl git wget eatmydata
@@ -71,7 +83,7 @@ jobs:
7183
go install github.com/jstemmer/go-junit-report@latest
7284
7385
- name: Setup launchable dependencies
74-
if: steps.changes.outputs.end_to_end == 'true'
86+
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
7587
run: |
7688
# Get Launchable CLI installed. If you can, make it a part of the builder image to speed things up
7789
pip3 install --user launchable~=1.0 > /dev/null
@@ -83,7 +95,7 @@ jobs:
8395
launchable record build --name "$GITHUB_RUN_ID" --source .
8496
8597
- name: Run cluster endtoend test
86-
if: steps.changes.outputs.end_to_end == 'true'
98+
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
8799
timeout-minutes: 30
88100
run: |
89101
# We set the VTDATAROOT to the /tmp folder to reduce the file path of mysql.sock file
@@ -97,7 +109,7 @@ jobs:
97109
eatmydata -- go run test.go -docker=false -follow -shard 15 | tee -a output.txt | go-junit-report -set-exit-code > report.xml
98110
99111
- name: Print test output and Record test result in launchable
100-
if: steps.changes.outputs.end_to_end == 'true' && always()
112+
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true' && always()
101113
run: |
102114
# send recorded tests to launchable
103115
launchable record tests --build "$GITHUB_RUN_ID" go-test . || true

.github/workflows/cluster_endtoend_18.yml

Lines changed: 18 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -12,10 +12,22 @@ jobs:
1212
runs-on: self-hosted
1313

1414
steps:
15+
- name: Check if workflow needs to be skipped
16+
id: skip-workflow
17+
run: |
18+
skip='false'
19+
if [[ "${{github.event.pull_request}}" == "" ]] && [[ "${{github.ref}}" != "refs/heads/main" ]] && [[ ! "${{github.ref}}" =~ ^refs/heads/release-[0-9]+\.[0-9]$ ]] && [[ ! "${{github.ref}}" =~ "refs/tags/.*" ]]; then
20+
skip='true'
21+
fi
22+
echo Skip ${skip}
23+
echo "::set-output name=skip-workflow::${skip}"
24+
1525
- name: Check out code
26+
if: steps.skip-workflow.outputs.skip-workflow == 'false'
1627
uses: actions/checkout@v2
1728

1829
- name: Check for changes in relevant files
30+
if: steps.skip-workflow.outputs.skip-workflow == 'false'
1931
uses: frouioui/paths-filter@main
2032
id: changes
2133
with:
@@ -35,30 +47,30 @@ jobs:
3547
- '.github/workflows/**'
3648
3749
- name: Build Docker Image
38-
if: steps.changes.outputs.end_to_end == 'true'
50+
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
3951
run: docker build -f ./.github/docker/cluster_test_18/Dockerfile -t cluster_test_18:$GITHUB_SHA .
4052

4153
- name: Run test
42-
if: steps.changes.outputs.end_to_end == 'true'
54+
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
4355
timeout-minutes: 30
4456
run: docker run --name "cluster_test_18_$GITHUB_SHA" cluster_test_18:$GITHUB_SHA /bin/bash -c 'source build.env && go run test.go -keep-data=true -docker=false -print-log -follow -shard 18 -- -- --keep-data=true'
4557

4658
- name: Print Volume Used
47-
if: always() && steps.changes.outputs.end_to_end == 'true'
59+
if: always() && steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
4860
run: |
4961
docker inspect -f '{{ (index .Mounts 0).Name }}' cluster_test_18_$GITHUB_SHA
5062
5163
- name: Cleanup Docker Volume
52-
if: steps.changes.outputs.end_to_end == 'true'
64+
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
5365
run: |
5466
docker rm -v cluster_test_18_$GITHUB_SHA
5567
5668
- name: Cleanup Docker Container
57-
if: always() && steps.changes.outputs.end_to_end == 'true'
69+
if: always() && steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
5870
run: |
5971
docker rm -f cluster_test_18_$GITHUB_SHA
6072
6173
- name: Cleanup Docker Image
62-
if: steps.changes.outputs.end_to_end == 'true'
74+
if: steps.skip-workflow.outputs.skip-workflow == 'false' && steps.changes.outputs.end_to_end == 'true'
6375
run: |
6476
docker image rm cluster_test_18:$GITHUB_SHA

0 commit comments

Comments
 (0)