Skip to content

Commit c31e79c

Browse files
committed
Add workflow_run trigger as a transition step to future build process
1 parent 1b4d674 commit c31e79c

10 files changed

Lines changed: 178 additions & 118 deletions

File tree

.github/workflows/cjose.yml

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,12 @@ on:
55
push:
66
branches: [ 'master', 'main', 'release/**' ]
77
pull_request:
8-
branches: [ '*' ]
8+
branches: [ '**' ]
9+
workflow_run:
10+
workflows: ["Build Packages"]
11+
types:
12+
- completed
13+
branches: [ '**' ]
914

1015
concurrency:
1116
group: ${{ github.workflow }}-${{ github.ref }}
@@ -25,6 +30,7 @@ jobs:
2530

2631
test_cjose:
2732
runs-on: ubuntu-22.04
33+
if: ${{ github.event_name == 'workflow_run' && github.event.workflow_run.conclusion == 'success' }}
2834
needs: build_wolfprovider
2935
# This should be a safe limit for the tests to run.
3036
timeout-minutes: 20

.github/workflows/debian-package.yml

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -42,20 +42,21 @@ jobs:
4242
expect \
4343
xxd
4444
45+
- name: Checkout wolfProvider
46+
uses: actions/checkout@v4
47+
with:
48+
fetch-depth: 1
49+
fetch-tags: true
50+
4551
# Avoid "detected dubious ownership" warning
4652
- name: Ensure the working directory safe
4753
run: |
4854
git config --global --add safe.directory "$GITHUB_WORKSPACE"
4955
50-
- name: Checkout wolfProvider
51-
uses: actions/checkout@v4
52-
with:
53-
fetch-depth: 1
54-
- run: |
55-
# Fetch tags, needed for the Debian versioning
56-
git fetch --tags
57-
# List all tags
58-
git tag -l
56+
- name: Fetch tags from the mainline branch (for Debian versioning)
57+
run: |
58+
git remote add upstream https://github.com/wolfSSL/wolfProvider.git || true
59+
git fetch upstream --tags --no-recurse-submodules
5960
6061
- name: Install wolfssl debian package
6162
run: |

.github/workflows/pam-pkcs11.yml

Lines changed: 18 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,11 @@ on:
66
branches: [ 'master', 'main', 'release/**' ]
77
pull_request:
88
branches: [ '*' ]
9+
workflow_run:
10+
workflows: ["Build Packages"]
11+
types:
12+
- completed
13+
branches: [ '**' ]
914

1015
concurrency:
1116
group: ${{ github.workflow }}-${{ github.ref }}
@@ -22,41 +27,39 @@ jobs:
2227
matrix:
2328
wolfssl_ref: [ 'master', 'v5.8.0-stable' ]
2429
openssl_ref: [ 'openssl-3.5.0' ]
25-
2630
test_pam_pkcs11:
31+
if: ${{ github.event_name == 'workflow_run' && github.event.workflow_run.conclusion == 'success' }}
2732
runs-on: ubuntu-22.04
2833
needs: build_wolfprovider
2934
# This should be a safe limit for the tests to run.
3035
timeout-minutes: 20
3136
strategy:
3237
matrix:
38+
# Match the matrix from build.yml
39+
wolfssl_ref: [ 'v5.8.2-stable' ]
40+
openssl_ref: [ 'openssl-3.5.2' ] # Note: build.yml uses 3.5.2, not 3.5.0
41+
replace_default: [ true ]
42+
# pam-pkcs11-specific matrix
3343
pam_pkcs11_ref: [ 'master', 'pam_pkcs11-0.6.12' ]
34-
wolfssl_ref: [ 'master', 'v5.8.0-stable' ]
35-
openssl_ref: [ 'openssl-3.5.0' ]
3644
force_fail: [ 'WOLFPROV_FORCE_FAIL=1', '' ]
3745
exclude:
3846
- pam_pkcs11_ref: 'master'
3947
force_fail: 'WOLFPROV_FORCE_FAIL=1'
4048
steps:
41-
# Checkout the source so we can run the check-workflow-result script
4249
- name: Checkout wolfProvider
4350
uses: actions/checkout@v4
4451
with:
4552
fetch-depth: 1
4653

47-
- name: Retrieving wolfSSL/wolfProvider from cache
48-
uses: actions/cache/restore@v4
49-
id: wolfprov-cache
54+
- name: Download wolfProvider packages
55+
uses: actions/download-artifact@v4
5056
with:
51-
path: |
52-
wolfssl-install
53-
wolfprov-install
54-
openssl-install/lib64
55-
openssl-install/include
56-
openssl-install/bin
57+
name: wolfprov-debian-packages-${{ matrix.wolfssl_ref }}-${{ matrix.openssl_ref }}${{ matrix.replace_default && '-replace-default' || '' }}
58+
path: /tmp/wolfprov-packages
5759

58-
key: wolfprov-${{ matrix.wolfssl_ref }}-${{ matrix.openssl_ref }}-${{ github.sha }}
59-
fail-on-cache-miss: true
60+
- name: Install wolfProvider packages
61+
run: |
62+
$GITHUB_WORKSPACE/.github/scripts/install-packages.sh
6063
6164
- name: Run pam_pkcs11 tests
6265
run: |

.github/workflows/ppp.yml

Lines changed: 26 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,21 @@
11
name: PPP Tests
22

3+
# START OF COMMON SECTION
34
on:
45
push:
56
branches: [ 'master', 'main', 'release/**' ]
67
pull_request:
78
branches: [ '*' ]
9+
workflow_run:
10+
workflows: ["Build Packages"]
11+
types:
12+
- completed
13+
branches: [ '**' ]
814

915
concurrency:
1016
group: ${{ github.workflow }}-${{ github.ref }}
1117
cancel-in-progress: true
18+
# END OF COMMON SECTION
1219

1320
jobs:
1421
build_wolfprovider:
@@ -20,15 +27,18 @@ jobs:
2027
matrix:
2128
wolfssl_ref: [ 'master', 'v5.8.0-stable' ]
2229
openssl_ref: [ 'openssl-3.5.0' ]
23-
2430
test_ppp:
31+
if: ${{ github.event_name == 'workflow_run' && github.event.workflow_run.conclusion == 'success' }}
2532
runs-on: ubuntu-22.04
2633
needs: build_wolfprovider
2734
timeout-minutes: 15
2835
strategy:
2936
matrix:
30-
wolfssl_ref: [ 'master', 'v5.8.0-stable' ]
31-
openssl_ref: [ 'openssl-3.5.0' ]
37+
# Match the matrix from build.yml
38+
wolfssl_ref: [ 'v5.8.2-stable' ]
39+
openssl_ref: [ 'openssl-3.5.2' ] # Note: build.yml uses 3.5.2, not 3.5.0
40+
replace_default: [ true ]
41+
# ppp-specific matrix
3242
# Switched to v2.5.2 due to significant limitations with v2.4.9,
3343
# specifically the lack of a test suite, necessary configure options,
3444
# and compatibility with newer versions of openssl
@@ -39,24 +49,25 @@ jobs:
3949
force_fail: 'WOLFPROV_FORCE_FAIL=1'
4050

4151
steps:
42-
# Checkout the source so we can run the check-workflow-result script
52+
- name: Set up environment
53+
run: |
54+
apt-get update
55+
apt-get install -y git sudo autoconf automake libtool pkg-config build-essential
56+
4357
- name: Checkout wolfProvider
4458
uses: actions/checkout@v4
4559
with:
4660
fetch-depth: 1
4761

48-
- name: Retrieving wolfProvider from cache
49-
uses: actions/cache/restore@v4
50-
id: wolfprov-cache-restore
62+
- name: Download wolfProvider packages
63+
uses: actions/download-artifact@v4
5164
with:
52-
path: |
53-
wolfssl-install
54-
wolfprov-install
55-
openssl-install/lib64
56-
openssl-install/include
57-
openssl-install/bin
58-
key: wolfprov-${{ matrix.wolfssl_ref }}-${{ matrix.openssl_ref }}-${{ github.sha }}
59-
fail-on-cache-miss: true
65+
name: wolfprov-debian-packages-${{ matrix.wolfssl_ref }}-${{ matrix.openssl_ref }}${{ matrix.replace_default && '-replace-default' || '' }}
66+
path: /tmp/wolfprov-packages
67+
68+
- name: Install wolfProvider packages
69+
run: |
70+
$GITHUB_WORKSPACE/.github/scripts/install-packages.sh
6071
6172
- name: Checkout PPP
6273
uses: actions/checkout@v4

.github/workflows/qt5network5.yml

Lines changed: 26 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,21 @@
11
name: qtbase Network Tests
2+
3+
# START OF COMMON SECTION
24
on:
35
push:
46
branches: [ 'master', 'main', 'release/**', 'qt5network5' ]
57
pull_request:
68
branches: [ '*' ]
9+
workflow_run:
10+
workflows: ["Build Packages"]
11+
types:
12+
- completed
13+
branches: [ '**' ]
714

815
concurrency:
916
group: ${{ github.workflow }}-${{ github.ref }}
1017
cancel-in-progress: true
18+
# END OF COMMON SECTION
1119

1220
jobs:
1321
build_wolfprovider:
@@ -19,44 +27,44 @@ jobs:
1927
matrix:
2028
wolfssl_ref: [ 'master', 'v5.8.0-stable' ]
2129
openssl_ref: [ 'openssl-3.5.0' ]
22-
2330
test_qtbase_network:
31+
if: ${{ github.event_name == 'workflow_run' && github.event.workflow_run.conclusion == 'success' }}
2432
runs-on: ubuntu-22.04
2533
needs: build_wolfprovider
2634
timeout-minutes: 30
2735
strategy:
2836
matrix:
29-
wolfssl_ref: [ 'master', 'v5.8.0-stable' ]
30-
openssl_ref: [ 'openssl-3.5.0' ]
37+
# Match the matrix from build.yml
38+
wolfssl_ref: [ 'v5.8.2-stable' ]
39+
openssl_ref: [ 'openssl-3.5.2' ] # Note: build.yml uses 3.5.2, not 3.5.0
40+
replace_default: [ true ]
41+
# qt5network5-specific matrix
3142
qt_ref: [ 'dev', 'v5.15.8-lts-lgpl' ]
3243
force_fail: [ 'WOLFPROV_FORCE_FAIL=1', '' ]
3344
exclude:
3445
- qt_ref: 'dev'
3546
force_fail: 'WOLFPROV_FORCE_FAIL=1'
3647
steps:
48+
- name: Set up environment
49+
run: |
50+
apt-get update
51+
apt-get install -y build-essential pkg-config \
52+
python3 perl libpcre2-dev zlib1g-dev cmake ninja-build
53+
3754
- name: Checkout wolfProvider
3855
uses: actions/checkout@v4
3956
with:
4057
fetch-depth: 1
4158

42-
- name: Retrieving wolfSSL/wolfProvider from cache
43-
uses: actions/cache/restore@v4
44-
id: wolfprov-cache
59+
- name: Download wolfProvider packages
60+
uses: actions/download-artifact@v4
4561
with:
46-
path: |
47-
wolfssl-install
48-
wolfprov-install
49-
openssl-install/lib64
50-
openssl-install/include
51-
openssl-install/bin
52-
key: wolfprov-${{ matrix.wolfssl_ref }}-${{ matrix.openssl_ref }}-${{ github.sha }}
53-
fail-on-cache-miss: true
62+
name: wolfprov-debian-packages-${{ matrix.wolfssl_ref }}-${{ matrix.openssl_ref }}${{ matrix.replace_default && '-replace-default' || '' }}
63+
path: /tmp/wolfprov-packages
5464

55-
- name: Install Qt dependencies
65+
- name: Install wolfProvider packages
5666
run: |
57-
sudo apt-get update
58-
sudo apt-get install -y build-essential pkg-config \
59-
python3 perl libpcre2-dev zlib1g-dev cmake ninja-build
67+
$GITHUB_WORKSPACE/.github/scripts/install-packages.sh
6068
6169
- name: Checkout OSP
6270
uses: actions/checkout@v4

.github/workflows/sscep.yml

Lines changed: 23 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,11 @@ on:
66
branches: [ 'master', 'main', 'release/**' ]
77
pull_request:
88
branches: [ '*' ]
9+
workflow_run:
10+
workflows: ["Build Packages"]
11+
types:
12+
- completed
13+
branches: [ '**' ]
914

1015
concurrency:
1116
group: ${{ github.workflow }}-${{ github.ref }}
@@ -22,43 +27,42 @@ jobs:
2227
matrix:
2328
wolfssl_ref: [ 'master', 'v5.8.0-stable' ]
2429
openssl_ref: [ 'openssl-3.5.0' ]
25-
30+
2631
test_sscep:
32+
if: ${{ github.event_name == 'workflow_run' && github.event.workflow_run.conclusion == 'success' }}
2733
runs-on: ubuntu-22.04
2834
needs: build_wolfprovider
2935
timeout-minutes: 10
3036
strategy:
3137
matrix:
38+
# Match the matrix from build.yml
39+
wolfssl_ref: [ 'v5.8.2-stable' ]
40+
openssl_ref: [ 'openssl-3.5.2' ] # Note: build.yml uses 3.5.2, not 3.5.0
41+
replace_default: [ true ]
42+
# sscep-specific matrix
3243
sscep_ref: [ 'master', 'v0.10.0' ]
33-
wolfssl_ref: [ 'master', 'v5.8.0-stable' ]
34-
openssl_ref: [ 'openssl-3.5.0' ]
3544
force_fail: [ 'WOLFPROV_FORCE_FAIL=1', '' ]
3645

3746
steps:
47+
- name: Set up environment
48+
run: |
49+
apt-get update
50+
apt-get install -y scep psmisc
51+
3852
- name: Checkout wolfProvider
3953
uses: actions/checkout@v4
4054
with:
4155
fetch-depth: 1
4256

43-
- name: Retrieving wolfSSL/wolfProvider from cache
44-
uses: actions/cache/restore@v4
45-
id: wolfprov-cache
57+
- name: Download wolfProvider packages
58+
uses: actions/download-artifact@v4
4659
with:
47-
path: |
48-
wolfssl-install
49-
wolfprov-install
50-
openssl-install/lib64
51-
openssl-install/include
52-
openssl-install/bin
53-
54-
key: wolfprov-${{ matrix.wolfssl_ref }}-${{ matrix.openssl_ref }}-${{ github.sha }}
55-
fail-on-cache-miss: true
60+
name: wolfprov-debian-packages-${{ matrix.wolfssl_ref }}-${{ matrix.openssl_ref }}${{ matrix.replace_default && '-replace-default' || '' }}
61+
path: /tmp/wolfprov-packages
5662

57-
- name: Install sscep dependencies
63+
- name: Install wolfProvider packages
5864
run: |
59-
sudo apt-get update
60-
61-
sudo apt-get install -y scep psmisc
65+
$GITHUB_WORKSPACE/.github/scripts/install-packages.sh
6266
6367
- name: Download sscep
6468
uses: actions/checkout@v4

.github/workflows/sssd.yml

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,19 @@ concurrency:
1313
# END OF COMMON SECTION
1414

1515
jobs:
16+
build_wolfprovider:
17+
uses: ./.github/workflows/build-wolfprovider.yml
18+
with:
19+
wolfssl_ref: ${{ matrix.wolfssl_ref }}
20+
openssl_ref: ${{ matrix.openssl_ref }}
21+
strategy:
22+
matrix:
23+
wolfssl_ref: [ 'master', 'v5.8.0-stable' ]
24+
openssl_ref: [ 'openssl-3.5.0' ]
25+
1626
test_sssd:
1727
runs-on: ubuntu-22.04
28+
needs: build_wolfprovider
1829
timeout-minutes: 20
1930
container:
2031
image: quay.io/sssd/ci-client-devel:ubuntu-latest

0 commit comments

Comments
 (0)