29
0
mirror of https://github.com/joomla/joomla-cms.git synced 2024-06-30 17:13:41 +00:00
cms/.drone.yml
2021-06-27 14:46:32 +02:00

730 lines
14 KiB
YAML

---
kind: pipeline
name: Codequality
platform:
os: linux
arch: amd64
steps:
- name: composer
image: joomlaprojects/docker-images:php7.4
commands:
- php -v
- git config --global url."git://".insteadOf https://
- git config --global url."ssh://".insteadOf https://
- composer install
- composer require phpmd/phpmd
volumes:
- name: composer-cache
path: /tmp/composer-cache
- name: phpcs
image: joomlaprojects/docker-images:php7.2
commands:
- php -v
- libraries/vendor/bin/phpcs --report=full --encoding=utf-8 --extensions=php -p --standard=build/phpcs/Joomla .
- name: javascript
image: joomlaprojects/docker-images:systemtests
commands:
- echo $(date)
- export DISPLAY=:0
- Xvfb -screen 0 1024x768x24 -ac +extension GLX +render -noreset > /dev/null 2>&1 &
- sleep 3
- fluxbox > /dev/null 2>&1 &
- cd tests/javascript
- npm install
- cd ../..
- tests/javascript/node_modules/karma/bin/karma start karma.conf.js --single-run
- echo $(date)
volumes:
- name: composer-cache
host:
path: /tmp/composer-cache
---
kind: pipeline
name: PHP 5.3
platform:
os: linux
arch: amd64
steps:
- name: composer
image: joomlaprojects/docker-images:php5.3
commands:
- php -v
- composer install
volumes:
- name: composer-cache
path: /tmp/composer-cache
- name: prepare
image: joomlaprojects/docker-images:php5.3
commands:
- php -v
- sleep 20
- mysql --host=mysql --user=joomla_ut --password=joomla_ut --database=joomla_ut < "tests/unit/schema/mysql.sql"
- psql -h postgres -d joomla_ut -U joomla_ut -a -f "tests/unit/schema/postgresql.sql"
environment:
PGPASSWORD: joomla_ut
- name: PHPUnit
image: joomlaprojects/docker-images:php5.3
commands:
- libraries/vendor/bin/phpunit
services:
- name: mysql
image: mysql:5.7
environment:
MYSQL_DATABASE: joomla_ut
MYSQL_PASSWORD: joomla_ut
MYSQL_ROOT_PASSWORD: joomla_ut
MYSQL_USER: joomla_ut
- name: postgres
image: postgres:11-alpine
environment:
POSTGRES_DB: joomla_ut
POSTGRES_PASSWORD: joomla_ut
POSTGRES_USER: joomla_ut
ports:
- 5432
- name: memcached
image: memcached:alpine
- name: redis
image: redis:alpine
volumes:
- name: composer-cache
host:
path: /tmp/composer-cache
---
kind: pipeline
name: PHP 5.4
platform:
os: linux
arch: amd64
steps:
- name: composer
image: joomlaprojects/docker-images:php5.4
commands:
- php -v
- composer install
volumes:
- name: composer-cache
path: /tmp/composer-cache
- name: prepare
image: joomlaprojects/docker-images:php5.4
commands:
- php -v
- sleep 20
- mysql --host=mysql --user=joomla_ut --password=joomla_ut --database=joomla_ut < "tests/unit/schema/mysql.sql"
- psql -h postgres -d joomla_ut -U joomla_ut -a -f "tests/unit/schema/postgresql.sql"
environment:
PGPASSWORD: joomla_ut
- name: PHPUnit
image: joomlaprojects/docker-images:php5.4
commands:
- libraries/vendor/bin/phpunit
services:
- name: mysql
image: mysql:5.7
environment:
MYSQL_DATABASE: joomla_ut
MYSQL_PASSWORD: joomla_ut
MYSQL_ROOT_PASSWORD: joomla_ut
MYSQL_USER: joomla_ut
- name: postgres
image: postgres:11-alpine
environment:
POSTGRES_DB: joomla_ut
POSTGRES_PASSWORD: joomla_ut
POSTGRES_USER: joomla_ut
ports:
- 5432
- name: memcached
image: memcached:alpine
- name: redis
image: redis:alpine
volumes:
- name: composer-cache
host:
path: /tmp/composer-cache
---
kind: pipeline
name: PHP 5.5
platform:
os: linux
arch: amd64
steps:
- name: composer
image: joomlaprojects/docker-images:php5.5
commands:
- php -v
- composer install
volumes:
- name: composer-cache
path: /tmp/composer-cache
- name: prepare
image: joomlaprojects/docker-images:php5.5
commands:
- php -v
- sleep 20
- mysql --host=mysql --user=joomla_ut --password=joomla_ut --database=joomla_ut < "tests/unit/schema/mysql.sql"
- psql -h postgres -d joomla_ut -U joomla_ut -a -f "tests/unit/schema/postgresql.sql"
environment:
PGPASSWORD: joomla_ut
- name: PHPUnit
image: joomlaprojects/docker-images:php5.5
commands:
- libraries/vendor/bin/phpunit
services:
- name: mysql
image: mysql:5.7
environment:
MYSQL_DATABASE: joomla_ut
MYSQL_PASSWORD: joomla_ut
MYSQL_ROOT_PASSWORD: joomla_ut
MYSQL_USER: joomla_ut
- name: postgres
image: postgres:11-alpine
environment:
POSTGRES_DB: joomla_ut
POSTGRES_PASSWORD: joomla_ut
POSTGRES_USER: joomla_ut
ports:
- 5432
- name: memcached
image: memcached:alpine
- name: redis
image: redis:alpine
volumes:
- name: composer-cache
host:
path: /tmp/composer-cache
---
kind: pipeline
name: PHP 5.6
platform:
os: linux
arch: amd64
steps:
- name: composer
image: joomlaprojects/docker-images:php5.6
commands:
- php -v
- composer install
volumes:
- name: composer-cache
path: /tmp/composer-cache
- name: prepare
image: joomlaprojects/docker-images:php5.6
commands:
- php -v
- sleep 20
- mysql --host=mysql --user=joomla_ut --password=joomla_ut --database=joomla_ut < "tests/unit/schema/mysql.sql"
- psql -h postgres -d joomla_ut -U joomla_ut -a -f "tests/unit/schema/postgresql.sql"
environment:
PGPASSWORD: joomla_ut
- name: PHPUnit
image: joomlaprojects/docker-images:php5.6
commands:
- libraries/vendor/bin/phpunit
services:
- name: mysql
image: mysql:5.7
environment:
MYSQL_DATABASE: joomla_ut
MYSQL_PASSWORD: joomla_ut
MYSQL_ROOT_PASSWORD: joomla_ut
MYSQL_USER: joomla_ut
- name: postgres
image: postgres:11-alpine
environment:
POSTGRES_DB: joomla_ut
POSTGRES_PASSWORD: joomla_ut
POSTGRES_USER: joomla_ut
ports:
- 5432
- name: memcached
image: memcached:alpine
- name: redis
image: redis:alpine
volumes:
- name: composer-cache
host:
path: /tmp/composer-cache
---
kind: pipeline
name: PHP 7.0
platform:
os: linux
arch: amd64
steps:
- name: composer
image: joomlaprojects/docker-images:php7.0
commands:
- php -v
- composer install
volumes:
- name: composer-cache
path: /tmp/composer-cache
- name: prepare
image: joomlaprojects/docker-images:php7.0
commands:
- php -v
- sleep 20
- mysql --host=mysql --user=joomla_ut --password=joomla_ut --database=joomla_ut < "tests/unit/schema/mysql.sql"
- psql -h postgres -d joomla_ut -U joomla_ut -a -f "tests/unit/schema/postgresql.sql"
environment:
PGPASSWORD: joomla_ut
- name: PHPUnit
image: joomlaprojects/docker-images:php7.0
commands:
- libraries/vendor/bin/phpunit
services:
- name: mysql
image: mysql:5.7
environment:
MYSQL_DATABASE: joomla_ut
MYSQL_PASSWORD: joomla_ut
MYSQL_ROOT_PASSWORD: joomla_ut
MYSQL_USER: joomla_ut
- name: postgres
image: postgres:11-alpine
environment:
POSTGRES_DB: joomla_ut
POSTGRES_PASSWORD: joomla_ut
POSTGRES_USER: joomla_ut
ports:
- 5432
- name: memcached
image: memcached:alpine
- name: redis
image: redis:alpine
volumes:
- name: composer-cache
host:
path: /tmp/composer-cache
---
kind: pipeline
name: PHP 7.1
platform:
os: linux
arch: amd64
steps:
- name: composer
image: joomlaprojects/docker-images:php7.1
commands:
- php -v
- composer install
volumes:
- name: composer-cache
path: /tmp/composer-cache
- name: prepare
image: joomlaprojects/docker-images:php7.1
commands:
- php -v
- sleep 20
- mysql --host=mysql --user=joomla_ut --password=joomla_ut --database=joomla_ut < "tests/unit/schema/mysql.sql"
- psql -h postgres -d joomla_ut -U joomla_ut -a -f "tests/unit/schema/postgresql.sql"
environment:
PGPASSWORD: joomla_ut
- name: PHPUnit
image: joomlaprojects/docker-images:php7.1
commands:
- libraries/vendor/bin/phpunit
services:
- name: mysql
image: mysql:5.7
environment:
MYSQL_DATABASE: joomla_ut
MYSQL_PASSWORD: joomla_ut
MYSQL_ROOT_PASSWORD: joomla_ut
MYSQL_USER: joomla_ut
- name: postgres
image: postgres:11-alpine
environment:
POSTGRES_DB: joomla_ut
POSTGRES_PASSWORD: joomla_ut
POSTGRES_USER: joomla_ut
ports:
- 5432
- name: memcached
image: memcached:alpine
- name: redis
image: redis:alpine
volumes:
- name: composer-cache
host:
path: /tmp/composer-cache
---
kind: pipeline
name: PHP 7.2
platform:
os: linux
arch: amd64
steps:
- name: composer
image: joomlaprojects/docker-images:php7.2
commands:
- php -v
- composer install
volumes:
- name: composer-cache
path: /tmp/composer-cache
- name: prepare
image: joomlaprojects/docker-images:php7.2
commands:
- php -v
- sleep 20
- mysql --host=mysql --user=joomla_ut --password=joomla_ut --database=joomla_ut < "tests/unit/schema/mysql.sql"
- psql -h postgres -d joomla_ut -U joomla_ut -a -f "tests/unit/schema/postgresql.sql"
environment:
PGPASSWORD: joomla_ut
- name: PHPUnit
image: joomlaprojects/docker-images:php7.2
commands:
- libraries/vendor/bin/phpunit
services:
- name: mysql
image: mysql:5.7
environment:
MYSQL_DATABASE: joomla_ut
MYSQL_PASSWORD: joomla_ut
MYSQL_ROOT_PASSWORD: joomla_ut
MYSQL_USER: joomla_ut
- name: postgres
image: postgres:11-alpine
environment:
POSTGRES_DB: joomla_ut
POSTGRES_PASSWORD: joomla_ut
POSTGRES_USER: joomla_ut
ports:
- 5432
- name: memcached
image: memcached:alpine
- name: redis
image: redis:alpine
volumes:
- name: composer-cache
host:
path: /tmp/composer-cache
---
kind: pipeline
name: PHP 7.3
platform:
os: linux
arch: amd64
steps:
- name: composer
image: joomlaprojects/docker-images:php7.3
commands:
- php -v
- composer install
volumes:
- name: composer-cache
path: /tmp/composer-cache
- name: prepare
image: joomlaprojects/docker-images:php7.3
commands:
- php -v
- sleep 20
- mysql --host=mysql --user=joomla_ut --password=joomla_ut --database=joomla_ut < "tests/unit/schema/mysql.sql"
- psql -h postgres -d joomla_ut -U joomla_ut -a -f "tests/unit/schema/postgresql.sql"
environment:
PGPASSWORD: joomla_ut
- name: PHPUnit
image: joomlaprojects/docker-images:php7.3
commands:
- libraries/vendor/bin/phpunit
services:
- name: mysql
image: mysql:5.7
environment:
MYSQL_DATABASE: joomla_ut
MYSQL_PASSWORD: joomla_ut
MYSQL_ROOT_PASSWORD: joomla_ut
MYSQL_USER: joomla_ut
- name: postgres
image: postgres:11-alpine
environment:
POSTGRES_DB: joomla_ut
POSTGRES_PASSWORD: joomla_ut
POSTGRES_USER: joomla_ut
ports:
- 5432
- name: memcached
image: memcached:alpine
- name: redis
image: redis:alpine
volumes:
- name: composer-cache
host:
path: /tmp/composer-cache
---
kind: pipeline
name: PHP 7.4
platform:
os: linux
arch: amd64
steps:
- name: composer
image: joomlaprojects/docker-images:php7.4
commands:
- php -v
- composer install
volumes:
- name: composer-cache
path: /tmp/composer-cache
- name: prepare
image: joomlaprojects/docker-images:php7.4
commands:
- php -v
- sleep 20
- mysql --host=mysql --user=joomla_ut --password=joomla_ut --database=joomla_ut < "tests/unit/schema/mysql.sql"
- psql -h postgres -d joomla_ut -U joomla_ut -a -f "tests/unit/schema/postgresql.sql"
environment:
PGPASSWORD: joomla_ut
- name: PHPUnit
image: joomlaprojects/docker-images:php7.4
commands:
- libraries/vendor/bin/phpunit
services:
- name: mysql
image: mysql:5.7
environment:
MYSQL_DATABASE: joomla_ut
MYSQL_PASSWORD: joomla_ut
MYSQL_ROOT_PASSWORD: joomla_ut
MYSQL_USER: joomla_ut
- name: postgres
image: postgres:11-alpine
environment:
POSTGRES_DB: joomla_ut
POSTGRES_PASSWORD: joomla_ut
POSTGRES_USER: joomla_ut
ports:
- 5432
- name: memcached
image: memcached:alpine
- name: redis
image: redis:alpine
volumes:
- name: composer-cache
host:
path: /tmp/composer-cache
---
kind: pipeline
name: PHP 8.0
platform:
os: linux
arch: amd64
steps:
- name: composer
image: joomlaprojects/docker-images:php8.0
commands:
- php -v
- composer install
volumes:
- name: composer-cache
path: /tmp/composer-cache
- name: prepare
image: joomlaprojects/docker-images:php8.0
commands:
- php -v
- sleep 20
- mysql --host=mysql --user=joomla_ut --password=joomla_ut --database=joomla_ut < "tests/unit/schema/mysql.sql"
- psql -h postgres -d joomla_ut -U joomla_ut -a -f "tests/unit/schema/postgresql.sql"
environment:
PGPASSWORD: joomla_ut
- name: PHPUnit
image: joomlaprojects/docker-images:php8.0
commands:
- libraries/vendor/bin/phpunit
failure: ignore
services:
- name: mysql
image: mysql:5.7
environment:
MYSQL_DATABASE: joomla_ut
MYSQL_PASSWORD: joomla_ut
MYSQL_ROOT_PASSWORD: joomla_ut
MYSQL_USER: joomla_ut
- name: postgres
image: postgres:11-alpine
environment:
POSTGRES_DB: joomla_ut
POSTGRES_PASSWORD: joomla_ut
POSTGRES_USER: joomla_ut
ports:
- 5432
- name: memcached
image: memcached:alpine
- name: redis
image: redis:alpine
volumes:
- name: composer-cache
host:
path: /tmp/composer-cache
---
kind: pipeline
name: package
platform:
os: linux
arch: amd64
steps:
- name: packager
image: joomlaprojects/docker-images:packager
commands:
- if [ $DRONE_REPO_NAME != 'joomla-cms' ]; then echo "The packager only runs on the joomla/joomla-cms repo"; exit 0; fi
- /bin/drone_build.sh
environment:
DRONE_COMMIT: DRONE_COMMIT
DRONE_PULL_REQUEST: DRONE_PULL_REQUEST
FTP_DEST_DIR: /artifacts
FTP_HOSTNAME: ci.joomla.org
FTP_PASSWORD:
from_secret: ftppassword
FTP_PORT: 21
FTP_SECURE: true
FTP_USERNAME:
from_secret: ftpusername
FTP_VERIFY: false
GITHUB_TOKEN:
from_secret: github_token
HTTP_ROOT: https://ci.joomla.org/artifacts
---
kind: pipeline
name: Rips
platform:
os: linux
arch: amd64
steps:
- name: analysis310x
image: rips/rips-cli:3.2.2
commands:
- export RIPS_BASE_URI='https://api.rips.joomla.org'
- rips-cli rips:list --table=scans --parameter filter='{"__and":[{"__lessThan":{"percent":100}}]}'
- rips-cli rips:scan:start --progress --application=3 --threshold=0 --path=$(pwd) --remove-code --remove-upload --tag=$DRONE_REPO_NAMESPACE-$DRONE_BRANCH || { echo "Please contact the security team at security@joomla.org"; exit 1; }
environment:
RIPS_EMAIL:
from_secret: RIPS_EMAIL
RIPS_PASSWORD:
from_secret: RIPS_PASSWORD
when:
branch:
- 3.10-dev
repo:
- joomla/joomla-cms
- joomla/cms-security
---
kind: signature
hmac: 5692462a9c53cd5937db302a216ba95f3367ff58c2269565a215587198352276
...