dist: focal
language: shell
os: linux
services:
  - docker
addons:
  apt:
    packages:
      - python3-pip
      - python3-setuptools

branches:
  except:
    - gh-pages

before_install:
  - curl -Ls -o docker-build https://github.com/mate-desktop/mate-dev-scripts/raw/master/travis/docker-build
  - curl -Ls -o gen-index https://github.com/mate-desktop/mate-dev-scripts/raw/master/travis/gen-index-other-dns.sh
  - chmod +x docker-build gen-index

install:
  - pip3 install PyGithub
  - ./docker-build --name ${DISTRO} --config .build.yml --install

script:
  - ./docker-build --name ${DISTRO} --verbose --config .build.yml --build scripts

notifications:
  irc:
    if: (tag OR branch = master) AND
        repo = mate-desktop/pluma-plugins
    channels:
      - "irc.libera.chat#mate-dev"
    template:
      - "[%{repository_name}] %{author}: %{commit_subject}"
      - "[%{branch}] %{commit} %{message} %{build_url}"
    on_success: never
    on_failure: always

deploy:
  - provider: pages
    edge: true
    token: $GITHUB_TOKEN
    keep_history: false
    committer_from_gh: true
    target_branch: gh-pages
    local_dir: html-report
    strategy: git
    on:
      all_branches: true
      condition: ${DISTRO} =~ ^fedora.*$
  - provider: script
    edge: true
    script: ./docker-build --verbose --config .build.yml --release github
    on:
      tags: true
      condition: "${TRAVIS_TAG} =~ ^v.*$ && ${DISTRO} =~ ^fedora.*$"

after_success:
  - 'if [[ "$TRAVIS_SECURE_ENV_VARS" == "true" && "$TRAVIS_PULL_REQUEST" != "false" && ${DISTRO} =~ ^fedora.*$ ]]; then
        REPO_SLUG_ARRAY=(${TRAVIS_REPO_SLUG//\// });
        REPO_NAME=${REPO_SLUG_ARRAY[1]};
        URL="https://mate-desktop.github.io/${REPO_NAME}";
        COMMENT="Code analysis completed";
        curl -H "Authorization: token $GITHUB_TOKEN" -X POST
           -d "{\"state\": \"success\", \"description\": \"$COMMENT\", \"context\":\"scan-build\", \"target_url\": \"$URL\"}"
           https://api.github.com/repos/${TRAVIS_REPO_SLUG}/statuses/${TRAVIS_PULL_REQUEST_SHA};
     fi'

env:
#  - DISTRO="archlinux:latest"
  - DISTRO="debian:testing"
  - DISTRO="fedora:latest"
#  - DISTRO="ubuntu:rolling"
