ci: reusable dco workflow
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
This commit is contained in:
parent
5a98363a92
commit
7602edfd06
7 changed files with 79 additions and 25 deletions
48
.github/workflows/.dco.yml
vendored
Normal file
48
.github/workflows/.dco.yml
vendored
Normal file
|
@ -0,0 +1,48 @@
|
|||
# reusable workflow
|
||||
name: .dco
|
||||
|
||||
# TODO: hide reusable workflow from the UI. Tracked in https://github.com/community/community/discussions/12025
|
||||
|
||||
on:
|
||||
workflow_call:
|
||||
|
||||
env:
|
||||
ALPINE_VERSION: 3.16
|
||||
|
||||
jobs:
|
||||
run:
|
||||
runs-on: ubuntu-20.04
|
||||
steps:
|
||||
-
|
||||
name: Checkout
|
||||
uses: actions/checkout@v3
|
||||
with:
|
||||
fetch-depth: 0
|
||||
-
|
||||
name: Dump context
|
||||
uses: actions/github-script@v6
|
||||
with:
|
||||
script: |
|
||||
console.log(JSON.stringify(context, null, 2));
|
||||
-
|
||||
name: Get base ref
|
||||
id: base-ref
|
||||
uses: actions/github-script@v6
|
||||
with:
|
||||
result-encoding: string
|
||||
script: |
|
||||
if (/^refs\/pull\//.test(context.ref) && context.payload?.pull_request?.base?.ref != undefined) {
|
||||
return context.payload.pull_request.base.ref;
|
||||
}
|
||||
return context.ref.replace(/^refs\/heads\//g, '');
|
||||
-
|
||||
name: Validate
|
||||
run: |
|
||||
docker run --rm \
|
||||
-v "$(pwd):/workspace" \
|
||||
-e VALIDATE_REPO \
|
||||
-e VALIDATE_BRANCH \
|
||||
alpine:${{ env.ALPINE_VERSION }} sh -c 'apk add --no-cache -q bash git openssh-client && git config --system --add safe.directory /workspace && cd /workspace && hack/validate/dco'
|
||||
env:
|
||||
VALIDATE_REPO: ${{ github.server_url }}/${{ github.repository }}.git
|
||||
VALIDATE_BRANCH: ${{ steps.base-ref.outputs.result }}
|
2
.github/workflows/.windows.yml
vendored
2
.github/workflows/.windows.yml
vendored
|
@ -1,6 +1,8 @@
|
|||
# reusable workflow
|
||||
name: .windows
|
||||
|
||||
# TODO: hide reusable workflow from the UI. Tracked in https://github.com/community/community/discussions/12025
|
||||
|
||||
on:
|
||||
workflow_call:
|
||||
inputs:
|
||||
|
|
5
.github/workflows/buildkit.yml
vendored
5
.github/workflows/buildkit.yml
vendored
|
@ -16,8 +16,13 @@ env:
|
|||
BUNDLES_OUTPUT: ./bundles
|
||||
|
||||
jobs:
|
||||
validate-dco:
|
||||
uses: ./.github/workflows/.dco.yml
|
||||
|
||||
build:
|
||||
runs-on: ubuntu-20.04
|
||||
needs:
|
||||
- validate-dco
|
||||
steps:
|
||||
-
|
||||
name: Checkout
|
||||
|
|
7
.github/workflows/ci.yml
vendored
7
.github/workflows/ci.yml
vendored
|
@ -18,8 +18,13 @@ env:
|
|||
BUNDLES_OUTPUT: ./bundles
|
||||
|
||||
jobs:
|
||||
validate-dco:
|
||||
uses: ./.github/workflows/.dco.yml
|
||||
|
||||
build:
|
||||
runs-on: ubuntu-20.04
|
||||
needs:
|
||||
- validate-dco
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
|
@ -54,6 +59,8 @@ jobs:
|
|||
|
||||
cross:
|
||||
runs-on: ubuntu-20.04
|
||||
needs:
|
||||
- validate-dco
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
|
|
32
.github/workflows/test.yml
vendored
32
.github/workflows/test.yml
vendored
|
@ -24,8 +24,13 @@ env:
|
|||
DOCKER_GRAPHDRIVER: overlay2
|
||||
|
||||
jobs:
|
||||
validate-dco:
|
||||
uses: ./.github/workflows/.dco.yml
|
||||
|
||||
build-dev:
|
||||
runs-on: ubuntu-20.04
|
||||
needs:
|
||||
- validate-dco
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
|
@ -91,23 +96,6 @@ jobs:
|
|||
uses: actions/checkout@v3
|
||||
with:
|
||||
fetch-depth: 0
|
||||
-
|
||||
name: Dump context
|
||||
uses: actions/github-script@v6
|
||||
with:
|
||||
script: |
|
||||
console.log(JSON.stringify(context, null, 2));
|
||||
-
|
||||
name: Get base ref
|
||||
id: base-ref
|
||||
uses: actions/github-script@v6
|
||||
with:
|
||||
result-encoding: string
|
||||
script: |
|
||||
if (/^refs\/pull\//.test(context.ref) && context.payload?.pull_request?.base?.ref != undefined) {
|
||||
return context.payload.pull_request.base.ref;
|
||||
}
|
||||
return context.ref.replace(/^refs\/heads\//g, '');
|
||||
-
|
||||
name: Set up runner
|
||||
uses: ./.github/actions/setup-runner
|
||||
|
@ -125,15 +113,11 @@ jobs:
|
|||
name: Validate
|
||||
run: |
|
||||
make -o build validate-${{ matrix.script }}
|
||||
env:
|
||||
VALIDATE_REPO: ${{ github.server_url }}/${{ github.repository }}.git
|
||||
VALIDATE_BRANCH: ${{ steps.base-ref.outputs.result }}
|
||||
|
||||
unit:
|
||||
runs-on: ubuntu-20.04
|
||||
needs:
|
||||
- build-dev
|
||||
- validate
|
||||
steps:
|
||||
-
|
||||
name: Checkout
|
||||
|
@ -183,7 +167,6 @@ jobs:
|
|||
runs-on: ubuntu-20.04
|
||||
needs:
|
||||
- build-dev
|
||||
- validate
|
||||
steps:
|
||||
-
|
||||
name: Checkout
|
||||
|
@ -231,7 +214,6 @@ jobs:
|
|||
runs-on: ubuntu-20.04
|
||||
needs:
|
||||
- build-dev
|
||||
- validate
|
||||
steps:
|
||||
-
|
||||
name: Checkout
|
||||
|
@ -260,7 +242,6 @@ jobs:
|
|||
runs-on: ${{ matrix.os }}
|
||||
needs:
|
||||
- build-dev
|
||||
- validate
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
|
@ -343,6 +324,8 @@ jobs:
|
|||
|
||||
integration-cli-prepare:
|
||||
runs-on: ubuntu-20.04
|
||||
needs:
|
||||
- validate-dco
|
||||
outputs:
|
||||
matrix: ${{ steps.tests.outputs.matrix }}
|
||||
steps:
|
||||
|
@ -377,7 +360,6 @@ jobs:
|
|||
runs-on: ubuntu-20.04
|
||||
needs:
|
||||
- build-dev
|
||||
- validate
|
||||
- integration-cli-prepare
|
||||
strategy:
|
||||
fail-fast: false
|
||||
|
|
5
.github/workflows/windows-2019.yml
vendored
5
.github/workflows/windows-2019.yml
vendored
|
@ -10,7 +10,12 @@ on:
|
|||
workflow_dispatch:
|
||||
|
||||
jobs:
|
||||
validate-dco:
|
||||
uses: ./.github/workflows/.dco.yml
|
||||
|
||||
run:
|
||||
needs:
|
||||
- validate-dco
|
||||
uses: ./.github/workflows/.windows.yml
|
||||
with:
|
||||
os: windows-2019
|
||||
|
|
5
.github/workflows/windows-2022.yml
vendored
5
.github/workflows/windows-2022.yml
vendored
|
@ -13,7 +13,12 @@ on:
|
|||
pull_request:
|
||||
|
||||
jobs:
|
||||
validate-dco:
|
||||
uses: ./.github/workflows/.dco.yml
|
||||
|
||||
run:
|
||||
needs:
|
||||
- validate-dco
|
||||
uses: ./.github/workflows/.windows.yml
|
||||
with:
|
||||
os: windows-2022
|
||||
|
|
Loading…
Reference in a new issue