stages:
  - install
  - package
  - installer
  - check

dependency_scanning:
  stage: check
  only:
    - branches@le.storm1er/ryzen-controller
  image: docker:stable
  variables:
    DOCKER_DRIVER: overlay2
  allow_failure: true
  services:
    - docker:stable-dind
  script:
    - export SP_VERSION=$(echo "$CI_SERVER_VERSION" | sed 's/^\([0-9]*\)\.\([0-9]*\).*/\1-\2-stable/')
    - docker run
        --env DEP_SCAN_DISABLE_REMOTE_CHECKS="${DEP_SCAN_DISABLE_REMOTE_CHECKS:-false}"
        --volume "$PWD:/code"
        --volume /var/run/docker.sock:/var/run/docker.sock
        "registry.gitlab.com/gitlab-org/security-products/dependency-scanning:$SP_VERSION" /code
  artifacts:
    reports:
      dependency_scanning: gl-dependency-scanning-report.json

node:
  only:
    - tags@le.storm1er/ryzen-controller
  stage: install
  tags: [ docker ]
  image: electronuserland/builder:wine-mono
  script:
    - npm install
  cache:
    paths:
      - node_modules/
  artifacts:
    paths:
      - node_modules/

win32:
  only:
    - tags@le.storm1er/ryzen-controller
  stage: package
  tags: [ docker ]
  image: electronuserland/builder:wine-mono
  script:
    - npm run-script package-win32
  artifacts:
    paths:
      - release-builds/
  dependencies:
    - node

linux:
  only:
    - tags@le.storm1er/ryzen-controller
  stage: package
  tags: [ docker ]
  image: electronuserland/builder:wine-mono
  script:
    - npm run-script package-linux
  artifacts:
    paths:
      - release-builds/
  dependencies:
    - node

win32-installer:
  only:
    - tags@le.storm1er/ryzen-controller
  stage: installer
  tags: [ docker ]
  image: electronuserland/builder:wine-mono
  script:
    - npm run-script build-win32
  artifacts:
    paths:
      - installer-builds/
  dependencies:
    - node
    - win32

deb-installer:
  only:
    - tags@le.storm1er/ryzen-controller
  stage: installer
  tags: [ docker ]
  image: debian:stretch
  before_script:
    - apt update -y
    - apt install fakeroot curl -y
    - curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.34.0/install.sh | bash
    - export NVM_DIR="$HOME/.nvm"
    - '[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"'
    - nvm install 10.15.1
    - nvm use 10.15.1
  script:
    - npm run-script build-deb
  artifacts:
    paths:
      - installer-builds/
  dependencies:
    - node
    - linux

rpm-installer:
  only:
    - tags@le.storm1er/ryzen-controller
  stage: installer
  tags: [ docker ]
  image: electronuserland/builder:wine-mono
  script:
    - npm run-script build-rpm
  artifacts:
    paths:
      - installer-builds/
  dependencies:
    - node
    - linux