1
0
mirror of https://github.com/SAP/jenkins-library.git synced 2025-01-06 04:13:55 +02:00
Commit Graph

3258 Commits

Author SHA1 Message Date
Oliver Nocon
f1cfca2e76
Add step for GitHub branch protection check (#2010)
* add step for GitHub branch protection check

* add command to piper command

* remove unnecessary parameter

* Update resources/metadata/githubbranchprotection.yaml

* add groovy part

* update generation & go mod tidy

* update groovy tests

* fix bug with go-github version

Co-authored-by: Sven Merk <33895725+nevskrem@users.noreply.github.com>
2020-09-11 15:28:43 +02:00
Kevin Hudemann
37b4af110c
Rename frontendUnitTests to additionalUnitTests stage (#2011) 2020-09-11 14:50:09 +02:00
Stephan Aßmus
eb09f2d902
Extend sonarExecuteScan parameters (#1982)
* Add projectKey and coverageExclusions params
* Also add binary, coverage exclusions and jacoco related options to sonar execution.

Co-authored-by: Daniel Kurzynski <daniel.kurzynski@sap.com>
Co-authored-by: Kevin Hudemann <kevin.hudemann@sap.com>
2020-09-11 13:39:17 +02:00
Florian Wilhelm
7b08b8b3cd
Link stages in cloud sdk docs (#2006) 2020-09-11 11:47:03 +02:00
Florian Wilhelm
88a784217a
Remove duplicated docs of steps that are documented in piper (#2007) 2020-09-10 17:16:15 +02:00
Stephan Aßmus
30fc9b24ec
Add mavenExecuteIntegration to documented steps (#2003) 2020-09-10 16:18:23 +02:00
Oliver Feldmann
41abec6b10
Fix generator typo (#2008)
* Fix typo in generator code

* Fix typo in generated code
2020-09-10 14:37:46 +02:00
Sven Merk
51158d2457
checkmarxExecuteScan: Fix access to projects (#1997) 2020-09-10 11:14:58 +02:00
Christopher Fenner
666923e651
docs: change secret docs (#1984)
* change secret docs

* link to credentials in resource reference

* cleanup

* correct type

* add configuration scope

* correct test case
2020-09-10 10:33:59 +02:00
Stephan Aßmus
dc9a6d7b2b
SonarQube: Remove check for non-productive branch (#1998) 2020-09-10 10:09:17 +02:00
Kevin Hudemann
712d18ce0e
Update Cloud SDK docs on linting and static code checks (#1996) 2020-09-09 13:34:08 +02:00
Stephan Aßmus
c95f2d10ca
Check env.BRANCH_NAME before using (#1992) 2020-09-09 12:38:38 +02:00
Stephan Aßmus
e6534d0400
Run SonarQube scan in Compliance stage (#1974) 2020-09-08 17:28:29 +02:00
Florian Wilhelm
ef2a1c0b18
Add Cloud sdk config docs (#1987) 2020-09-08 13:53:06 +02:00
Kevin Hudemann
8d549a1f6c
Add npmExecuteLint and mavenExecuteStaticCodeChecks to build stage (#1985)
This change adds the support for executing maven static code checks and
linting using the mavenExecuteStaticCodeChecks and npmExecuteLint steps
as part of the piperPipelineStageBuild.

Co-authored-by: Florian Wilhelm <florian.wilhelm02@sap.com>
2020-09-07 16:57:01 +02:00
Kevin Hudemann
79b522a48b
Update Cloud SDK Pipeline docs on linting (#1986)
This change updates the documentation provided for the linting
capabilities of the Cloud SDK Pipeline.
2020-09-07 16:15:07 +02:00
Florian Wilhelm
9d6517ff7a
Add command for commandline completion scripts (#1983)
Small change to allow better interactive cli usage of piper. This makes use of cobra's feature as described here https://github.com/spf13/cobra/blob/master/shell_completions.md
2020-09-07 15:22:01 +02:00
Florian Wilhelm
ae0074b5d3
Infer build tool (#1980)
Add a function for inferring the used build tool based on project layout.
This feature must be explicitly enabled for backwards compatibility reasons.
2020-09-04 14:45:09 +02:00
Florian Wilhelm
ed1da5e048
Automated go dependency update (#1979)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2020-09-04 13:42:34 +02:00
Kevin Hudemann
3caf401b79
Add npmExecuteScripts to piperPipelineStageAdditionalUnitTests (#1978)
This change adds the support for running frontend unit tests using the
npmExecuteScripts step in the piperPipelineStageAdditionalUnitTests.
2020-09-03 13:12:27 +02:00
Kevin Hudemann
e210c5c40a
Extend testsPublishResults step to support publishing of HTML reports (#1976)
This change extends the testsPublishResults step to support publishing
of HTML reports using the HTML publisher plugin. This change is a
preperation for the migration of frontend unit tests as already existing
in the SAP Cloud SDK Pipeline to the
piperPipelineStageAdditionalUnitTests.

Co-authored-by: Stephan Aßmus <stephan.assmus@sap.com>
2020-09-02 17:04:59 +02:00
Christopher Fenner
f7d881d602
fix(protecode): correct project naming (#1975)
* fix project naming

* add test case for getTarName

* correct tar filename generation

* handle empty version
2020-09-02 15:00:55 +02:00
Christopher Fenner
b59bac7892
fix(protecode): respect failOnSevereVulnerabilities parameter (#1969)
* fix redundant type issues

* cleanup

* extract report function for protecode package

* use speaking status constant for API results

* remove unconsidered return value

* correct switch statement

* handle severe vulnerabilities

* Apply suggestions from code review

Co-authored-by: Stephan Aßmus <stephan.assmus@sap.com>

* correct test name

* return errors from WriteReport function

* expose ReportData struct

* set Error Category

* refactor constant visibility

* change type name

* describe type

* change type name

* fail after report generation

* do not fail on report write errors

* add error as return value

* fix typo

* use require statements

* assert major vulnerabilities

Co-authored-by: Stephan Aßmus <stephan.assmus@sap.com>
2020-09-02 10:41:12 +02:00
Dominik Lendle
e84c417555
Hotfix for empty checkstyle XML (#1967)
* minor changes

* minor changes

* minor changes

* minor changes

* minor changes

* minor changes

* Changed yaml aliases

* Adapted naming conventions

* Removed error code at the end

* Adapted configuration

* Minor changes

* Minor changes

* Minor changes

* Removed spaces

* Removed docker-related config from groovy file

* Minor changes

* Minor changes

* Removed container config

* Corrected testing function name

* Deleted unnecessary parts

* Changed service deletion message

* Changed service deletion message

* Logging out before throwing error service deletion step fails

* Minor changes

* Minor changes

* Minor changes

* Delete .DS_Store

* Delete .DS_Store

* Delete .DS_Store

* Delete .DS_Store

* Minor changes

* Minor changes

* Minor changes

* Added newline at end of file

* Added newline at end of file

* Changes for Pull request optimization

* added documentaion

* Adapted documentation

* Adapted documentation

* Adapted documentation

* Adapted documentation

* Adapted documentation

* Added CFDeleteServiceKeys

* Added ServiceKey deletion tests

* added cfServiceKeys flag explanation to documentation

* removed trailing spaces from documentation

* resolving conflicts

* Changed deletion message an variable naming

* Changed tests

* Changed tests

* Changed tests

* Changed tests

* Changed CloudFoundryDeleteServiceOptions to options

* Changed CloudFoundryDeleteServiceOptions to options

* Minor changes

* Minor changes

* Changed variable naming

* Changed error handling

* Changed error handling and logging

* Changed documentation

* Simplified code

* Fixed CodeClimate issues

* Changed from returning err to nil where no errur returned needed

* Add cloudFoundryCreateServiceKey Go Step

* Changed Groovy File

* Changed aliases

* Removed unneccessary parts

* Minor changes

* Minor changes

* Adapted documentation

* Adapted tests

* Adapted Groovy File

* Changed Groovy file

* Minor changes

* Minor changes

* Minor changes

* Minor changes

* Minor changes

* Minor changes

* Minor changes

* Minor changes

* Minor changes

* Minor changes

* Minor changes

* Minor changes

* Minor changes

* Minor changes

* Minor changes

* Minor changes

* Minor changes

* Minor changes

* Minor changes

* Minor changes

* Removed Groovy Tests for cfCreateServiceKey

* Minor changes

* Added ATC Check YAML

* Added ATC Check generated files

* Added test class

* Added abapEnvironmentRunATCCheck

* Minor changes

* Minor changes

* Changed groovy

* Minor changes

* Changed groovy

* Changed groovy

* Minor changes

* Adapted Groovy imports

* Adapted Groovy imports

* Adapted Groovy imports

* Adapted Groovy

* Getting ATC results

* Changed error message

* changed groovy

* removed trailing spaces

* Added login check

* Minor changes

* Added step to whitelistScriptReference

* Added ATC error message handling

* Added groovy file

* Added step to groovy tests

* corrected metadata file

* Debugging

* Debugging

* Added yaml config parameter for ATC run

* Adapted file location of ATC run config to jenkins specific location

* Implementing universal pipeline logic for finding yaml config regardless of pipeline

* Changed error handling for reading config yaml file

* Changed atcrunconfig alias

* minor changes

* Minor changes

* Minor changes

* Changed back to dynamic file reading

* Minor changes

* filepath changes

* Removing CF Login

* Minor changes

* Minor changes

* Minor changes

* Minor changes

* Minor changes

* Minor changes

* Removed whitespaces

* Added CF functions unit tests

* Added invalid parameter handling

* Removed package and SC flag

* Minor changes

* Changed tests

* Changed tests

* Changed tests

* Minor changes

* Changed tests

* removed unnecessary logout

* Added documentation

* Changed docu

* Changed docu

* Changed docu

* Changed docu

* Changed docu

* Changed docu

* Changed docu

* Changed docu

* Changed docu

* Changed docu

* Removed trailing spaces

* Added newline at end of file

* code climate fixes

* code climate fixes

* code climate fixes

* Minor changes

* Minor changes

* Minor changes

* Changed tests

* Test changes

* Splitted Cloud Foundry functions into two classes

* Removed two steps from whtielistScriptReference

* removed atcrunConfig alias

* issue fixes

* Changed docu

* Changed docu

* Changed docu

* Removed trailing spaced from docu

* Changed docu

* Go generator run

* Issue fixes

* Remove unnecessary imports

Co-authored-by: Christopher Fenner <26137398+CCFenner@users.noreply.github.com>

* Update whitelistScript

Co-authored-by: Christopher Fenner <26137398+CCFenner@users.noreply.github.com>

* Adding piperutils for writing xml file

* Persisting ATC Results with piperutils

* Set failonMissingReports to true

* Refactoring for CodeClimate

* Changed result file name

* Changed credentials aliases

* changing secret name

* Removing trailing spaces

* Added secret name and alias to docu

* Result displaying changes and checkvariant extension added

* Added docu

* Fix trailing spaces

* Refactoring

* Check for prefix html added

* Persist Results even with empty checkstlye xml

* Tests added for empty checkstyle xml

Co-authored-by: Oliver Nocon <33484802+OliverNocon@users.noreply.github.com>
Co-authored-by: Christopher Fenner <26137398+CCFenner@users.noreply.github.com>
2020-09-01 00:33:46 +02:00
Christopher Fenner
36b7eaf197
refactor: correct yaml format (#1965) 2020-08-31 16:10:28 +02:00
Thorsten Duda
e006190322
small docu change for mtar path (#1964)
Co-authored-by: Marcus Holl <marcus.holl@sap.com>
2020-08-31 09:06:18 +02:00
Stephan Aßmus
a44fa4ccda
Make protecodeExecuteScan tests run in temp dir (#1966)
Fixes left-over files in cmd/
2020-08-31 08:45:00 +02:00
lndrschlz
df33392cf3
chore(karma): added proxy env for karma sidecar (#1903)
* added proxy env for karma sidecar

* Update karma.yaml

Co-authored-by: Christopher Fenner <26137398+CCFenner@users.noreply.github.com>
2020-08-28 18:46:31 +02:00
Stephan Aßmus
7811def7c6
Add technical stage names behind feature toggle (#1933) 2020-08-28 16:11:35 +02:00
Christopher Fenner
8007e4af51
docs: link credentialIDs to parameter (#1961) 2020-08-28 15:38:15 +02:00
Kevin Hudemann
ce48491a36
Fix stageDefaults fortify and mavenStaticCodeChecks (#1962) 2020-08-28 10:51:55 +02:00
Kevin Hudemann
a035690f3d
Update Cloud SDK stage defaults (#1959)
This change updates the Cloud SDK stage defaults, makes the piperPipelineStageMavenStaticCodeChecks use the step condition and adds the onlyRunInProductiveBranch configuration option to npmExecuteEndToEndTests step.
2020-08-27 16:17:06 +02:00
Kevin Hudemann
139e34cd37
Extend conditions for step and stage activation (#1955)
Co-authored-by: Stephan Aßmus <stephan.assmus@sap.com>
2020-08-27 15:49:09 +02:00
rosemarieB
c6e409dfd9
New step: abapEnvironmentAssemblePackages (#1884)
* adding my steps

* messy step

* Update abapEnvironmentAssembly.go

* clean up

* change yaml

* corrections

* Update cloudFoundryDeploy.go

* update

* delete simulation step

* remove simulate

* Update PiperGoUtils.groovy

* Update PiperGoUtils.groovy

* Update CommonStepsTest.groovy

* add docu

* Update abapEnvironmentAssembly.md

* changes due to PR

* Update .gitignore

* b

* CV list

* Update abapEnvironmentAssembly.go

* testing with simulation

* Update abapEnvironmentAssembly.go

* remove simulation

* renaming

* Update mkdocs.yml

* moving service key to yaml and fixing code climate

* Update abapEnvironmentAssemblePackages.go

* Update abapEnvironmentAssemblePackages.go

* Update abapEnvironmentAssemblePackages.go

* Update abapEnvironmentAssemblePackages.go

* change input

* Update abapEnvironmentAssemblePackages.go

* change json tag

* fixed error handling

* documentation

* Update abapEnvironmentAssemblePackages.md

* Update abapEnvironmentAssemblePackages.md

* fixing code climate issues

* fixing code climate issues

* Update abapEnvironmentAssemblePackages.yaml

* fixing code climate issues

* Update abapEnvironmentAssemblePackages.yaml

* adding unittests

* adding unittests and improved logging

* yaml -> json

* change scope of cfServiceKeyName

* correct indentation

* Update CommonStepsTest.groovy

* maintain correct step order

Co-authored-by: Daniel Mieg <56156797+DanielMieg@users.noreply.github.com>
Co-authored-by: Christopher Fenner <26137398+CCFenner@users.noreply.github.com>
2020-08-27 07:54:03 +02:00
Daniel Mieg
cf4c7fd893
Correction in abaputils (#1958)
* Fix

* Adapt errors

* Consider unexpected JSON

* defer closing the response body

* Add comments to explain function

* Improve assert statements semantically

* Change comment format due to CodeClimate

* Extract sub function
2020-08-26 16:45:09 +02:00
Stephan Aßmus
8169d56ef7
Groovy: Load step defaults also from stages section in defaults (#1943)
Co-authored-by: Christopher Fenner <26137398+CCFenner@users.noreply.github.com>
2020-08-26 15:32:58 +02:00
Dominik Lendle
c2b4ed819b
Atc check extension and more user-friendly displays of results (#1951) 2020-08-26 14:09:00 +02:00
Daniel Mieg
13e5a943b2
Add groovy file and documentation for cloneGitRepo step (#1954)
* Add groovy file and documentation

* Add quotes to docu

* Fix request
2020-08-26 09:52:50 +02:00
Stephan Aßmus
46284d8f34
Add optional wrapper for cloudFoundryDeploy go-implementation (#1952)
Co-authored-by: Kevin Hudemann <kevin.hudemann@sap.com>
2020-08-24 18:10:45 +02:00
Sacha Droste
f6f85342b7
fix(helm): Remove double deployment of helm charts (#1947)
* Remove double deployment of helm charts

* Adapt unit test

Co-authored-by: Christopher Fenner <26137398+CCFenner@users.noreply.github.com>
2020-08-24 16:05:05 +02:00
veiththomas
48620c3f49
fix(sonar): add default trust store password to SONAR_SCANNER_OPTS (#1941)
* add trustStorePassword to SONAR_SCANNER_OPTS

-Djavax.net.ssl.trustStorePassword=changeit has to be provided to the SONAR_SCANNER_OPTS otherwise we get a 

ERROR: SonarQube server [https://sonar.wdf.sap.corp] can not be reached on our new jenkins server
Caused by: javax.net.ssl.SSLException: Unexpected error: java.security.InvalidAlgorithmParameterException: the trustAnchors parameter must be non-empty

we tried to inject via "options" variable of the sonarExecuteScan task, but seems it is not recognized as it is overwritten by the SONAR_SCANNER_OPTS defined in this file.

* adapt tests

* Update sonarExecuteScan.go

* Update sonarExecuteScan_test.go

* Update sonarExecuteScan.go

* Update sonarExecuteScan_test.go

Co-authored-by: Christopher Fenner <26137398+CCFenner@users.noreply.github.com>
2020-08-24 14:39:45 +02:00
Dominik Lendle
a0bed00fad
ATC remove wait time (#1953) 2020-08-24 11:01:16 +02:00
rosemarieB
67feb87b80
Update abaputils.go (#1949)
* Update abaputils.go

* changed to versionYAML

Co-authored-by: Daniel Mieg <56156797+DanielMieg@users.noreply.github.com>
2020-08-21 16:02:46 +02:00
Daniel Mieg
04b8a5cbd7
Add golang step for abapEnvironmentCloneGitRepo (#1921)
* Add yaml

* Initial files

* Add inital functions

* Create Test file

* Initial trigger clone function

* Add command

* Adapt manageGitRepositoryUtils

* Enable Repositories yaml

* Add handleHttpError Tests

* Adapt CodeClimate Feedback

* Add tests for error messages

* Adapt error messages and handling

* Adapt gitignore
2020-08-21 14:49:48 +02:00
Oliver Nocon
115025ce4b
versioning: fix panic when using go.mod (#1938)
```
panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x0 pc=0x9830a6]
goroutine 1 [running]:
github.com/SAP/jenkins-library/pkg/versioning.searchDescriptor(0xc00067c060, 0x2, 0x2, 0x0, 0x0, 0xc0006549c0, 0xc0006413a0, 0x982ce0)
/home/runner/work/jenkins-library/jenkins-library/pkg/versioning/versioning.go:156 +0x76
github.com/SAP/jenkins-library/pkg/versioning.(*GoMod).GetVersion(0xc0006549c0, 0x6, 0x18089f1, 0x6, 0xc000664a80)
/home/runner/work/jenkins-library/jenkins-library/pkg/versioning/gomodfile.go:52 +0x18a
...
```
2020-08-20 12:39:41 +02:00
Oliver Nocon
a2ce194301
fix: whitesource & checkmarx (#1932)
* whitesourceExecuteScan: add missing parameter mappings

* add checkmarx stash

* allow overriding dependency resolution setting

* allow overriding dependency resolution setting

* remove unnecessary annotation which leads to error.
2020-08-20 12:24:36 +02:00
Oliver Nocon
b18bcee533
artifactPrepareVersion: improve error categorization (#1936)
* artifactPrepareVersion: improve error categorization

* Update getConfig.go

Co-authored-by: Stephan Aßmus <stephan.assmus@sap.com>
2020-08-19 20:20:00 +02:00
Stephan Aßmus
07b5142417
Fix cloudFoundryCreateService parameter scopes (#1935) 2020-08-19 19:20:52 +02:00
Dominik Lendle
25c599b03b
Implementing cfCreateService in Golang (#1649)
* Adapted documentation

* Adapted documentation

* Adapted documentation

* Adapted documentation

* Adapted documentation

* Added CFDeleteServiceKeys

* Added ServiceKey deletion tests

* added cfServiceKeys flag explanation to documentation

* removed trailing spaces from documentation

* resolving conflicts

* Changed deletion message an variable naming

* Changed tests

* Changed tests

* Changed tests

* Changed tests

* Changed CloudFoundryDeleteServiceOptions to options

* Changed CloudFoundryDeleteServiceOptions to options

* Minor changes

* Minor changes

* Changed variable naming

* Changed error handling

* Changed error handling and logging

* Changed documentation

* Simplified code

* Fixed CodeClimate issues

* Changed from returning err to nil where no errur returned needed

* Add cloudFoundryCreateServiceKey Go Step

* Changed Groovy File

* Changed aliases

* Removed unneccessary parts

* Minor changes

* Minor changes

* Adapted documentation

* Adapted tests

* Adapted Groovy File

* Changed Groovy file

* Minor changes

* Minor changes

* Minor changes

* Minor changes

* Minor changes

* Minor changes

* Minor changes

* Minor changes

* Minor changes

* Minor changes

* Minor changes

* Minor changes

* Minor changes

* Minor changes

* Minor changes

* Minor changes

* Minor changes

* Minor changes

* Minor changes

* Minor changes

* Removed Groovy Tests for cfCreateServiceKey

* Minor changes

* Added ATC Check YAML

* Added ATC Check generated files

* Added test class

* Added abapEnvironmentRunATCCheck

* Minor changes

* Minor changes

* Changed groovy

* Minor changes

* Changed groovy

* Changed groovy

* Minor changes

* Adapted Groovy imports

* Adapted Groovy imports

* Adapted Groovy imports

* Adapted Groovy

* Getting ATC results

* Changed error message

* changed groovy

* removed trailing spaces

* Added login check

* Minor changes

* Added step to whitelistScriptReference

* Added ATC error message handling

* Added groovy file

* Added step to groovy tests

* corrected metadata file

* Debugging

* Debugging

* Added yaml config parameter for ATC run

* Adapted file location of ATC run config to jenkins specific location

* Implementing universal pipeline logic for finding yaml config regardless of pipeline

* Changed error handling for reading config yaml file

* Changed atcrunconfig alias

* minor changes

* Minor changes

* Minor changes

* Changed back to dynamic file reading

* Minor changes

* filepath changes

* Removing CF Login

* Minor changes

* Minor changes

* Minor changes

* Minor changes

* Minor changes

* Minor changes

* Removed whitespaces

* Added CF functions unit tests

* Added invalid parameter handling

* Removed package and SC flag

* Minor changes

* Changed tests

* Changed tests

* Changed tests

* Minor changes

* Changed tests

* removed unnecessary logout

* Added documentation

* Changed docu

* Changed docu

* Changed docu

* Changed docu

* Changed docu

* Changed docu

* Changed docu

* Changed docu

* Changed docu

* Changed docu

* Removed trailing spaces

* Added newline at end of file

* code climate fixes

* code climate fixes

* code climate fixes

* Minor changes

* Minor changes

* Minor changes

* Changed tests

* Test changes

* Splitted Cloud Foundry functions into two classes

* Removed two steps from whtielistScriptReference

* removed atcrunConfig alias

* issue fixes

* Changed docu

* Changed docu

* Changed docu

* Removed trailing spaced from docu

* Changed docu

* Go generator run

* Issue fixes

* Remove unnecessary imports

Co-authored-by: Christopher Fenner <26137398+CCFenner@users.noreply.github.com>

* Update whitelistScript

Co-authored-by: Christopher Fenner <26137398+CCFenner@users.noreply.github.com>

* Adding piperutils for writing xml file

* Persisting ATC Results with piperutils

* Set failonMissingReports to true

* Refactoring for CodeClimate

* Changed result file name

* Changed credentials aliases

* changing secret name

* Removing trailing spaces

* Added secret name and alias to docu

* PR commit

* Go generator

* Code Climate fixes

* Code Climate fixes

* Code Climate fixes

* Removed existing groovy tests

* Added cfCreateService to fieldRelatedWhiteList

* Remarks

* added file checking

* tests adapted

* Changed to execRunner

* Removed workingDir definition

* Removed workingDir definition

* Removed workingDir definition

* Added default

* Added aliases

* Changing to CFUtils Exec Runner

* Change defaults

* Removed trailing spaces

* Refactoring and test changes

* Added manifest file default & re-arranged defer func

* TestFiles creation added

* Changed alias values

* Corrected defer logout err return

Co-authored-by: Oliver Nocon <33484802+OliverNocon@users.noreply.github.com>
Co-authored-by: Christopher Fenner <26137398+CCFenner@users.noreply.github.com>
Co-authored-by: Daniel Mieg <56156797+DanielMieg@users.noreply.github.com>
2020-08-19 10:17:27 +02:00
Daniel Mieg
dc9e04f7ee
Adapt documentation of ABAP Environment Pipeline (#1928)
Co-authored-by: Oliver Nocon <33484802+OliverNocon@users.noreply.github.com>
2020-08-18 10:38:14 +02:00