Skip to content

Commit

Permalink
Merge pull request #723 from owncloud/update-drone-star-20210904
Browse files Browse the repository at this point in the history
Update .drone.star and drop PHP 7.2
  • Loading branch information
dpakach authored Sep 6, 2021
2 parents 8ff64fc + 5cb68da commit 4caab98
Show file tree
Hide file tree
Showing 5 changed files with 114 additions and 42 deletions.
143 changes: 109 additions & 34 deletions .drone.star
Original file line number Diff line number Diff line change
Expand Up @@ -15,15 +15,7 @@ config = {
"master",
],
"appInstallCommand": "make npm",
"codestyle": {
"ordinary": {
"phpVersions": [
"7.2",
"7.3",
"7.4",
],
},
},
"codestyle": True,
"phpstan": True,
"phan": True,
"javascript": {
Expand All @@ -39,12 +31,11 @@ config = {
"phpunit": {
"allDatabases": {
"phpVersions": [
"7.2",
"7.3",
],
},
"reducedDatabases": {
"phpVersions": [
"7.3",
"7.4",
],
"databases": [
Expand All @@ -57,13 +48,12 @@ config = {
"phpintegration": {
"allDatabases": {
"phpVersions": [
"7.2",
"7.3",
],
"coverage": False,
},
"reducedDatabases": {
"phpVersions": [
"7.3",
"7.4",
],
"databases": [
Expand Down Expand Up @@ -111,7 +101,7 @@ def main(ctx):
return before + coverageTests + afterCoverageTests + nonCoverageTests + stages + after

def beforePipelines(ctx):
return codestyle(ctx) + jscodestyle(ctx) + checkForRecentBuilds(ctx) + phpstan(ctx) + phan(ctx) + checkStarlark()
return codestyle(ctx) + jscodestyle(ctx) + checkForRecentBuilds(ctx) + phpstan(ctx) + phan(ctx) + phplint(ctx) + checkStarlark()

def coveragePipelines(ctx):
# All unit test pipelines that have coverage or other test analysis reported
Expand Down Expand Up @@ -158,7 +148,7 @@ def codestyle(ctx):
return pipelines

default = {
"phpVersions": ["7.2"],
"phpVersions": ["7.3"],
}

if "defaults" in config:
Expand Down Expand Up @@ -323,9 +313,10 @@ def phpstan(ctx):
return pipelines

default = {
"phpVersions": ["7.2"],
"phpVersions": ["7.3"],
"logLevel": "2",
"extraApps": {},
"enableApp": True,
}

if "defaults" in config:
Expand Down Expand Up @@ -365,7 +356,7 @@ def phpstan(ctx):
"steps": installCore(ctx, "daily-master-qa", "sqlite", False) +
installApp(ctx, phpVersion) +
installExtraApps(phpVersion, params["extraApps"]) +
setupServerAndApp(ctx, phpVersion, params["logLevel"]) +
setupServerAndApp(ctx, phpVersion, params["logLevel"], False, params["enableApp"]) +
[
{
"name": "phpstan",
Expand Down Expand Up @@ -399,7 +390,7 @@ def phan(ctx):
return pipelines

default = {
"phpVersions": ["7.2", "7.3", "7.4"],
"phpVersions": ["7.3", "7.4"],
}

if "defaults" in config:
Expand Down Expand Up @@ -470,7 +461,7 @@ def build(ctx):
return pipelines

default = {
"phpVersions": ["7.2"],
"phpVersions": ["7.3"],
"commands": [
"make dist",
],
Expand Down Expand Up @@ -567,6 +558,7 @@ def javascript(ctx, withCoverage):
"extraCommandsBeforeTestRun": [],
"extraTeardown": [],
"skip": False,
"enableApp": True,
}

if "defaults" in config:
Expand Down Expand Up @@ -608,12 +600,12 @@ def javascript(ctx, withCoverage):
},
"steps": installCore(ctx, "daily-master-qa", "sqlite", False) +
installApp(ctx, "7.4") +
setupServerAndApp(ctx, "7.4", params["logLevel"]) +
setupServerAndApp(ctx, "7.4", params["logLevel"], False, params["enableApp"]) +
params["extraSetup"] +
[
{
"name": "js-tests",
"image": "owncloudci/php:8.0",
"image": "owncloudci/nodejs:%s" % getNodeJsVersion(),
"pull": "always",
"environment": params["extraEnvironment"],
"commands": params["extraCommandsBeforeTestRun"] + [
Expand Down Expand Up @@ -668,7 +660,7 @@ def phpTests(ctx, testType, withCoverage):
errorFound = False

default = {
"phpVersions": ["7.2", "7.3", "7.4"],
"phpVersions": ["7.3", "7.4"],
"databases": [
"sqlite",
"mariadb:10.2",
Expand All @@ -688,6 +680,7 @@ def phpTests(ctx, testType, withCoverage):
"extraApps": {},
"extraTeardown": [],
"skip": False,
"enableApp": True,
}

if "defaults" in config:
Expand Down Expand Up @@ -780,7 +773,7 @@ def phpTests(ctx, testType, withCoverage):
"steps": installCore(ctx, "daily-master-qa", db, False) +
installApp(ctx, phpVersion) +
installExtraApps(phpVersion, params["extraApps"]) +
setupServerAndApp(ctx, phpVersion, params["logLevel"]) +
setupServerAndApp(ctx, phpVersion, params["logLevel"], False, params["enableApp"]) +
setupCeph(params["cephS3"]) +
setupScality(params["scalityS3"]) +
params["extraSetup"] +
Expand Down Expand Up @@ -864,7 +857,7 @@ def acceptance(ctx):
default = {
"servers": ["daily-master-qa", "latest"],
"browsers": ["chrome"],
"phpVersions": ["7.2"],
"phpVersions": ["7.4"],
"databases": ["mariadb:10.2"],
"esVersions": ["none"],
"federatedServerNeeded": False,
Expand Down Expand Up @@ -894,6 +887,7 @@ def acceptance(ctx):
"debugSuites": [],
"skipExceptParts": [],
"earlyFail": True,
"enableApp": True,
}

if "defaults" in config:
Expand Down Expand Up @@ -944,7 +938,7 @@ def acceptance(ctx):
params["extraSetup"] = [
{
"name": "configure-app",
"image": "owncloudci/php:7.2",
"image": "owncloudci/php:7.4",
"pull": "always",
"commands": [
"cd /var/www/owncloud/server/apps/files_primary_s3",
Expand Down Expand Up @@ -1110,7 +1104,7 @@ def acceptance(ctx):
(installFederated(testConfig["server"], testConfig["phpVersion"], testConfig["logLevel"], testConfig["database"], federationDbSuffix) + owncloudLog("federated") if testConfig["federatedServerNeeded"] else []) +
installApp(ctx, testConfig["phpVersion"]) +
installExtraApps(testConfig["phpVersion"], testConfig["extraApps"]) +
setupServerAndApp(ctx, testConfig["phpVersion"], testConfig["logLevel"], testConfig["federatedServerNeeded"]) +
setupServerAndApp(ctx, testConfig["phpVersion"], testConfig["logLevel"], testConfig["federatedServerNeeded"], params["enableApp"]) +
owncloudLog("server") +
setupCeph(testConfig["cephS3"]) +
setupScality(testConfig["scalityS3"]) +
Expand Down Expand Up @@ -1407,10 +1401,11 @@ def elasticSearchService(esVersion):

return [{
"name": "elasticsearch",
"image": "webhippie/elasticsearch:%s" % esVersion,
"image": "owncloudops/elasticsearch:%s" % esVersion,
"pull": "always",
"environment": {
"ELASTICSEARCH_PLUGINS_INSTALL": "ingest-attachment",
"ELASTICSEARCH_ROOT_LOG_LEVEL": "warn",
"ELASTICSEARCH_BOOTSTRAP_MEMORY_LOCK": "false",
},
}]

Expand Down Expand Up @@ -1523,6 +1518,13 @@ def getDbDatabase(db):

return "owncloud"

def getNodeJsVersion():
if "nodeJsVersion" not in config:
# We use nodejs 14 as the default
return "14"
else:
return config["nodeJsVersion"]

def cacheRestore():
return [{
"name": "cache-restore",
Expand Down Expand Up @@ -1639,7 +1641,23 @@ def installApp(ctx, phpVersion):
if "appInstallCommand" not in config:
return []

return [{
if "buildJsDeps" not in config:
installJsDeps = False
else:
installJsDeps = config["buildJsDeps"]

return [
{
"name": "install-app-js-%s" % config["app"],
"image": "owncloudci/nodejs:%s" % getNodeJsVersion(),
"pull": "always",
"commands": [
"cd /var/www/owncloud/server/apps/%s" % config["app"],
"make install-js-deps",
"make build-dev",
],
},
] if installJsDeps else [] + [{
"name": "install-app-%s" % ctx.repo.name,
"image": "owncloudci/php:%s" % phpVersion,
"pull": "always",
Expand All @@ -1649,15 +1667,15 @@ def installApp(ctx, phpVersion):
],
}]

def setupServerAndApp(ctx, phpVersion, logLevel, federatedServerNeeded = False):
def setupServerAndApp(ctx, phpVersion, logLevel, federatedServerNeeded = False, enableApp = True):
return [{
"name": "setup-server-%s" % ctx.repo.name,
"image": "owncloudci/php:%s" % phpVersion,
"pull": "always",
"commands": [
"cd %s" % dir["server"],
"php occ a:l",
"php occ a:e %s" % ctx.repo.name,
"php occ a:e %s" % ctx.repo.name if enableApp else "",
"php occ a:e testing",
"php occ a:l",
"php occ config:system:set trusted_domains 1 --value=server",
Expand All @@ -1684,7 +1702,7 @@ def setupCeph(serviceParams):

return [{
"name": "setup-ceph",
"image": "owncloudci/php:7.2",
"image": "owncloudci/php:7.4",
"pull": "always",
"commands": setupCommands + ([
"./apps/files_primary_s3/tests/drone/create-bucket.sh",
Expand Down Expand Up @@ -1712,7 +1730,7 @@ def setupScality(serviceParams):

return [{
"name": "setup-scality",
"image": "owncloudci/php:7.2",
"image": "owncloudci/php:7.4",
"pull": "always",
"commands": setupCommands + ([
"php occ s3:create-bucket owncloud --accept-warning",
Expand All @@ -1727,7 +1745,7 @@ def setupElasticSearch(esVersion):

return [{
"name": "setup-es",
"image": "owncloudci/php:7.2",
"image": "owncloudci/php:7.4",
"pull": "always",
"commands": [
"cd %s" % dir["server"],
Expand Down Expand Up @@ -1966,3 +1984,60 @@ def checkStarlark():
],
},
}]

def phplint(ctx):
pipelines = []

if "phplint" not in config:
return pipelines

if type(config["phplint"]) == "bool":
if not config["phplint"]:
return pipelines

result = {
"kind": "pipeline",
"type": "docker",
"name": "lint-test",
"workspace": {
"base": "/var/www/owncloud",
"path": "server/apps/%s" % ctx.repo.name,
},
"steps": installNPM() +
lintTest(),
"depends_on": [],
"trigger": {
"ref": [
"refs/heads/master",
"refs/tags/**",
"refs/pull/**",
],
},
}

for branch in config["branches"]:
result["trigger"]["ref"].append("refs/heads/%s" % branch)

pipelines.append(result)

return pipelines

def installNPM():
return [{
"name": "npm-install",
"image": "owncloudci/nodejs:%s" % getNodeJsVersion(),
"pull": "always",
"commands": [
"yarn install --frozen-lockfile",
],
}]

def lintTest():
return [{
"name": "lint-test",
"image": "owncloudci/php:7.4",
"pull": "always",
"commands": [
"make test-lint",
],
}]
3 changes: 0 additions & 3 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -40,9 +40,6 @@
# },

COMPOSER_BIN := $(shell command -v composer 2> /dev/null)
ifndef COMPOSER_BIN
$(error composer is not available on your system, please install composer)
endif

app_name=$(notdir $(CURDIR))
project_directory=$(CURDIR)/../$(app_name)
Expand Down
2 changes: 1 addition & 1 deletion composer.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
"name": "owncloud/contacts",
"config" : {
"platform": {
"php": "7.1"
"php": "7.3"
}
},
"require": {
Expand Down
6 changes: 3 additions & 3 deletions composer.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion sonar-project.properties
Original file line number Diff line number Diff line change
Expand Up @@ -29,5 +29,5 @@ sonar.pullrequest.branch=${env.SONAR_PULL_REQUEST_BRANCH}
sonar.pullrequest.key=${env.SONAR_PULL_REQUEST_KEY}

# Properties specific to language plugins:
sonar.php.coverage.reportPaths=results/clover-javascript-tests.xml,results/clover-phpintegration-php7.2-mariadb10.2.xml,results/clover-phpintegration-php7.2-mysql8.0.xml,results/clover-phpintegration-php7.2-postgres9.4.xml,results/clover-phpunit-php7.2-oracle.xml,results/clover-phpintegration-php7.2-sqlite.xml,results/clover-phpunit-php7.2-mariadb10.2.xml,results/clover-phpunit-php7.2-mysql5.5.xml,results/clover-phpunit-php7.2-mysql5.7.xml,results/clover-phpunit-php7.2-postgres9.4.xml,results/clover-phpunit-php7.2-oracle.xml,results/clover-phpunit-php7.2-sqlite.xml
sonar.php.coverage.reportPaths=results/clover-javascript-tests.xml,results/clover-phpintegration-php7.3-mariadb10.2.xml,results/clover-phpintegration-php7.3-mysql8.0.xml,results/clover-phpintegration-php7.3-postgres9.4.xml,results/clover-phpunit-php7.3-oracle.xml,results/clover-phpintegration-php7.3-sqlite.xml,results/clover-phpunit-php7.3-mariadb10.2.xml,results/clover-phpunit-php7.3-mysql5.5.xml,results/clover-phpunit-php7.3-mysql5.7.xml,results/clover-phpunit-php7.3-postgres9.4.xml,results/clover-phpunit-php7.3-oracle.xml,results/clover-phpunit-php7.3-sqlite.xml
sonar.javascript.lcov.reportPaths=results/lcov.info

0 comments on commit 4caab98

Please sign in to comment.