82 lines
2.3 KiB
YAML
82 lines
2.3 KiB
YAML
language: go
|
|
|
|
required: sudo
|
|
|
|
go:
|
|
- '1.13'
|
|
|
|
services:
|
|
- docker
|
|
- ntp
|
|
- xvfb
|
|
|
|
addons:
|
|
chrome: stable
|
|
apt:
|
|
sources:
|
|
- google-chrome
|
|
packages:
|
|
- libgif-dev
|
|
- google-chrome-stable
|
|
|
|
install: # Install ChromeDriver (64bits; replace 64 with 32 for 32bits).
|
|
- wget -N https://chromedriver.storage.googleapis.com/78.0.3904.70/chromedriver_linux64.zip -P ~/
|
|
- unzip ~/chromedriver_linux64.zip -d ~/
|
|
- rm ~/chromedriver_linux64.zip
|
|
- sudo mv -f ~/chromedriver /usr/local/share/
|
|
- sudo chmod +x /usr/local/share/chromedriver
|
|
- sudo ln -s /usr/local/share/chromedriver /usr/bin/chromedriver
|
|
|
|
before_script:
|
|
- export PATH=./cmd/authelia-scripts/:/tmp:$PATH
|
|
- curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.11/install.sh | bash
|
|
- nvm install v11 && nvm use v11 && npm i
|
|
- source bootstrap.sh
|
|
|
|
jobs:
|
|
include:
|
|
- stage: test
|
|
script:
|
|
- authelia-scripts --log-level debug ci
|
|
- &build-images
|
|
stage: build images
|
|
env:
|
|
- ARCH=amd64
|
|
install: skip
|
|
script:
|
|
- while sleep 9m; do echo '===== Prevent build from terminating ====='; done &
|
|
- authelia-scripts docker build --arch=$ARCH
|
|
- kill %1
|
|
after_success:
|
|
- authelia-scripts docker push-image --arch=$ARCH
|
|
- if [[ $TRAVIS_TAG ]]; then docker create --name authelia-binary clems4ever/authelia:$TRAVIS_TAG-$ARCH && docker cp authelia-binary:/usr/app/authelia ./authelia-linux-$ARCH && docker cp authelia-binary:/usr/app/public_html ./ && tar -czf authelia-linux-$ARCH.tar.gz authelia-linux-$ARCH public_html; fi
|
|
before_deploy:
|
|
- echo Deploying Authelia $TRAVIS_TAG-$ARCH to GitHub Releases
|
|
deploy:
|
|
provider: releases
|
|
api_key: '$GITHUB_API_KEY'
|
|
file_glob: true
|
|
file: 'authelia-linux-$ARCH.tar.gz'
|
|
skip_cleanup: true
|
|
on:
|
|
tags: true
|
|
- <<: *build-images
|
|
env:
|
|
- ARCH=arm32v7
|
|
- <<: *build-images
|
|
env:
|
|
- ARCH=arm64v8
|
|
- stage: deploy manifests
|
|
env:
|
|
- DOCKER_CLI_EXPERIMENTAL=enabled
|
|
install: skip
|
|
script:
|
|
- authelia-scripts docker push-manifest
|
|
|
|
notifications:
|
|
email:
|
|
recipients:
|
|
- clement.michaud34@gmail.com
|
|
on_success: change
|
|
on_failure: always
|