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