File: tomcat-basic-test.yml

package info (click to toggle)
jss 5.9.0~beta3-3
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 9,120 kB
  • sloc: java: 74,332; ansic: 39,200; cpp: 4,414; sh: 1,487; xml: 490; python: 354; makefile: 42
file content (201 lines) | stat: -rw-r--r-- 5,973 bytes parent folder | download
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
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
name: Basic Tomcat

on: workflow_call

env:
  NAMESPACE: ${{ vars.REGISTRY_NAMESPACE || 'dogtagpki' }}

jobs:
  test:
    name: Test
    runs-on: ubuntu-latest
    env:
      SHARED: /tmp/workdir/pki
    steps:
      - name: Clone repository
        uses: actions/checkout@v4

      - name: Retrieve JSS images
        uses: actions/cache@v4
        with:
          key: jss-images-${{ github.sha }}
          path: jss-images.tar

      - name: Load JSS images
        run: docker load --input jss-images.tar

      - name: Create network
        run: docker network create example

      - name: Set up client container
        run: |
          tests/bin/runner-init.sh \
              --hostname=client.example.com \
              --network=example \
              --network-alias=client.example.com \
              client

      - name: Set up server container
        run: |
          tests/bin/runner-init.sh \
              --hostname=server.example.com \
              --network=example \
              --network-alias=server.example.com \
              server

          # get Fedora version
          FEDORA_VERSION=$(docker exec server sed -n 's/^VERSION_ID=//p' /etc/os-release)
          echo "FEDORA_VERSION=$FEDORA_VERSION" >> $GITHUB_ENV

      - name: Check Java
        if: ${{ fromJSON(env.FEDORA_VERSION) < 43 }}
        run: |
          docker exec server ls -la /usr/lib/jvm/java-21-openjdk

      - name: Check Java
        if: ${{ fromJSON(env.FEDORA_VERSION) >= 43 }}
        run: |
          docker exec server ls -la /usr/lib/jvm/java-25-openjdk

      - name: Check Tomcat packages
        run: |
          docker exec server dnf install -y tomcat tomcat-webapps
          docker exec server rpm -qa | grep tomcat

      - name: Check Tomcat config
        run: |
          docker exec server ls -lR /etc/tomcat

      - name: Check Tomcat libraries
        run: |
          docker exec server ls -lR /usr/share/java/tomcat

      - name: Check Tomcat executables
        run: |
          docker exec server ls -lR /usr/share/tomcat/bin

      - name: Check Catalina home
        run: |
          docker exec server ls -lR /usr/share/tomcat

      - name: Check Catalina base
        run: |
          docker exec server ls -lR /var/lib/tomcat

      - name: Check server.xml
        run: |
          docker exec server cat /etc/tomcat/server.xml

      - name: Check tomcat.conf
        run: |
          docker exec server cat /etc/tomcat/tomcat.conf

      - name: Check catalina.policy
        run: |
          docker exec server cat /etc/tomcat/catalina.policy

      - name: Check catalina.properties
        run: |
          docker exec server cat /etc/tomcat/catalina.properties

      - name: Check /usr/sbin/tomcat
        run: |
          docker exec server cat /usr/sbin/tomcat

      - name: Check Tomcat version
        run: |
          docker exec server /usr/sbin/tomcat version

      - name: Check Tomcat digest
        run: |
          docker exec server tomcat-digest Secret.123

        # The command does not work with current tomcat version on F43 and it has been
        # reported https://bugzilla.redhat.com/show_bug.cgi?id=2412302.
        # The check is not considered until the problem is fixed
        continue-on-error: true

      - name: Check tomcat.service
        run: |
          docker exec server cat /usr/lib/systemd/system/tomcat.service

      - name: Start tomcat service
        run: |
          docker exec server systemctl status tomcat || true
          docker exec server systemctl start tomcat

      - name: Wait for tomcat service
        run: |
          docker exec client curl \
              --retry 60 \
              --retry-delay 0 \
              --retry-connrefused \
              -s \
              -k \
              http://server.example.com:8080

      - name: Stop tomcat service
        run: |
          docker exec server systemctl status tomcat || true
          docker exec server systemctl stop tomcat

          sleep 5
          docker exec server systemctl status tomcat || true

      - name: Check tomcat systemd journal
        if: always()
        run: |
          docker exec server journalctl -x --no-pager -u tomcat

      - name: Check tomcat logs
        if: always()
        run: |
          docker exec server ls -lR /var/log/tomcat

      - name: Check tomcat@.service
        run: |
          docker exec server cat /usr/lib/systemd/system/tomcat@.service

      - name: Create tomcat@jss instance
        run: |
          docker exec server mkdir -p /var/lib/tomcats/jss

          docker exec server ln -s /usr/share/tomcat/bin /var/lib/tomcats/jss
          docker exec server cp -R /etc/tomcat /var/lib/tomcats/jss/conf
          docker exec server ln -s /usr/share/tomcat/lib /var/lib/tomcats/jss
          docker exec server mkdir /var/lib/tomcats/jss/logs
          docker exec server mkdir /var/lib/tomcats/jss/temp
          docker exec server mkdir /var/lib/tomcats/jss/webapps
          docker exec server mkdir /var/lib/tomcats/jss/work

          docker exec server chown -R tomcat:tomcat /var/lib/tomcats/jss

          docker exec server ls -lR /var/lib/tomcats/jss

      - name: Start tomcat@jss service
        run: |
          docker exec server systemctl start tomcat@jss

      - name: Wait for tomcat@jss service
        run: |
          docker exec client curl \
              --retry 60 \
              --retry-delay 0 \
              --retry-connrefused \
              -s \
              -k \
              http://server.example.com:8080

      - name: Stop tomcat@jss service
        run: |
          docker exec server systemctl stop tomcat@jss

      - name: Check tomcat@jss systemd journal
        if: always()
        run: |
          docker exec server journalctl -x --no-pager -u tomcat@jss

      - name: Check tomcat@jss logs
        if: always()
        run: |
          docker exec server ls -lR /var/lib/tomcats/jss/logs