Skip to content

Commit

Permalink
Speed up GitHub action runs and save resources
Browse files Browse the repository at this point in the history
- Require short running actions (golangci, test, build) before starting slower virtual-k8s-cluster and only run virtual-ocp when virtual-k8s-cluster succeed
- Allow cancellation

These two changes together reduce the amount of resources used

Signed-off-by: Sebastian Sch <sebassch@gmail.com>
  • Loading branch information
SchSeba committed Oct 2, 2023
1 parent d8a33a8 commit 52e81c0
Show file tree
Hide file tree
Showing 2 changed files with 76 additions and 3 deletions.
59 changes: 58 additions & 1 deletion .github/workflows/go.yml → .github/workflows/test.yml
Original file line number Diff line number Diff line change
@@ -1,7 +1,11 @@
name: Go
name: Test SR-IOV Operator

on: [push, pull_request]

concurrency:
group: ${{ github.head_ref || github.run_id }}
cancel-in-progress: true

jobs:

build:
Expand Down Expand Up @@ -88,3 +92,56 @@ jobs:
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
path-to-lcov: lcov.out

virtual-k8s-cluster:
name: k8s
needs: [
build,
test,
golangci,
]
runs-on: [ sriov ]
steps:
- name: Check out code into the Go module directory
uses: actions/checkout@v2

- name: Set up Go 1.20
uses: actions/setup-go@v3
with:
go-version: 1.20.x

- name: run test
run: make test-e2e-conformance-virtual-k8s-cluster-ci

- uses: actions/upload-artifact@v3
if: always()
with:
name: artifact
path: ./artifacts.tar.gz

virtual-ocp:
name: ocp
needs: [
build,
test,
golangci,
]

runs-on: [ ocp ]
steps:
- name: Check out code into the Go module directory
uses: actions/checkout@v2

- name: Set up Go 1.20
uses: actions/setup-go@v3
with:
go-version: 1.20.x

- name: run test
run: make test-e2e-conformance-virtual-ocp-cluster-ci

- uses: actions/upload-artifact@v3
if: always()
with:
name: artifact
path: ./artifacts.tar.gz
20 changes: 18 additions & 2 deletions .github/workflows/virtual-cluster.yml
Original file line number Diff line number Diff line change
@@ -1,8 +1,19 @@
name: sriov-operator-test
on: [pull_request]
name: SR-IOV Operator Test

on:
workflow_run:
workflows: [Go]
types:
- completed

concurrency:
group: ${{ github.head_ref || github.run_id }}
cancel-in-progress: true

jobs:
virtual-k8s-cluster:
if: ${{ github.event.workflow_run.conclusion == 'success' }}

name: k8s
runs-on: [sriov]
steps:
Expand All @@ -24,6 +35,11 @@ jobs:
path: ./artifacts.tar.gz

virtual-ocp:
needs: [
virtual-k8s-cluster
]
if: ${{ github.event.workflow_run.conclusion == 'success' }}

name: ocp
runs-on: [ ocp ]
steps:
Expand Down

0 comments on commit 52e81c0

Please sign in to comment.