]> git.openstreetmap.org Git - chef.git/blobdiff - .github/workflows/test-kitchen.yml
imagery: restart mapserver every hour to limit memory leak
[chef.git] / .github / workflows / test-kitchen.yml
index a962a5e8bbe9b7f12953dbe380353b326647c69b..e1c8df5558e0d817e3e245987b5f2bfe27495634 100644 (file)
@@ -3,6 +3,7 @@ name: Test Kitchen
 on:
   - push
   - pull_request
 on:
   - push
   - pull_request
+  - workflow_dispatch
 
 concurrency:
   group: ${{ github.workflow }}-${{ github.head_ref || github.ref }}
 
 concurrency:
   group: ${{ github.workflow }}-${{ github.head_ref || github.ref }}
@@ -12,16 +13,20 @@ jobs:
   kitchen:
     name: Test Kitchen
     runs-on: ubuntu-22.04
   kitchen:
     name: Test Kitchen
     runs-on: ubuntu-22.04
+    permissions:
+      packages: read
     strategy:
       matrix:
         suite:
           - accounts
           - apache
           - apt
     strategy:
       matrix:
         suite:
           - accounts
           - apache
           - apt
+          - apt-repository
           - backup
           - bind
           - blog
           - blogs
           - backup
           - bind
           - blog
           - blogs
+          - chef
           - civicrm
           - clamav
           - community
           - civicrm
           - clamav
           - community
@@ -29,20 +34,22 @@ jobs:
           - db-base
           - db-master
           - db-slave
           - db-base
           - db-master
           - db-slave
+          - dev
           - devices
           - dhcpd
           - dmca
           - dns
           - docker
           - devices
           - dhcpd
           - dmca
           - dns
           - docker
-          - donate
           - elasticsearch
           - exim
           - fail2ban
           - elasticsearch
           - exim
           - fail2ban
-          - forum
+          - foundation-birthday
           - foundation-board
           - foundation-dwg
           - foundation-board
           - foundation-dwg
+          - foundation-mastodon
           - foundation-mwg
           - foundation-owg
           - foundation-mwg
           - foundation-owg
+          - foundation-welcome
           - foundation-wiki
           - ftp
           - geodns
           - foundation-wiki
           - ftp
           - geodns
@@ -53,7 +60,7 @@ jobs:
           - gps-tile
           - hardware
           - hot
           - gps-tile
           - hardware
           - hot
-          - incron
+          - ideditor
           - irc
           - kibana
           - letsencrypt
           - irc
           - kibana
           - letsencrypt
@@ -63,9 +70,6 @@ jobs:
           - mailman
           - matomo
           - memcached
           - mailman
           - matomo
           - memcached
-          - munin
-          - munin-plugins
-          - munin-server
           - mysql
           - networking
           - nginx
           - mysql
           - networking
           - nginx
@@ -82,6 +86,7 @@ jobs:
           - php-apache
           - php-fpm
           - planet
           - php-apache
           - php-fpm
           - planet
+          - planet-aws
           - planet-current
           - planet-dump
           - planet-notes
           - planet-current
           - planet-dump
           - planet-notes
@@ -95,9 +100,7 @@ jobs:
           - snmpd
           - spamassassin
           - ssl
           - snmpd
           - spamassassin
           - ssl
-          - stateofthemap
-          - stateofthemap-jekyll
-          - stateofthemap-static
+          - stateofthemap-container
           - stateofthemap-wordpress
           - subversion
           - supybot
           - stateofthemap-wordpress
           - subversion
           - supybot
@@ -109,6 +112,7 @@ jobs:
           - tilelog
           - tools
           - trac
           - tilelog
           - tools
           - trac
+          - vectortile
           - web-cgimap
           - web-frontend
           - web-rails
           - web-cgimap
           - web-frontend
           - web-rails
@@ -121,15 +125,81 @@ jobs:
             suite: mailman
           - os: ubuntu-2004
             suite: osqa
             suite: mailman
           - os: ubuntu-2004
             suite: osqa
+          - os: debian-12
+            suite: apt-repository
+          - os: debian-12
+            suite: dev
+          - os: debian-12
+            suite: dns
+          - os: debian-12
+            suite: git-server
+          - os: debian-12
+            suite: git-web
+          - os: debian-12
+            suite: imagery-tiler
+          - os: debian-12
+            suite: letsencrypt
+          - os: debian-12
+            suite: otrs
+          - os: debian-12
+            suite: serverinfo
+          - os: debian-12
+            suite: supybot
+          - os: debian-12
+            suite: vectortile
+          - os: debian-12
+            suite: web-cgimap
+          - os: debian-12
+            suite: web-frontend
+          - os: debian-12
+            suite: web-rails
         exclude:
         exclude:
+          - suite: apt-repository
+            os: ubuntu-2204
+          - suite: dev
+            os: ubuntu-2204
+          - suite: dns
+            os: ubuntu-2204
+          - suite: git-server
+            os: ubuntu-2204
+          - suite: git-web
+            os: ubuntu-2204
           - suite: mailman
             os: ubuntu-2204
           - suite: mailman
             os: ubuntu-2204
+          - suite: letsencrypt
+            os: ubuntu-2204
           - suite: osqa
             os: ubuntu-2204
           - suite: osqa
             os: ubuntu-2204
+          - suite: otrs
+            os: ubuntu-2204
+          - suite: serverinfo
+            os: ubuntu-2204
+          - suite: supybot
+            os: ubuntu-2204
+          - suite: vectortile
+            os: ubuntu-2204
+          - suite: web-cgimap
+            os: ubuntu-2204
+          - suite: web-frontend
+            os: ubuntu-2204
+          - suite: web-rails
+            os: ubuntu-2204
       fail-fast: false
     steps:
       fail-fast: false
     steps:
+    - name: Login to GitHub Container Registry
+      uses: docker/login-action@v3
+      with:
+        registry: ghcr.io
+        username: ${{ github.actor }}
+        password: ${{ secrets.GITHUB_TOKEN }}
+    - name: Login to Docker Hub
+      uses: docker/login-action@v3
+      with:
+        username: ${{ secrets.DOCKERHUB_USERNAME }}
+        password: ${{ secrets.DOCKERHUB_TOKEN }}
+      if: github.repository == 'openstreetmap/chef' && github.event_name != 'pull_request'
     - name: Check out code
     - name: Check out code
-      uses: actions/checkout@v3
+      uses: actions/checkout@v4
     - name: Setup ruby
       uses: ruby/setup-ruby@v1
       with:
     - name: Setup ruby
       uses: ruby/setup-ruby@v1
       with:
@@ -138,5 +208,8 @@ jobs:
     - name: Run kitchen test ${{ matrix.suite }}-${{ matrix.os }}
       run: bundle exec kitchen test ${{ matrix.suite }}-${{ matrix.os }}
     - name: Gather journal output
     - name: Run kitchen test ${{ matrix.suite }}-${{ matrix.os }}
       run: bundle exec kitchen test ${{ matrix.suite }}-${{ matrix.os }}
     - name: Gather journal output
-      run: bundle exec kitchen exec ${{ matrix.suite }}-${{ matrix.os }} -c journalctl --since=yesterday
+      run: |
+        bundle exec kitchen exec ${{ matrix.suite }}-${{ matrix.os }} -c "journalctl --since=yesterday"
+        bundle exec kitchen exec ${{ matrix.suite }}-${{ matrix.os }} -c "networkctl status --all"
+        bundle exec kitchen exec ${{ matrix.suite }}-${{ matrix.os }} -c "resolvectl status" || true
       if: ${{ failure() }}
       if: ${{ failure() }}