bragi/.drone.yml
2020-07-12 17:21:04 +02:00

160 lines
4.4 KiB
YAML

kind: pipeline
type: docker
name: deployement
steps:
- name: build-web
image: node
commands:
- (cd web && npm install && npm run build)
- name: push-translation
image: python:3
environment:
TRADUORA_W_CLIENT:
from_secret: TRADUORA_W_CLIENT
TRADUORA_W_SECRET:
from_secret: TRADUORA_W_SECRET
commands:
- pip3 install requests
- (cd lang && ./sync_translation.py --client $TRADUORA_W_CLIENT --secret $TRADUORA_W_SECRET --push)
when:
branch:
- master
event:
- push
- name: translate-html
image: python:3
commands:
- pip3 install jinja2
- (cd templates/ && ./translate.py)
- name: deploy-testing
image: debian
commands:
- apt-get -qq update && apt-get -qq install git > /dev/null
- sed -i 's/target_version = git/target_version = testing/' configuration.default.ini
- version=$(git rev-parse HEAD)
- echo "current git commit is $version"
- echo $version > /mnt/botamusique/testing-version
- sed -i "s/version = 'git'/version = '$version'/" mumbleBot.py
- rm -rf .git*
- rm -rf web
- mkdir /tmp/botamusique
- cp -r . /tmp/botamusique/
- tar -czf /mnt/botamusique/sources-testing.tar.gz -C /tmp botamusique
volumes:
- name: repo
path: /mnt/botamusique/
when:
branch:
- master
event:
- push
- name: docker-testing
image: plugins/docker
settings:
repo: azlux/botamusique
username:
from_secret: docker_username
password:
from_secret: docker_password
tags: testing
when:
branch:
- master
event:
- push
- name: deploy-stable
image: debian
environment:
TRADUORA_W_CLIENT:
from_secret: TRADUORA_W_CLIENT
TRADUORA_W_SECRET:
from_secret: TRADUORA_W_SECRET
commands:
- apt-get -qq update && apt-get -qq install jq curl git pandoc python3-requests > /dev/null
- (cd lang && ./sync_translation.py --client $TRADUORA_W_CLIENT --secret $TRADUORA_W_SECRET --push)
- sed -i 's/target_version = git/target_version = stable/' configuration.default.ini
- git fetch --tags
- version=$(git describe --abbrev=0 --tags)
- echo "version is $version"
- echo $version > /mnt/botamusique/version
- sed -i "s/version = 'git'/version = '$version'/" mumbleBot.py
- curl --silent "https://api.github.com/repos/azlux/botamusique/releases/latest" | jq -r '.body' | pandoc --from gfm --to html - --output - > /mnt/botamusique/changelog
- rm -rf .git*
- rm -rf web
- mkdir /tmp/botamusique
- cp -r . /tmp/botamusique/
- tar -czf /mnt/botamusique/sources-stable.tar.gz -C /tmp botamusique
volumes:
- name: repo
path: /mnt/botamusique/
when:
event:
- tag
- name: docker-stable
image: plugins/docker
settings:
repo: azlux/botamusique
username:
from_secret: docker_username
password:
from_secret: docker_password
tags: latest
when:
event:
- tag
volumes:
- name: repo
host:
path: /media/raid5/data/packages/repos/apt/botamusique/
trigger:
event:
exclude:
- cron
---
kind: pipeline
type: docker
name: cron
steps:
- name: fetch-translation
image: debian
environment:
TRADUORA_R_CLIENT:
from_secret: TRADUORA_R_CLIENT
TRADUORA_R_SECRET:
from_secret: TRADUORA_R_SECRET
GITHUB_API:
from_secret: GITHUB_API
commands:
- apt update && apt install -y git python3-requests hub
- |
if ! git checkout bot-traduora; then
git branch bot-traduora && git checkout bot-traduora
fi
- (cd lang/ && ./sync_translation.py --client $TRADUORA_R_CLIENT --secret $TRADUORA_R_SECRET --fetch)
- git add lang/*
- git status
- |
if (GIT_COMMITTER_NAME='Traduora Bot' GIT_COMMITTER_EMAIL='noreply@azlux.fr' git commit -m 'Bot: Update translation' --author "Traduora Bot <noreply@azlux.fr>"); then
git remote set-url origin https://azlux:$GITHUB_API@github.com/azlux/botamusique/
git push origin bot-traduora
sleep 2
GITHUB_USER="azlux" GITHUB_TOKEN="$GITHUB_API" hub pull-request -m "Bot: TRADUORA Update"
fi
trigger:
event:
- cron
cron:
- auto-fetch-lang