.gitlab-ci.yml
image: auchida/freebsd:latest
# Instructions for creating your own test runner:
# https://github.com/msimerson/Mail-Toaster-6/wiki/Develop-CI-Testing/
# these get run before/after EVERY script / stage
# before_script:
# after_script
stages:
- host_setup
- dns
- db
- mailstore
- mta
- webmail
- extras
- test
host_setup:
stage: host_setup
timeout: 10 minutes
script:
- sh test/get_jail_ip.sh
- echo "export TOASTER_HOSTNAME=`hostname`" >> mail-toaster.conf
- echo "export TOASTER_MAIL_DOMAIN=`hostname`" >> mail-toaster.conf
- pkg update && pkg install -y ca_root_nss
- sh provision/host.sh
- sh provision/base.sh
tags:
- freebsd
- ssh
dns:
stage: dns
timeout: 5 minutes
script:
- sh provision/dns.sh
# enabling caching doubles gitlab runner builds (~30 to 60m)
# - sh provision/bsd_cache.sh
tags:
- freebsd
- ssh
db:
stage: db
timeout: 5 minutes
script:
- sh provision/mysql.sh
- sh provision/redis.sh
# - sh provision/geoip.sh
tags:
- freebsd
- ssh
mailstore:
stage: mailstore
timeout: 15 minutes
script:
- sh provision/vpopmail.sh
- sh provision/dovecot.sh
tags:
- freebsd
- ssh
mta:
stage: mta
timeout: 15 minutes
script:
- sh provision/clamav.sh
- sh provision/dcc.sh
- sh provision/rspamd.sh
- sh provision/haraka.sh
tags:
- freebsd
- ssh
webmail:
stage: webmail
timeout: 15 minutes
script:
- sh provision/haproxy.sh
- sh provision/webmail.sh
- sh provision/roundcube.sh
- sh provision/snappymail.sh
# - sh provision/squirrelmail.sh
tags:
- freebsd
- ssh
extras:
stage: extras
timeout: 10 minutes
script:
- sh provision/spamassassin.sh
# - sh provision/elasticsearch.sh
tags:
- freebsd
- ssh
allow_failure: true
test:
stage: test
timeout: 5 minutes
script:
- sh provision/mailtest.sh
tags:
- freebsd
- ssh
allow_failure: true