This repository has been archived by the owner on Nov 27, 2022. It is now read-only.
forked from antoineco/broadcom-wl
-
Notifications
You must be signed in to change notification settings - Fork 0
91 lines (78 loc) · 2.76 KB
/
ci.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
name: Continuous Integration
on:
push:
branches: [ patch-linux4.7 ]
pull_request:
branches: [ patch-linux4.7 ]
permissions: {}
jobs:
build:
name: Build Kernel Module
# Linux runners do not currently support nested virtualization (KVM)
runs-on: macos-12
strategy:
fail-fast: false
matrix:
include:
- kernel: '5.15'
os: f36
- kernel: '5.16'
os: f36
- kernel: '5.17'
os: f37
- kernel: '5.18'
os: f37
- kernel: '5.19'
os: f37
- kernel: '6.0'
os: f37
- kernel: '6.1'
os: f38
steps:
- name: Install Lima from HEAD
# macos-12 runners have [email protected] installed but not linked. We link then
# unlink [email protected] to prevent errors during the installation of Lima HEAD,
# which depends on [email protected] ("Could not symlink bin/go; Target
# /usr/local/bin/go is a symlink belonging to [email protected]").
run: |
brew link --overwrite [email protected]
brew unlink [email protected] lima
brew install --HEAD lima
- name: Get QEMU image info
id: image
# The outputs of this step are solely used for generating a cache key.
# The fedora-qemu-img-info Action is also used from within the
# kernel-devel-vm Action to generate the Lima instance config. It is
# expected, but not guaranteed, that both invocations will return the
# same image checksum. For instance, not all mirrors synchronize at the
# same frequency, so different image versions may be found in different
# mirrors for a given OS version, especially shortly after a new release
# occurs upstream.
uses: antoineco/fedora-qemu-img-info-action@v1
with:
os: ${{ matrix.os }}
- name: Lima image cache
uses: actions/cache@v3
with:
path: ~/Library/Caches/lima/download
key: ${{ github.job }}-${{ runner.os }}-lima-${{ matrix.os }}-${{ steps.image.outputs.sha256sum }}
- uses: actions/checkout@v3
- name: Bootstrap Lima instance
id: builder
uses: antoineco/kernel-devel-vm-action@v1
with:
kernel: ${{ matrix.kernel }}
os: ${{ matrix.os }}
- name: Build wl module
run: |
lima make
lima make clean
- name: Collect cloud-init logs from Lima instance
if: failure() && steps.builder.outcome != 'skipped' && env.LIMA_INSTANCE
run: mv -v ${{ steps.builder.outputs.logs }}/cloud-*.log ~/.lima/${{ env.LIMA_INSTANCE }}/
- name: Upload Lima instance logs
if: failure() && steps.builder.outcome != 'skipped' && env.LIMA_INSTANCE
uses: actions/upload-artifact@v3
with:
name: lima-logs-${{ matrix.kernel }}
path: ~/.lima/${{ env.LIMA_INSTANCE }}/*.log