Skip to content

Commit f101782

Browse files
committed
dev: add mm-ci files
Signed-off-by: Mike Rapoport (Microsoft) <rppt@kernel.org>
1 parent 4439ae3 commit f101782

2 files changed

Lines changed: 68 additions & 0 deletions

File tree

.github/workflows/mm-ci-init.yml

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
# SPDX-License-Identifier: GPL-2.0
2+
#
3+
# This can be used as a initialization workflow for most Linux kernel
4+
# development environments. This takes care of:
5+
#
6+
# - Checks out and re-using a local mirror for your kernel tree
7+
# - Looks for a defconfig in kdevops to use for your kernel tree
8+
# - Sets up CI metadata for kdevops-results-archive
9+
# - Ensures your kernel tree at least builds with defconfig
10+
# - Brings up target DUTs nodes
11+
# - Installs your Linux kernel tree on them
12+
# - Builds all of your test requirements for your Linux kernel tree
13+
14+
name: Base kdevops workflow
15+
16+
on:
17+
workflow_call: # Makes this workflow reusable
18+
inputs:
19+
kdevops_defconfig:
20+
required: false
21+
type: string
22+
23+
jobs:
24+
setup:
25+
name: Setup kdevops environment
26+
runs-on: [self-hosted, Linux, X64]
27+
steps:
28+
- name: Checkout Linux branch
29+
run: |
30+
LINUX_TREE="https://github.com/${{ github.repository }}"
31+
LINUX_TREE_REF="${{ github.event_name == 'pull_request' && github.event.pull_request.head.sha || github.sha }}"
32+
mkdir -p devops && cd devops
33+
git clone $LINUX_TREE --reference /mirror/linux.git/ --depth=5 linux
34+
cd linux
35+
git fetch origin $LINUX_TREE_REF
36+
git checkout $LINUX_TREE_REF
37+
git log -1

.github/workflows/mm-ci-run.yml

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
# SPDX-License-Identifier: GPL-2.0
2+
#
3+
# Most simple Linux kernel subsystems can be tested with this target
4+
# test setup. For more elaborates tests look for a topic branch under the
5+
# kdevops-ci tree. For example to test a filesystem look at the fstests
6+
# branch.
7+
8+
name: Run generic kdevops CI tests
9+
10+
on:
11+
push:
12+
branches: ['**']
13+
pull_request:
14+
branches: ['**']
15+
workflow_dispatch: # Allow manual triggering
16+
17+
jobs:
18+
setup:
19+
uses: ./.github/workflows/mm-ci-init.yml
20+
secrets: inherit
21+
22+
run-tests:
23+
needs: setup
24+
name: Run CI tests
25+
runs-on: [self-hosted, Linux, X64]
26+
steps:
27+
- name: Run CI tests
28+
run: |
29+
cd devops/linux
30+
make defconfig
31+
echo "ok" > ci.result

0 commit comments

Comments
 (0)