6161 needs : [changes, lint]
6262 # only run this job if there are helm chart file changes
6363 if : needs.changes.outputs.src != 'false'
64- strategy :
65- # continue with all the other jobs even if one fails
66- fail-fast : false
67- matrix :
68- # each item in this list is a job with an isolated test VM
69- test_cases :
70- # test the plain helm chart with nothing changed
71- - name : ' Default - no custom values'
72-
73- # test the helm chart with postgresql subchart enabled
74- - name : PostgreSQL Enabled
75- helm_args : ' --helm-extra-set-args "--set=postgresql.enabled=true --set=postgresql.global.postgresql.auth.password=testing123456 --set=internalDatabase.enabled=false --set=externalDatabase.enabled=True --set=externalDatabase.type=postgresql --set=externalDatabase.password=testing12345"'
76-
77- # test the helm chart with nginx container enabled
78- - name : Nginx Enabled
79- helm_args : ' --helm-extra-set-args "--set=image.flavor=fpm --set=nginx.enabled=true"'
80-
81- # test the helm chart with horizontal pod autoscaling enabled
82- - name : Horizontal Pod Autoscaling Enabled
83- helm_args : ' --helm-extra-set-args "--set=hpa.enabled=true --set=hpa.minPods=2 --set=hpa.maxPods=3 --set=hpa.targetCPUUtilizationPercentage=75"'
84-
85- # test the helm chart with s3 as the primary storage
86- - name : S3 Enabled as Primary Storage
87- # we need to skip the clean up so we can test adding a file
88- helm_args : |
89- --namespace nextcloud --skip-clean-up --helm-extra-set-args "--set=fullnameOverride=nextcloud --set=nextcloud.objectStore.s3.enabled=true --set=nextcloud.objectStore.s3.accessKey=nextcloud --set=nextcloud.objectStore.s3.secretKey=rootpass123 --set=nextcloud.objectStore.s3.host=minio.nextcloud.svc.cluster.local --set=nextcloud.objectStore.s3.port=9000 --set=nextcloud.objectStore.s3.ssl=false --set=nextcloud.objectStore.s3.bucket=nextcloud --set=nextcloud.objectStore.s3.usePathStyle=true --set=image.flavor=fpm --set=nginx.enabled=true --set=nextcloud.host=nextcloud --set=nextcloud.trustedDomains[0]='*'"
90-
9164 steps :
9265 - name : Checkout
9366 uses : actions/checkout@v4
11992 if : steps.list-changed.outputs.changed == 'true'
12093
12194 - name : Install MinIO for testing S3 as Primary Storage
122- if : matrix.test_cases.name == 'S3 Enabled as Primary Storage'
95+ # only used during ct-s3-as-primary-values.yaml
12396 # installs minio community helm chart here:
12497 # https://github.com/minio/minio/tree/master/helm/minio
12598 run : |
@@ -133,13 +106,13 @@ jobs:
133106 --values .github/tests/minio_test_values.yaml \
134107 minio/minio
135108
136- - name : Run chart-testing (install ${{ matrix.test_cases.name }} )
109+ - name : Run chart-testing (install all charts/nextcloud/ci/ct-*-values.yaml )
137110 id : install
138111 if : steps.list-changed.outputs.changed == 'true'
139- run : ct install --target-branch ${{ github.event.repository.default_branch }} ${{ matrix.test_cases.helm_args }}
112+ run : ct install --target-branch ${{ github.event.repository.default_branch }}
140113
141114 - name : Try adding a file to Nextcloud
142- if : matrix.test_cases.name == 'S3 Enabled as Primary Storage'
115+ # only used during ct-s3-as-primary-values.yaml
143116 # applies a kubernetes job that uploads a file and then checks log of finished pod
144117 run : |
145118 kubectl config set-context --current --namespace=nextcloud && \
0 commit comments