Skip to content

Commit 94c6ad6

Browse files
DeepDiver1975jvillafanezphil-davis
authored
feat: php 8.3 (#807)
* fix: remove usage of deprecated ldap functions * feat: use php 8.2 * chore: run on core branch `feat/php8` * test: use owncloudci/core:php82 * fix: phpstan * fix: paged search * fix: phpstan * fix: class IntegrationTestAccessGroupsMatchFilter * fix: IntegrationTestBatchApplyUserAttributes * ci: php8.3 * ci: fix code style * fix: oc11 only * ci: use core master branch for php8 * fix: php warnings in log * ci: tail server log in ldap-integration-tests * fix: usage of ldap_connect() * fix: ldap_escape() parameter types * fix: php style in config.php * ci: debug IntegrationTestPagingMultipleBase * fix: problems with the wizard * fix: counting with paginated results * chore(ci): handle federated server version in tests * chore(ci): select correct PHP version for federated server * fix: ensure ldap resource before trying to set options * chore(ci): configure-app-on-federated-server with PHP 7.4 --------- Co-authored-by: Juan Pablo Villafáñez <jvillafanez@solidgeargroup.com> Co-authored-by: Phillip Davis <phil@jankaritech.com>
1 parent ceb2edc commit 94c6ad6

21 files changed

+1221
-149
lines changed

.drone.star

Lines changed: 28 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,8 @@ MINIO_MC = "minio/mc:RELEASE.2020-12-18T10-53-53Z"
44
OC_CI_ALPINE = "owncloudci/alpine:latest"
55
OC_CI_BAZEL_BUILDIFIER = "owncloudci/bazel-buildifier"
66
OC_CI_CEPH = "owncloudci/ceph:tag-build-master-jewel-ubuntu-16.04"
7-
OC_CI_CORE = "owncloudci/core"
7+
OC_CI_CORE = "owncloudci/core:php83"
8+
OC_CI_CORE_OLD = "owncloudci/core:nodejs14"
89
OC_CI_DRONE_SKIP_PIPELINE = "owncloudci/drone-skip-pipeline"
910
OC_CI_NODEJS = "owncloudci/nodejs:%s"
1011
OC_CI_ORACLE_XE = "owncloudci/oracle-xe:latest"
@@ -21,7 +22,8 @@ SELENIUM_STANDALONE_CHROME_DEBUG = "selenium/standalone-chrome-debug:3.141.59-ox
2122
SELENIUM_STANDALONE_FIREFOX_DEBUG = "selenium/standalone-firefox-debug:3.8.1"
2223
SONARSOURCE_SONAR_SCANNER_CLI = "sonarsource/sonar-scanner-cli"
2324

24-
DEFAULT_PHP_VERSION = "7.4"
25+
DEFAULT_PHP_VERSION = "8.3"
26+
PREVIOUS_PHP_VERSION = "7.4"
2527
DEFAULT_NODEJS_VERSION = "14"
2628

2729
# minio mc environment variables
@@ -266,7 +268,7 @@ config = {
266268
},
267269
{
268270
"name": "configure-app-on-federated-server",
269-
"image": OC_CI_PHP % DEFAULT_PHP_VERSION,
271+
"image": OC_CI_PHP % PREVIOUS_PHP_VERSION,
270272
"commands": [
271273
"cd %s" % dir["federated"],
272274
"php occ market:install user_ldap",
@@ -317,7 +319,7 @@ config = {
317319
},
318320
{
319321
"name": "configure-app-on-federated-server",
320-
"image": OC_CI_PHP % DEFAULT_PHP_VERSION,
322+
"image": OC_CI_PHP % PREVIOUS_PHP_VERSION,
321323
"commands": [
322324
"cd %s" % dir["federated"],
323325
"php occ market:install user_ldap",
@@ -414,7 +416,7 @@ config = {
414416
},
415417
{
416418
"name": "configure-app-on-federated-server",
417-
"image": OC_CI_PHP % DEFAULT_PHP_VERSION,
419+
"image": OC_CI_PHP % PREVIOUS_PHP_VERSION,
418420
"commands": [
419421
"cd %s" % dir["federated"],
420422
"php occ market:install user_ldap",
@@ -466,7 +468,7 @@ config = {
466468
},
467469
{
468470
"name": "configure-app-on-federated-server",
469-
"image": OC_CI_PHP % DEFAULT_PHP_VERSION,
471+
"image": OC_CI_PHP % PREVIOUS_PHP_VERSION,
470472
"commands": [
471473
"cd %s" % dir["federated"],
472474
"php occ market:install user_ldap",
@@ -518,7 +520,7 @@ config = {
518520
},
519521
{
520522
"name": "configure-app-on-federated-server",
521-
"image": OC_CI_PHP % DEFAULT_PHP_VERSION,
523+
"image": OC_CI_PHP % PREVIOUS_PHP_VERSION,
522524
"commands": [
523525
"cd %s" % dir["federated"],
524526
"php occ market:install user_ldap",
@@ -628,7 +630,7 @@ config = {
628630
},
629631
{
630632
"name": "configure-app-on-federated-server",
631-
"image": OC_CI_PHP % DEFAULT_PHP_VERSION,
633+
"image": OC_CI_PHP % PREVIOUS_PHP_VERSION,
632634
"commands": [
633635
"cd %s" % dir["federated"],
634636
"php occ market:install user_ldap",
@@ -1681,6 +1683,11 @@ def acceptance(ctx):
16811683
environment["S3_TYPE"] = "scality"
16821684

16831685
federationDbSuffix = "-federated"
1686+
federatedPhpVersion = PREVIOUS_PHP_VERSION
1687+
if (testConfig["federatedServerVersion"] == "latest"):
1688+
federatedPhpVersion = PREVIOUS_PHP_VERSION
1689+
if (testConfig["federatedServerVersion"] == "git"):
1690+
federatedPhpVersion = DEFAULT_PHP_VERSION
16841691

16851692
if len(testConfig["federatedServerVersion"]) == 0:
16861693
testConfig["federatedServerVersion"] = testConfig["server"]
@@ -1694,9 +1701,10 @@ def acceptance(ctx):
16941701
"path": "testrunner/apps/%s" % ctx.repo.name,
16951702
},
16961703
"steps": skipIfUnchanged(ctx, "acceptance-tests") +
1704+
waitForServer(testConfig["federatedServerNeeded"]) +
16971705
installCore(ctx, testConfig["server"], testConfig["database"], testConfig["useBundledApp"]) +
16981706
installTestrunner(ctx, DEFAULT_PHP_VERSION, testConfig["useBundledApp"]) +
1699-
(installFederated(testConfig["federatedServerVersion"], phpVersionForDocker, testConfig["logLevel"], testConfig["database"], federationDbSuffix) + owncloudLog("federated") if testConfig["federatedServerNeeded"] else []) +
1707+
(installFederated(testConfig["federatedServerVersion"], federatedPhpVersion, testConfig["logLevel"], testConfig["database"], federationDbSuffix) + owncloudLog("federated") if testConfig["federatedServerNeeded"] else []) +
17001708
installAppPhp(ctx, phpVersionForDocker) +
17011709
installAppJavaScript(ctx) +
17021710
installExtraApps(phpVersionForDocker, testConfig["extraApps"]) +
@@ -1706,7 +1714,6 @@ def acceptance(ctx):
17061714
setupScality(testConfig["scalityS3"]) +
17071715
setupElasticSearch(testConfig["esVersion"]) +
17081716
testConfig["extraSetup"] +
1709-
waitForServer(testConfig["federatedServerNeeded"]) +
17101717
waitForEmailService(testConfig["emailNeeded"]) +
17111718
waitForSamba(testConfig["extraServices"]) +
17121719
fixPermissions(phpVersionForDocker, testConfig["federatedServerNeeded"], params["selUserNeeded"]) +
@@ -1737,7 +1744,7 @@ def acceptance(ctx):
17371744
testConfig["extraServices"] +
17381745
owncloudService(testConfig["server"], phpVersionForDocker, "server", dir["server"], testConfig["ssl"], testConfig["xForwardedFor"]) +
17391746
((
1740-
owncloudService(testConfig["federatedServerVersion"], phpVersionForDocker, "federated", dir["federated"], testConfig["ssl"], testConfig["xForwardedFor"]) +
1747+
owncloudService(testConfig["federatedServerVersion"], federatedPhpVersion, "federated", dir["federated"], testConfig["ssl"], testConfig["xForwardedFor"]) +
17411748
databaseServiceForFederation(testConfig["database"], federationDbSuffix)
17421749
) if testConfig["federatedServerNeeded"] else []),
17431750
"depends_on": [],
@@ -2184,7 +2191,7 @@ def installCore(ctx, version, db, useBundledApp):
21842191
"name": "install-core",
21852192
"image": OC_CI_CORE,
21862193
"settings": {
2187-
"version": version,
2194+
"git_reference": "master",
21882195
"core_path": dir["server"],
21892196
"db_type": dbType,
21902197
"db_name": database,
@@ -2440,6 +2447,12 @@ def installFederated(federatedServerVersion, phpVersion, logLevel, db, dbSuffix
24402447
password = getDbPassword(db)
24412448
database = getDbDatabase(db) + dbSuffix
24422449

2450+
image = OC_CI_CORE
2451+
if (federatedServerVersion == "10.9.1"):
2452+
image = OC_CI_CORE_OLD
2453+
if (federatedServerVersion == "latest"):
2454+
image = OC_CI_CORE_OLD
2455+
24432456
if host == "mariadb":
24442457
dbType = "mysql"
24452458
elif host == "postgres":
@@ -2449,7 +2462,7 @@ def installFederated(federatedServerVersion, phpVersion, logLevel, db, dbSuffix
24492462
return [
24502463
{
24512464
"name": "install-federated",
2452-
"image": OC_CI_CORE,
2465+
"image": image,
24532466
"settings": {
24542467
"version": federatedServerVersion,
24552468
"core_path": dir["federated"],
@@ -2758,7 +2771,7 @@ def ldapIntegration(ctx):
27582771

27592772
default = {
27602773
"servers": ["daily-master-qa"],
2761-
"phpVersions": ["7.4"],
2774+
"phpVersions": [DEFAULT_PHP_VERSION],
27622775
"databases": ["mysql:8.0"],
27632776
"ldapNeeded": True,
27642777
"logLevel": "2",
@@ -2805,6 +2818,7 @@ def ldapIntegration(ctx):
28052818
"steps": installCore(ctx, server, db, False) +
28062819
installAppPhp(ctx, phpVersion) +
28072820
setupServerAndApp(ctx, phpVersion, params["logLevel"]) +
2821+
owncloudLog("server") +
28082822
[
28092823
({
28102824
"name": "ldap-integration-tests",

.github/workflows/main.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ concurrency:
1919

2020
env:
2121
APP_NAME: user_ldap
22-
PHP_VERSIONS: '["7.4"]'
22+
PHP_VERSIONS: '["8.3"]'
2323

2424
jobs:
2525
get-vars:

appinfo/info.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,8 +25,8 @@ More information is available in the [LDAP User and Group Backend documentation]
2525
<screenshot>https://raw.githubusercontent.com/owncloud/screenshots/master/user_ldap/ownCloud-app-ldap-user-management.jpg</screenshot>
2626
<dependencies>
2727
<lib>ldap</lib>
28-
<owncloud min-version="10.15" max-version="11" />
29-
<php min-version="7.4" />
28+
<owncloud min-version="11" max-version="11" />
29+
<php min-version="8.3" />
3030
</dependencies>
3131

3232
<namespace>User_LDAP</namespace>

composer.json

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,19 @@
11
{
22
"config": {
33
"platform": {
4-
"php": "7.3"
4+
"php": "8.3"
55
},
66
"allow-plugins": {
77
"bamarni/composer-bin-plugin": true
88
}
99
},
1010
"require-dev": {
1111
"bamarni/composer-bin-plugin": "^1.8",
12-
"laminas/laminas-ldap": "^2.13"
12+
"laminas/laminas-ldap": "^2.13",
13+
"roave/security-advisories": "dev-latest"
1314
},
1415
"require": {
15-
"php": ">=7.3",
16+
"php": ">=8.3",
1617
"ext-ldap": "*"
1718
},
1819
"extra": {

0 commit comments

Comments
 (0)