-
-
Notifications
You must be signed in to change notification settings - Fork 65
146 lines (135 loc) · 3.67 KB
/
regular_ci.yml
File metadata and controls
146 lines (135 loc) · 3.67 KB
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
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
name: Dinit Regular CI
on:
push:
branches:
- master
paths:
- '.github/workflows/regular_ci.yml'
- 'configure'
- 'build/**'
- 'configs/**'
- 'dasynq/**'
- 'src/**'
- '**/Makefile'
- '!build/mconfig.mesontemplate'
- '!build/includes/README'
- '!**/meson.build'
pull_request:
branches:
- master
paths:
- '.github/workflows/regular_ci.yml'
- 'configure'
- 'build/**'
- 'configs/**'
- 'dasynq/**'
- 'src/**'
- '**/Makefile'
- '!build/mconfig.mesontemplate'
- '!build/includes/README'
- '!**/meson.build'
workflow_dispatch:
jobs:
Debian-bullseye_build:
runs-on: ubuntu-24.04
container:
image: debian:bullseye
strategy:
fail-fast: false # Upload src/igr-tests/*/output/* files in igr-tests
matrix:
include:
- arch: 'amd64'
- arch: 'i386'
steps:
- uses: actions/checkout@v4
- name: Add i386 repositories
if: ${{ matrix.arch == 'i386' }}
run: dpkg --add-architecture i386
- name: Getting dependencies (amd64)
if: ${{ matrix.arch == 'amd64' }}
run: |
apt-get update
DEBIAN_FRONTEND=noninteractive apt-get install g++ make m4 libcap-dev file -y
- name: Getting dependencies (i386)
if: ${{ matrix.arch == 'i386' }}
run: |
apt-get update
DEBIAN_FRONTEND=noninteractive apt-get install gcc:i386 make:i386 m4:i386 g++:i386 libcap-dev:i386 file -y
- name: Print g++ architecture and version
run: |
g++ -dumpmachine
g++ --version
- name: Build
run: make
- name: Print dinit executable file architecture
run: file ./src/dinit
- name: Unit tests
run: make check
- name: Integration tests
run: make check-igr
- name: Upload igr-tests output file(s) on failure
uses: actions/upload-artifact@v4.3.2
if: failure()
with:
name: igr-tests_output
path: src/igr-tests/*/output/*
MacOS-latest_build:
runs-on: macos-latest
strategy:
fail-fast: false # Upload src/igr-tests/*/output/* files in igr-tests
matrix:
include:
- arch: 'aarch64'
steps:
- uses: actions/checkout@v4
- name: Print g++ architecture and version
run: |
g++ -dumpmachine
g++ --version
- name: Build
run: make
- name: Print dinit executable file architecture
run: file ./src/dinit
- name: Unit tests
run: make check
- name: Integration tests
run: make check-igr
- name: Upload igr-tests output file(s) on failure
uses: actions/upload-artifact@v4.3.2
if: failure()
with:
name: igr-tests_output
path: src/igr-tests/*/output/*
Alpine-latest_build:
runs-on: ubuntu-24.04
container:
image: alpine:latest
strategy:
fail-fast: false # Upload src/igr-tests/*/output/* files in igr-tests
matrix:
include:
- arch: 'amd64'
steps:
- uses: actions/checkout@v4
- name: Getting dependencies
run: |
apk update
apk add make g++ m4 file libcap-dev
- name: Print g++ architecture and version
run: |
g++ -dumpmachine
g++ --version
- name: Build
run: make
- name: Print dinit executable file architecture
run: file ./src/dinit
- name: Unit tests
run: make check
- name: Integration tests
run: make check-igr
- name: Upload igr-tests output file(s) on failure
uses: actions/upload-artifact@v4.3.2
if: failure()
with:
name: igr-tests_output
path: src/igr-tests/*/output/*