]> git.openstreetmap.org Git - chef.git/blob - .github/workflows/test-kitchen.yml
32aa19ba0707d1b4549d55ad6c8ee061247788ad
[chef.git] / .github / workflows / test-kitchen.yml
1 name: Test Kitchen
2 on:
3   - push
4   - pull_request
5 jobs:
6   kitchen:
7     name: Test Kitchen
8     runs-on: ubuntu-latest
9     strategy:
10       matrix:
11         suite:
12           - accounts
13           - apache
14           - apt
15           - backup
16           - bind
17           - blog
18           - blogs
19           - civicrm
20           - clamav
21           - db-backup
22           - db-base
23           - db-master
24           - db-slave
25           - devices
26           - dhcpd
27           - dmca
28           - dns
29           - docker
30           - donate
31           - elasticsearch
32           - exim
33           - fail2ban
34           - forum
35           - ftp
36           - geodns
37           - geoipupdate
38           - git
39           - git-server
40           - git-web
41           - gps-tile
42           - hardware
43           - hot
44           - incron
45           - irc
46           - kibana
47           - letsencrypt
48           - logstash
49           - logstash-forwarder
50           - mail
51           - mailman
52           - memcached
53           - munin
54           - munin-plugins
55           - munin-server
56           - mysql
57           - networking
58           - nginx
59           - nodejs
60           - nominatim
61           - ntp
62           - openssh
63           - osmosis
64           - osqa
65           - otrs
66           - passenger
67           - php
68           - php-apache
69           - php-fpm
70           - piwik
71           - planet
72           - planet-current
73           - planet-dump
74           - planet-notes
75           - planet-replication
76           - postgresql
77           - prometheus
78           - prometheus-server
79           - python
80           - rsyncd
81           - serverinfo
82           - snmpd
83           - spamassassin
84           - squid
85           - ssl
86           - stateofthemap
87           - subversion
88           - supybot
89           - switch2osm
90           - sysctl
91           - sysfs
92           - taginfo
93           - tile
94           - tilecache
95           - tilelog
96           - tools
97           - trac
98           - web-backend
99           - web-cgimap
100           - web-frontend
101           - web-rails
102           - wordpress
103           - wiki
104         os:
105           - ubuntu-2004
106         include:
107           - suite: osqa
108             os: ubuntu-1804
109           - suite: trac
110             os: ubuntu-1804
111         exclude:
112           - suite: osqa
113             os: ubuntu-2004
114           - suite: trac
115             os: ubuntu-2004
116       fail-fast: false
117     steps:
118     - name: Check out code
119       uses: actions/checkout@v2
120     - name: Setup ruby
121       uses: actions/setup-ruby@v1.1.2
122     - name: Cache gems
123       uses: actions/cache@v2
124       with:
125         path: vendor/bundle
126         key: bundle-${{ runner.OS }}-${{ hashFiles('Gemfile.lock') }}
127         restore-keys: |
128           bundle-${{ runner.OS }}-
129     - name: Disable apparmor for mysqld
130       run: |
131         sudo apt-get install apparmor-utils
132         sudo aa-disable /usr/sbin/mysqld
133     - name: Install gems
134       run: |
135         gem install bundler
136         bundle config set deployment true
137         bundle install --jobs 4 --retry 3
138     - name: Run kitchen test ${{ matrix.suite }}-${{ matrix.os }}
139       run: bundle exec kitchen test ${{ matrix.suite }}-${{ matrix.os }}