[Openvpn-devel] GitHub Actions: trigger openvpn-build GHA on success

Message ID 20220603080300.182-1-lstipakov@gmail.com
State Superseded
Headers show
Series [Openvpn-devel] GitHub Actions: trigger openvpn-build GHA on success | expand

Commit Message

Lev Stipakov June 2, 2022, 10:03 p.m. UTC
From: Lev Stipakov <lev@openvpn.net>

After successfult builds on all platforms,
start openvpn-build GHA which produces
Windows MSI installers.

Signed-off-by: Lev Stipakov <lev@openvpn.net>
---
 .github/workflows/build.yaml | 21 +++++++++++++++++++--
 1 file changed, 19 insertions(+), 2 deletions(-)

Comments

Samuli Seppänen June 7, 2022, 2:08 a.m. UTC | #1
Hi,

Il 03/06/22 11:03, Lev Stipakov ha scritto:
> From: Lev Stipakov <lev@openvpn.net>
> 
> After successfult builds on all platforms,
> start openvpn-build GHA which produces
> Windows MSI installers.
> 
> Signed-off-by: Lev Stipakov <lev@openvpn.net>
> ---
>   .github/workflows/build.yaml | 21 +++++++++++++++++++--
>   1 file changed, 19 insertions(+), 2 deletions(-)
> 
> diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml
> index d34f4e9a..99968aae 100644
> --- a/.github/workflows/build.yaml
> +++ b/.github/workflows/build.yaml
> @@ -1,6 +1,7 @@
>   # The name of our workflow
>   name: Build
> -on: [push, pull_request]
> +on:
> +  push:

So, does this disable GHA for pull requests? Asking because we allow PRs 
and testing those as well would be good.

>   
>   jobs:
>     checkuncrustify:
> @@ -32,6 +33,7 @@ jobs:
>         - name: Set job status
>           run: test ! -s uncrustify-changes.patch
>           working-directory: openvpn
> +
>     mingw:
>       strategy:
>         fail-fast: false
> @@ -250,7 +252,6 @@ jobs:
>         - name: make check
>           run: make check
>   
> -
>     macos:
>       runs-on: macos-latest
>       strategy:
> @@ -344,3 +345,19 @@ jobs:
>               ${{ matrix.plat }}-Output/${{env.BUILD_CONFIGURATION}}/*.dll
>               ${{ matrix.plat }}-Output/${{env.BUILD_CONFIGURATION}}/*.pdb
>               doc/openvpn.8.html
> +
> +  trigger_openvpn_build:
> +    runs-on: windows-latest
> +    needs: [checkuncrustify, mingw, ubuntu, ubuntu-clang-asan, macos, msvc]
> +    if: github.ref == 'refs/heads/master'
> +    env:
> +      REPO_DISPATCH: ${{ secrets.OPENVPN_BUILD_REPO_DISPATCH }}
> +
> +    steps:
> +    - name: Repository Dispatch
> +      if: "${{ env.REPO_DISPATCH != '' }}"
> +      uses: peter-evans/repository-dispatch@v2
> +      with:
> +        token: ${{ env.REPO_DISPATCH }}
> +        repository: openvpn/openvpn-build
> +        event-type: openvpn-commit

I have not really used GHA, but if this code works, I'm all for this 
feature.

Samuli
Samuli Seppänen June 15, 2022, 8:49 p.m. UTC | #2
Hi,

Il 03/06/22 11:03, Lev Stipakov ha scritto:
> From: Lev Stipakov <lev@openvpn.net>
> 
> After successfult builds on all platforms,
> start openvpn-build GHA which produces
> Windows MSI installers.
> 
> Signed-off-by: Lev Stipakov <lev@openvpn.net>
> ---
>   .github/workflows/build.yaml | 21 +++++++++++++++++++--
>   1 file changed, 19 insertions(+), 2 deletions(-)
> 
> diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml
> index d34f4e9a..99968aae 100644
> --- a/.github/workflows/build.yaml
> +++ b/.github/workflows/build.yaml
> @@ -1,6 +1,7 @@
>   # The name of our workflow
>   name: Build
> -on: [push, pull_request]
> +on:
> +  push:

I've understood that this change has no effect, but this is a commonly 
used pattern. So ok with it.

>   
>   jobs:
>     checkuncrustify:
> @@ -32,6 +33,7 @@ jobs:
>         - name: Set job status
>           run: test ! -s uncrustify-changes.patch
>           working-directory: openvpn
> +
>     mingw:
>       strategy:
>         fail-fast: false
> @@ -250,7 +252,6 @@ jobs:
>         - name: make check
>           run: make check
>   
> -
>     macos:
>       runs-on: macos-latest
>       strategy:
> @@ -344,3 +345,19 @@ jobs:
>               ${{ matrix.plat }}-Output/${{env.BUILD_CONFIGURATION}}/*.dll
>               ${{ matrix.plat }}-Output/${{env.BUILD_CONFIGURATION}}/*.pdb
>               doc/openvpn.8.html
> +
> +  trigger_openvpn_build:
> +    runs-on: windows-latest
> +    needs: [checkuncrustify, mingw, ubuntu, ubuntu-clang-asan, macos, msvc]
> +    if: github.ref == 'refs/heads/master'
> +    env:
> +      REPO_DISPATCH: ${{ secrets.OPENVPN_BUILD_REPO_DISPATCH }}
> +
> +    steps:
> +    - name: Repository Dispatch
> +      if: "${{ env.REPO_DISPATCH != '' }}"
> +      uses: peter-evans/repository-dispatch@v2
> +      with:
> +        token: ${{ env.REPO_DISPATCH }}
> +        repository: openvpn/openvpn-build
> +        event-type: openvpn-commit

Not having done much with GHA I can't tell if this is correct. But we do 
want this feature and Lev has tested it, so ACK.

Samuli

Patch

diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml
index d34f4e9a..99968aae 100644
--- a/.github/workflows/build.yaml
+++ b/.github/workflows/build.yaml
@@ -1,6 +1,7 @@ 
 # The name of our workflow
 name: Build
-on: [push, pull_request]
+on:
+  push:
 
 jobs:
   checkuncrustify:
@@ -32,6 +33,7 @@  jobs:
       - name: Set job status
         run: test ! -s uncrustify-changes.patch
         working-directory: openvpn
+
   mingw:
     strategy:
       fail-fast: false
@@ -250,7 +252,6 @@  jobs:
       - name: make check
         run: make check
 
-
   macos:
     runs-on: macos-latest
     strategy:
@@ -344,3 +345,19 @@  jobs:
             ${{ matrix.plat }}-Output/${{env.BUILD_CONFIGURATION}}/*.dll
             ${{ matrix.plat }}-Output/${{env.BUILD_CONFIGURATION}}/*.pdb
             doc/openvpn.8.html
+
+  trigger_openvpn_build:
+    runs-on: windows-latest
+    needs: [checkuncrustify, mingw, ubuntu, ubuntu-clang-asan, macos, msvc]
+    if: github.ref == 'refs/heads/master'
+    env:
+      REPO_DISPATCH: ${{ secrets.OPENVPN_BUILD_REPO_DISPATCH }}
+
+    steps:
+    - name: Repository Dispatch
+      if: "${{ env.REPO_DISPATCH != '' }}"
+      uses: peter-evans/repository-dispatch@v2
+      with:
+        token: ${{ env.REPO_DISPATCH }}
+        repository: openvpn/openvpn-build
+        event-type: openvpn-commit