77 - main
88 - stable*
99
10+ permissions :
11+ contents : read
12+
1013env :
1114 APP_NAME : deck
1215 CYPRESS_baseUrl : http://localhost:8081/index.php
2629
2730 name : runner ${{ matrix.containers }}
2831
29- env :
30- extensions : mbstring, iconv, fileinfo, intl, sqlite, pdo_sqlite, zip, gd, apcu
31- key : cache-v1
32-
3332 services :
3433 postgres :
35- image : ghcr.io/nextcloud/continuous-integration-postgres-14 :latest
34+ image : ghcr.io/nextcloud/continuous-integration-postgres-17 :latest # zizmor: ignore[unpinned-images]
3635 ports :
3736 - 4444:5432/tcp
3837 env :
4342
4443 steps :
4544 - name : Use Node.js ${{ matrix.node-version }}
46- uses : actions/setup-node@v6.1 .0
45+ uses : actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6.2 .0
4746 with :
4847 node-version : ${{ matrix.node-version }}
4948
@@ -53,53 +52,39 @@ jobs:
5352 echo "text_app_ref=$text_app_ref" >> $GITHUB_ENV
5453
5554 - name : Checkout server
56- uses : actions/checkout@v4.2 .2
55+ uses : actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0 .2
5756 with :
57+ persist-credentials : false
5858 repository : nextcloud/server
59+ submodules : true
5960 ref : ${{ matrix.server-versions }}
6061
61- - name : Checkout submodules
62- shell : bash
63- run : |
64- auth_header="$(git config --local --get http.https://github.com/.extraheader)"
65- git submodule sync --recursive
66- git -c "http.extraheader=$auth_header" -c protocol.version=2 submodule update --init --force --recursive --depth=1
67-
6862 - name : Checkout ${{ env.APP_NAME }}
69- uses : actions/checkout@v4.2 .2
63+ uses : actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0 .2
7064 with :
65+ persist-credentials : false
7166 path : apps/${{ env.APP_NAME }}
7267
7368 - name : Checkout text
74- uses : actions/checkout@v4.2 .2
69+ uses : actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0 .2
7570 with :
71+ persist-credentials : false
7672 repository : nextcloud/text
7773 ref : ${{ env.text_app_ref }}
7874 path : apps/text
7975
80- - name : Setup cache environment
81- id : extcache
82- uses : shivammathur/cache-extensions@v1
83- with :
84- php-version : ${{ matrix.php-versions }}
85- extensions : ${{ env.extensions }}
86- key : ${{ env.key }}
87-
88- - name : Cache extensions
89- uses : actions/cache@v4
90- with :
91- path : ${{ steps.extcache.outputs.dir }}
92- key : ${{ steps.extcache.outputs.key }}
93- restore-keys : ${{ steps.extcache.outputs.key }}
94-
9576 - name : Set up php ${{ matrix.php-versions }}
96- uses : shivammathur/setup-php@2.34.1
77+ uses : shivammathur/setup-php@44454db4f0199b8b9685a5d763dc37cbf79108e1 # v2.36.0
9778 with :
98- php-version : ${{ matrix.php-versions }}
99- extensions : ${{ env.extensions }}
100- ini-values :
101- apc.enable_cli=on
102- coverage : none
79+ php-version : ${{ matrix.php-versions }}
80+ # https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
81+ extensions : apcu, bz2, ctype, curl, dom, fileinfo, gd, iconv, intl, json, libxml, mbstring, openssl, pcntl, posix, session, simplexml, xmlreader, xmlwriter, zip, zlib, sqlite, pdo_sqlite
82+ coverage : none
83+ ini-file : development
84+ # Temporary workaround for missing pcntl_* in PHP
85+ ini-values : apc.enable_cli=on, disable_functions=
86+ env :
87+ GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
10388
10489 - name : Install composer dependencies
10590 working-directory : apps/${{ env.APP_NAME }}
@@ -125,7 +110,7 @@ jobs:
125110 curl -v http://localhost:8081/index.php/login
126111
127112 - name : Cypress run
128- uses : cypress-io/github-action@v6
113+ uses : cypress-io/github-action@0f330ebf0d60f87608ed72f1d6232e5644aa3171 # v7.1.1
129114 with :
130115 build : npm run dev
131116 record : false
@@ -141,15 +126,15 @@ jobs:
141126 SPLIT_INDEX : ${{ strategy.job-index }}
142127
143128 - name : Upload test failure screenshots
144- uses : actions/upload-artifact@v5
129+ uses : actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6.0.0
145130 if : failure()
146131 with :
147132 name : Upload screenshots
148133 path : apps/${{ env.APP_NAME }}/cypress/screenshots/
149134 retention-days : 5
150135
151136 - name : Upload nextcloud logs
152- uses : actions/upload-artifact@v5
137+ uses : actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6.0.0
153138 if : failure()
154139 with :
155140 name : Upload nextcloud log
0 commit comments