]> git.openstreetmap.org Git - chef.git/blob - .github/workflows/test-kitchen.yml
234baa86c1a919e1306342fe42f501b16ec46547
[chef.git] / .github / workflows / test-kitchen.yml
1 name: Test Kitchen
2
3 on:
4   - push
5   - pull_request
6   - workflow_dispatch
7
8 concurrency:
9   group: ${{ github.workflow }}-${{ github.head_ref || github.ref }}
10   cancel-in-progress: true
11
12 jobs:
13   kitchen:
14     name: Test Kitchen
15     runs-on: ubuntu-22.04
16     permissions:
17       packages: read
18     strategy:
19       matrix:
20         suite:
21           - accounts
22           - apache
23           - apt
24           - backup
25           - bind
26           - blog
27           - blogs
28           - chef
29           - civicrm
30           - clamav
31           - community
32           - db-backup
33           - db-base
34           - db-master
35           - db-slave
36           - devices
37           - dhcpd
38           - dmca
39           - dns
40           - docker
41           - elasticsearch
42           - exim
43           - fail2ban
44           - foundation-board
45           - foundation-dwg
46           - foundation-mastodon
47           - foundation-mwg
48           - foundation-owg
49           - foundation-welcome
50           - foundation-wiki
51           - ftp
52           - geodns
53           - geoipupdate
54           - git
55           - git-server
56           - git-web
57           - gps-tile
58           - hardware
59           - hot
60           - ideditor
61           - imagery-tiler
62           - irc
63           - kibana
64           - letsencrypt
65           - logstash
66           - logstash-forwarder
67           - mail
68           - mailman
69           - matomo
70           - memcached
71           - munin
72           - munin-plugins
73           - mysql
74           - networking
75           - nginx
76           - nodejs
77           - nominatim
78           - ntp
79           - openssh
80           - osmosis
81           - osqa
82           - otrs
83           - overpass
84           - passenger
85           - php
86           - php-apache
87           - php-fpm
88           - planet
89           - planet-aws
90           - planet-current
91           - planet-dump
92           - planet-notes
93           - planet-replication
94           - postgresql
95           - prometheus
96           - prometheus-server
97           - python
98           - rsyncd
99           - serverinfo
100           - snmpd
101           - spamassassin
102           - ssl
103           - stateofthemap-container
104           - stateofthemap-wordpress
105           - subversion
106           - supybot
107           - switch2osm
108           - sysctl
109           - sysfs
110           - taginfo
111           - tile
112           - tilelog
113           - tools
114           - trac
115           - web-cgimap
116           - web-frontend
117           - web-rails
118           - wordpress
119           - wiki
120         os:
121           - ubuntu-2204
122         include:
123           - os: ubuntu-2004
124             suite: mailman
125           - os: ubuntu-2004
126             suite: osqa
127         exclude:
128           - suite: mailman
129             os: ubuntu-2204
130           - suite: osqa
131             os: ubuntu-2204
132       fail-fast: false
133     steps:
134     - name: Login to GitHub Container Registry
135       uses: docker/login-action@v3
136       with:
137         registry: ghcr.io
138         username: ${{ github.actor }}
139         password: ${{ secrets.GITHUB_TOKEN }}
140     - name: Check out code
141       uses: actions/checkout@v4
142     - name: Setup ruby
143       uses: ruby/setup-ruby@v1
144       with:
145         ruby-version: 3.1
146         bundler-cache: true
147     - name: Run kitchen test ${{ matrix.suite }}-${{ matrix.os }}
148       run: bundle exec kitchen test ${{ matrix.suite }}-${{ matrix.os }}
149     - name: Gather journal output
150       run: bundle exec kitchen exec ${{ matrix.suite }}-${{ matrix.os }} -c journalctl --since=yesterday
151       if: ${{ failure() }}