-
Notifications
You must be signed in to change notification settings - Fork 0
134 lines (118 loc) · 3.91 KB
/
tests.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
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
name: Tests
on:
schedule:
- cron: "0 0 7 * *"
workflow_run:
workflows: [ Sanity checks ]
types: [ completed ]
branches: [ main, fix-example-test ]
workflow_dispatch:
jobs:
deps:
strategy:
matrix:
distro: [ "alpine:latest", "ubuntu:latest", "debian:latest", "archlinux:latest" ]
arch: [ amd64, i386 ]
runs-on: ubuntu-latest
container:
image: ${{ matrix.distro }}
steps:
- name: Install essentials
run: |
if [ "${{ matrix.distro }}" = "alpine:latest" ]; then
apk add python3
elif [ "${{ matrix.distro }}" = "archlinux:latest" ]; then
pacman -Sy
pacman -S --noconfirm python
else
apt-get update
apt-get install --yes --no-install-recommends python3
fi
- name: Check out repository code
uses: actions/checkout@v4
- name: Install dependencies
run: ./openbsd deps --install --arch=${{ matrix.arch }}
base:
needs:
- deps
strategy:
matrix:
version: [ 7.3, 7.4, 7.5 ]
arch: [ amd64, i386 ]
runs-on: ubuntu-latest
container:
image: alpine:latest
env:
OPENBSD_CACHE: /tmp/cache
WORKDIR: /${{github.job}}-${{github.run_id}}-${{github.run_number}}-${{github.run_attempt}}
steps:
- name: Install essentials
run: apk add bash python3 tar
- name: Check out repository code
uses: actions/checkout@v4
- name: Install dependencies
run: ./openbsd deps --install --arch=${{ matrix.arch }}
- name: Cache OpenBSD files
id: cache-openbsd
uses: actions/cache@v4
with:
path: ${{ env.OPENBSD_CACHE }}
key: openbsd-${{ matrix.version }}-${{ matrix.arch }}-${{ github.job }}
restore-keys: |
openbsd-${{ matrix.version }}-${{ matrix.arch }}-${{ github.job }}
openbsd-${{ matrix.version }}-${{ matrix.arch }}
openbsd-${{ matrix.version }}
openbsd
- name: Run test
run: tests/base -v ${{ matrix.version }} -a ${{ matrix.arch }}
- name: Keep artifacts
uses: actions/upload-artifact@v4
if: always()
with:
name: ${{ github.job }}-${{ matrix.version }}-${{ matrix.arch }}-${{github.run_id}}-${{github.run_number}}-${{github.run_attempt}}
retention-days: 3
path: |
/${{github.job}}-${{github.run_id}}-${{github.run_number}}-${{github.run_attempt}}/**/*
!/**/*.img
example:
needs:
- base
strategy:
matrix:
version: [ 7.5 ]
arch: [ amd64 ]
runs-on: ubuntu-latest
env:
OPENBSD_CACHE: /tmp/cache
WORKDIR: /${{github.job}}-${{github.run_id}}-${{github.run_number}}-${{github.run_attempt}}
container:
image: alpine:latest
steps:
- name: Install essentials
run: apk add bash python3 tar wget
- name: Check out repository code
uses: actions/checkout@v4
- name: Install dependencies
run: ./openbsd deps --install --arch=${{ matrix.arch }}
- name: Cache OpenBSD files
id: cache-openbsd
uses: actions/cache@v4
with:
path: ${{ env.OPENBSD_CACHE }}
key: openbsd-${{ matrix.version }}-${{ matrix.arch }}-${{ github.job }}
restore-keys: |
openbsd-${{ matrix.version }}-${{ matrix.arch }}-${{ github.job }}
openbsd-${{ matrix.version }}-${{ matrix.arch }}
openbsd-${{ matrix.version }}
openbsd
- name: Run test
run: timeout 1800 tests/example -v ${{ matrix.version }} -a ${{ matrix.arch }}
- name: Keep artifacts
uses: actions/upload-artifact@v4
if: always()
with:
name: ${{ github.job }}-${{ matrix.version }}-${{ matrix.arch }}-${{github.run_id}}-${{github.run_number}}-${{github.run_attempt}}
retention-days: 3
path: |
/${{github.job}}-${{github.run_id}}-${{github.run_number}}-${{github.run_attempt}}/**/*
!/**/*.img