From 7fe0355fd6b1a32ca337c84be59323c7c6c46225 Mon Sep 17 00:00:00 2001 From: nabim777 Date: Tue, 20 Jan 2026 09:52:04 +0545 Subject: [PATCH 1/3] CI: fix env not being passed on URL Signed-off-by: nabim777 --- .github/scripts/notify-nc-and-apps-releases.sh | 6 +++--- .github/scripts/notify-to-element.sh | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/scripts/notify-nc-and-apps-releases.sh b/.github/scripts/notify-nc-and-apps-releases.sh index a11440c13..5d95f21e6 100755 --- a/.github/scripts/notify-nc-and-apps-releases.sh +++ b/.github/scripts/notify-nc-and-apps-releases.sh @@ -74,16 +74,16 @@ is_latest_release_tag() { if [[ $version_count -gt 1 ]]; then log_info "Multiple new releases of \"$APP_NAME\" found: $version_count versions." # Join multiple releases into a single line, separated by comma + space - message='🔔 Alert! Multiple new releases of \"'$APP_NAME'\": ' + message="🔔 Alert! Multiple new releases of '$APP_NAME': " mapfile -t tags <<< "$nextcloud_latest_release_tag" # Convert newlines into array elements for tag in "${tags[@]}"; do - message+="$tag, " + message+="$tag, " done message=${message%, } # Remove trailing comma and space else - message='🔔 Alert! New release of \"'$APP_NAME'\": '$nextcloud_latest_release_tag'' + message="🔔 Alert! New release of '$APP_NAME': $nextcloud_latest_release_tag" fi log_info "Found new release tag(s): $nextcloud_latest_release_tag" diff --git a/.github/scripts/notify-to-element.sh b/.github/scripts/notify-to-element.sh index ba15048a0..25e8cc650 100755 --- a/.github/scripts/notify-to-element.sh +++ b/.github/scripts/notify-to-element.sh @@ -48,7 +48,7 @@ send_message_to_room_response=$(curl -s -XPOST "$ELEMENT_CHAT_URL/_matrix/client "msgtype": "m.text", "body": "", "format": "org.matrix.custom.html", - "formatted_body": "NC-Nightly-'$BRANCH_NAME'

Status: '$workflow_status'" + "formatted_body": "NC-Nightly-'$BRANCH_NAME'

Status: '$workflow_status'" } ' ) From 8052e23b1bc9565163229a08d1263a8625e62880 Mon Sep 17 00:00:00 2001 From: Sawjan Gurung Date: Tue, 20 Jan 2026 14:48:50 +0545 Subject: [PATCH 2/3] Merge pull request #942 from nextcloud/ci/bump-default-php ci: bump default php and apps version Signed-off-by: nabim777 --- .github/scripts/generate-matrix.sh | 4 +- .github/workflows/shared_workflow.yml | 101 +++++++++++++++----------- 2 files changed, 58 insertions(+), 47 deletions(-) diff --git a/.github/scripts/generate-matrix.sh b/.github/scripts/generate-matrix.sh index faa092c77..a0a714e70 100755 --- a/.github/scripts/generate-matrix.sh +++ b/.github/scripts/generate-matrix.sh @@ -57,7 +57,7 @@ function parsePHPVersion() { } # Default values -defaultPhpVersion="8.2" +defaultPhpVersion="8.3" if [ -n "$DEFAULT_PHP_VERSION" ]; then checkPHPVersionFormat "$DEFAULT_PHP_VERSION" defaultPhpVersion=$(parsePHPVersion "$DEFAULT_PHP_VERSION") @@ -155,8 +155,6 @@ for ncVersion in $nextcloudVersions; do phpVersion="8.1" elif [ "$ncVersion" = "stable30" ]; then phpVersion="8.2" - elif [ "$ncVersion" = "master" ]; then - phpVersion="8.3" else phpVersion="$defaultPhpVersion" fi diff --git a/.github/workflows/shared_workflow.yml b/.github/workflows/shared_workflow.yml index 09432a2cb..7973d98fd 100644 --- a/.github/workflows/shared_workflow.yml +++ b/.github/workflows/shared_workflow.yml @@ -56,7 +56,7 @@ jobs: make jsunit - name: JS Code Coverage Summary Report - if: ${{ github.event_name == 'pull_request' && matrix.nextcloudVersion == 'stable32' && matrix.phpVersion == '8.2' }} + if: ${{ github.event_name == 'pull_request' }} uses: romeovs/lcov-reporter-action@v0.3.1 with: github-token: ${{ secrets.GITHUB_TOKEN }} @@ -65,11 +65,11 @@ jobs: title: "JS Code Coverage" - name: JS coverage check - if: ${{ github.event_name == 'pull_request' && matrix.nextcloudVersion == 'stable32' && matrix.phpVersion == '8.2' }} + if: ${{ github.event_name == 'pull_request' }} uses: VeryGoodOpenSource/very_good_coverage@v2 with: min_coverage: '59' - path: './server/apps/integration_openproject/coverage/jest/lcov.info' + path: './coverage/jest/lcov.info' create-matrix: runs-on: ubuntu-22.04 @@ -84,7 +84,7 @@ jobs: env: NEXTCLOUD_VERSIONS: ${{ inputs.nextcloud_versions }} PHP_VERSIONS: ${{ inputs.php_versions }} - DEFAULT_PHP_VERSION: "8.2" + DEFAULT_PHP_VERSION: "8.3" DEFAULT_DATABASE: "mysql" EXTRA_DATABASES: "pgsql" run: | @@ -112,11 +112,9 @@ jobs: SQL: ${{ matrix.database }} SERVER_BRANCH: ${{ matrix.nextcloudVersion }} NEXTCLOUD_AUTOINSTALL: "Yes" - NEXTCLOUD_AUTOINSTALL_APPS: "viewer activity groupfolders integration_openproject" NEXTCLOUD_TRUSTED_DOMAINS: nextcloud VIRTUAL_HOST: "nextcloud" WITH_REDIS: "YES" - NEXTCLOUD_AUTOINSTALL_APPS_WAIT_TIME: 120 ports: - 80:80 options: --name=nextcloud @@ -148,44 +146,43 @@ jobs: path: integration_openproject ref: ${{ inputs.branch }} - - name: Checkout activity app + - name: Checkout server (for phpunit and psalm) + uses: actions/checkout@v6 + with: + submodules: true + repository: nextcloud/server + path: integration_openproject/server + ref: ${{ matrix.nextcloudVersion }} + + # activity app cannot be installed using occ command + - name: Checkout (activity) uses: actions/checkout@v6 with: repository: nextcloud/activity - path: activity ref: ${{ matrix.nextcloudVersion }} + path: activity - - name: Checkout groupfolders app + - name: Checkout (groupfolders) uses: actions/checkout@v6 + if: ${{ matrix.nextcloudVersion == 'master' }} with: repository: nextcloud/groupfolders path: groupfolders - ref: ${{ matrix.nextcloudVersion }} - - name: Checkout user_oidc app + - name: Checkout (user_oidc) uses: actions/checkout@v6 + if: ${{ matrix.nextcloudVersion == 'master' }} with: repository: nextcloud/user_oidc - ref: v7.2.0 - fetch-tags: true path: user_oidc - - name: Checkout oidc app + - name: Checkout (oidc) uses: actions/checkout@v6 + if: ${{ matrix.nextcloudVersion == 'master' }} with: repository: h2CK/oidc - ref: 1.6.0 - fetch-tags: true path: oidc - - name: Checkout server (for phpunit and psalm) - uses: actions/checkout@v6 - with: - submodules: true - repository: nextcloud/server - path: integration_openproject/server - ref: ${{ matrix.nextcloudVersion }} - - name: Setup PHP ${{ format('{0}.{1}', matrix.phpVersionMajor,matrix.phpVersionMinor) }} uses: shivammathur/setup-php@v2 with: @@ -205,31 +202,39 @@ jobs: key: ${{ runner.os }}-composer-${{ hashFiles('./composer.lock') }} restore-keys: ${{ runner.os }}-composer- - - name: Setup server and apps - run: | - # integration_openproject app - composer install --no-progress --prefer-dist --optimize-autoloader - # user_oidc app - composer install --no-interaction --prefer-dist --optimize-autoloader --working-dir=../user_oidc - cd server && ./occ maintenance:install --admin-pass=admin + - name: Install PHP dependencies + run: composer install --no-progress --prefer-dist --optimize-autoloader + + - name: Prepare Nextcloud server (for phpunit and psalm) + run: server/occ maintenance:install --admin-pass=admin - name: PHP code analysis and linting run: | make psalm make phpcs || ( echo 'Please run `make phpcs-fix` to format your code' && exit 1 ) - - name: Enable apps + - name: Copy dependent apps + run: | + composer install --no-dev --no-interaction --prefer-dist --optimize-autoloader --working-dir=../activity + cp -r ../activity server/apps + if [ "${{matrix.nextcloudVersion}}" == "master" ]; then + composer install --no-dev --no-interaction --prefer-dist --optimize-autoloader --working-dir=../user_oidc + composer install --no-dev --no-interaction --prefer-dist --optimize-autoloader --working-dir=../oidc + composer install --no-dev --no-interaction --prefer-dist --optimize-autoloader --working-dir=../groupfolders + cp -r ../oidc ../user_oidc ../groupfolders server/apps + fi + + - name: Enable apps (for phpunit) run: | mkdir -p server/apps/integration_openproject cp -r `ls -A | grep -v 'server'` server/apps/integration_openproject/ - cp -r ../groupfolders ../activity server/apps cd server - ./occ a:e groupfolders integration_openproject activity - if [ "${{matrix.nextcloudVersion}}" != "stable27" ]; then - cp -r ../../user_oidc ../../oidc apps - ./occ a:e user_oidc - # enable app even if it is not compatible with the current server version - ./occ a:e -f oidc + if [ "${{matrix.nextcloudVersion}}" == "master" ]; then + # enable app even if it is not compatible with the master branch + ./occ a:e -f activity oidc user_oidc groupfolders integration_openproject + else + ./occ a:e activity oidc user_oidc groupfolders integration_openproject + cp -r apps/oidc apps/user_oidc apps/groupfolders ${{ github.workspace }} fi - name: PHP Unit Tests @@ -283,12 +288,16 @@ jobs: run: | # Disable share rate limit protection docker exec nextcloud /bin/bash -c 'occ config:system:set ratelimit.protection.enabled --value false --type bool' + # Enable apps + if [ "${{matrix.nextcloudVersion}}" == "master" ]; then + # enable app even if it is not compatible with the master branch + docker exec nextcloud /bin/bash -c 'occ a:e -f activity oidc user_oidc groupfolders integration_openproject' + else + docker exec nextcloud /bin/bash -c 'occ a:e activity oidc user_oidc groupfolders integration_openproject' + fi - - name: API Tests - env: - NEXTCLOUD_BASE_URL: http://localhost + - name: Wait for Nextcloud server to be ready run: | - composer install --no-progress --prefer-dist --optimize-autoloader if ! timeout 5m bash -c ' until curl -s -f http://localhost/status.php | grep '"'"'"installed":true'"'"'; do echo "[INFO] Waiting for server to be ready..." @@ -298,7 +307,11 @@ jobs: echo "[ERROR] Server not ready within 5 minutes." exit 1 fi - make api-test + + - name: API Tests + env: + NEXTCLOUD_BASE_URL: http://localhost + run: make api-test notify-nightly-report: needs: From 76144df43fcce9ef20eeffceb564defc35443627 Mon Sep 17 00:00:00 2001 From: nabim777 Date: Tue, 20 Jan 2026 16:54:33 +0545 Subject: [PATCH 3/3] ci: change branch to release-2.10 Signed-off-by: nabim777 --- .github/workflows/ci-workflow.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci-workflow.yml b/.github/workflows/ci-workflow.yml index 700ddfbcc..d6891533a 100644 --- a/.github/workflows/ci-workflow.yml +++ b/.github/workflows/ci-workflow.yml @@ -27,4 +27,4 @@ jobs: uses: ./.github/workflows/shared_workflow.yml secrets: inherit with: - branch: master + branch: release/2.10