Skip to content

Commit ef66347

Browse files
committed
powerpc/ci: Add CI configuration
Signed-off-by: Michael Ellerman <[email protected]>
1 parent 7ec6f9f commit ef66347

16 files changed

+857
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
{
2+
"problemMatcher": [
3+
{
4+
"__comment_owner": "match compiler warning/error lines not from source",
5+
"owner": "compiler-non-source",
6+
"pattern": [
7+
{
8+
"__comment_regexp1": "clang: warning: argument unused during compilation: '-march=armv7-a' [-Wunused-command-line-argument]",
9+
"__comment_regexp2": "ld.lld: warning: lld uses blx instruction, no object with architecture supporting feature detected",
10+
"regexp": "^(?:[^:]+): (?:fatal\\s+)?(warning|error):\\s+(.*)$",
11+
"severity": 1,
12+
"message": 2
13+
}
14+
]
15+
}
16+
]
17+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
{
2+
"problemMatcher": [
3+
{
4+
"owner": "gcc-problem-matcher",
5+
"pattern": [
6+
{
7+
"regexp": "^(?:/linux/)?(.*):(\\d+):(\\d+):\\s+(?:fatal\\s+)?(warning|error):\\s+(.*)$",
8+
"file": 1,
9+
"line": 2,
10+
"column": 3,
11+
"severity": 4,
12+
"message": 5
13+
}
14+
]
15+
}
16+
]
17+
}
+78
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,78 @@
1+
name: powerpc/allconfig
2+
3+
# Controls when the action will run.
4+
on:
5+
# This allows the build to be triggered manually via the github UI.
6+
workflow_dispatch:
7+
8+
push:
9+
# This triggers the build on a push to merge-test only
10+
branches:
11+
- 'merge-test'
12+
13+
jobs:
14+
kernel:
15+
runs-on: ubuntu-latest
16+
17+
strategy:
18+
fail-fast: false
19+
matrix:
20+
include:
21+
# ppc64le allmod and allyes
22+
- subarch: ppc64le
23+
defconfig: ppc64le_allmodconfig
24+
image: fedora-40
25+
- subarch: ppc64le
26+
defconfig: allyesconfig
27+
image: fedora-40
28+
merge_config: /linux/arch/powerpc/configs/le.config
29+
# ppc64 allmod and allyes
30+
- subarch: ppc64
31+
defconfig: allmodconfig
32+
image: fedora-40
33+
- subarch: ppc64
34+
defconfig: allyesconfig
35+
image: fedora-40
36+
# ppc32 allmod
37+
- subarch: ppc
38+
defconfig: ppc32_allmodconfig
39+
image: fedora-40
40+
# ppc64 book3e allmod
41+
- subarch: ppc64
42+
defconfig: ppc64_book3e_allmodconfig
43+
image: fedora-40
44+
45+
env:
46+
ARCH: powerpc
47+
TARGET: kernel
48+
CCACHE: 1
49+
SUBARCH: ${{ matrix.subarch }}
50+
IMAGE: ${{ matrix.image }}
51+
DEFCONFIG: ${{ matrix.defconfig }}
52+
MERGE_CONFIG: /linux/arch/powerpc/configs/disable-werror.config,${{ matrix.merge_config }}
53+
54+
steps:
55+
- uses: actions/checkout@v4
56+
57+
- name: Register problem matchers
58+
run: |
59+
echo "::add-matcher::.github/problem-matchers/compiler-source.json"
60+
echo "::add-matcher::.github/problem-matchers/compiler-non-source.json"
61+
62+
- name: Load ccache
63+
uses: actions/cache@v4
64+
with:
65+
path: ~/.ccache
66+
key: ${{ matrix.image }}-${{ matrix.subarch }}-${{ matrix.defconfig }}
67+
68+
- name: Login to GitHub Container Registry
69+
uses: docker/login-action@v3
70+
with:
71+
registry: ghcr.io
72+
username: ${{ github.actor }}
73+
password: ${{ secrets.GITHUB_TOKEN }}
74+
75+
- name: Build
76+
run: |
77+
mkdir -p ~/.ccache
78+
./arch/powerpc/tools/ci-build.sh

.github/workflows/powerpc-clang.yml

+84
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,84 @@
1+
name: powerpc/clang
2+
3+
# Controls when the action will run.
4+
on:
5+
# This allows the build to be triggered manually via the github UI.
6+
workflow_dispatch:
7+
8+
push:
9+
# This triggers the build on a push to any branch
10+
branches:
11+
- '**'
12+
# As long as one of these paths matches
13+
paths:
14+
- '!tools/**' # ignore tools
15+
- '!samples/**' # ignore samples
16+
- '!Documentation/**' # ignore Documentation
17+
- '!arch/**' # ignore arch changes
18+
- 'arch/powerpc/**' # but not arch/powerpc
19+
- 'arch/Kconfig' # or common bits in arch
20+
- '**' # anything else triggers a build
21+
22+
jobs:
23+
kernel:
24+
runs-on: ubuntu-latest
25+
26+
strategy:
27+
fail-fast: false
28+
matrix:
29+
defconfig: [ppc64, corenet64_smp, pmac32, ppc40x, mpc885_ads]
30+
image: [fedora-40]
31+
subarch: [ppc64]
32+
include:
33+
- subarch: ppc64le
34+
defconfig: ppc64le
35+
image: fedora-40
36+
37+
env:
38+
CLANG: 1
39+
LLVM_IAS: 0
40+
ARCH: powerpc
41+
TARGET: kernel
42+
CCACHE: 1
43+
SUBARCH: ${{ matrix.subarch }}
44+
IMAGE: ${{ matrix.image }}
45+
DEFCONFIG: ${{ matrix.defconfig }}
46+
MERGE_CONFIG: /linux/arch/powerpc/configs/disable-werror.config
47+
48+
steps:
49+
- uses: actions/checkout@v4
50+
51+
- name: Register problem matchers
52+
run: |
53+
echo "::add-matcher::.github/problem-matchers/compiler-source.json"
54+
echo "::add-matcher::.github/problem-matchers/compiler-non-source.json"
55+
56+
- name: Load ccache
57+
uses: actions/cache@v4
58+
with:
59+
path: ~/.ccache
60+
key: ${{ matrix.image }}-${{ matrix.subarch }}-${{ matrix.defconfig }}
61+
62+
- name: Login to GitHub Container Registry
63+
uses: docker/login-action@v3
64+
with:
65+
registry: ghcr.io
66+
username: ${{ github.actor }}
67+
password: ${{ secrets.GITHUB_TOKEN }}
68+
69+
- name: Build
70+
run: |
71+
mkdir -p ~/.ccache
72+
./arch/powerpc/tools/ci-build.sh
73+
74+
- name: Archive artifacts
75+
uses: actions/upload-artifact@v4
76+
with:
77+
name: ${{ matrix.defconfig }}-${{ matrix.image }}
78+
path: |
79+
~/output/vmlinux
80+
~/output/.config
81+
~/output/System.map
82+
~/output/modules.tar.bz2
83+
~/output/arch/powerpc/boot/zImage
84+
~/output/arch/powerpc/boot/uImage
+71
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,71 @@
1+
name: powerpc/extrawarn
2+
3+
# Controls when the action will run.
4+
on:
5+
# Only when triggered manually via the github UI.
6+
workflow_dispatch:
7+
8+
jobs:
9+
kernel:
10+
runs-on: ubuntu-latest
11+
12+
strategy:
13+
matrix:
14+
defconfig: [ppc64, corenet64_smp, pmac32, ppc40x, ppc44x, mpc885_ads, corenet32_smp]
15+
image: [fedora-40, korg-5.5.0]
16+
subarch: [ppc64]
17+
include:
18+
- subarch: ppc64le
19+
defconfig: ppc64le
20+
image: korg-5.5.0
21+
- subarch: ppc64le
22+
defconfig: ppc64le
23+
image: fedora-40
24+
25+
env:
26+
ARCH: powerpc
27+
TARGET: kernel
28+
CCACHE: 1
29+
SUBARCH: ${{ matrix.subarch }}
30+
IMAGE: ${{ matrix.image }}
31+
DEFCONFIG: ${{ matrix.defconfig }}
32+
MERGE_CONFIG: /linux/arch/powerpc/configs/disable-werror.config
33+
KBUILD_EXTRA_WARN: 1
34+
35+
steps:
36+
- uses: actions/checkout@v4
37+
38+
- name: Register problem matchers
39+
run: |
40+
echo "::add-matcher::.github/problem-matchers/compiler-source.json"
41+
echo "::add-matcher::.github/problem-matchers/compiler-non-source.json"
42+
43+
- name: Load ccache
44+
uses: actions/cache@v4
45+
with:
46+
path: ~/.ccache
47+
key: ${{ matrix.image }}-${{ matrix.subarch }}-${{ matrix.defconfig }}
48+
49+
- name: Login to GitHub Container Registry
50+
uses: docker/login-action@v3
51+
with:
52+
registry: ghcr.io
53+
username: ${{ github.actor }}
54+
password: ${{ secrets.GITHUB_TOKEN }}
55+
56+
- name: Build
57+
run: |
58+
mkdir -p ~/.ccache
59+
./arch/powerpc/tools/ci-build.sh
60+
61+
- name: Archive artifacts
62+
uses: actions/upload-artifact@v4
63+
with:
64+
name: ${{ matrix.defconfig }}-${{ matrix.image }}
65+
path: |
66+
~/output/vmlinux
67+
~/output/.config
68+
~/output/System.map
69+
~/output/modules.tar.bz2
70+
~/output/arch/powerpc/boot/zImage
71+
~/output/arch/powerpc/boot/uImage

0 commit comments

Comments
 (0)