2020-11-04 01:22:11 +00:00
|
|
|
# This file is a template, and might need editing before it works on your project.
|
|
|
|
# see https://docs.gitlab.com/ee/ci/yaml/README.html for all available options
|
|
|
|
|
2020-11-04 01:40:43 +00:00
|
|
|
variables:
|
|
|
|
DEFAULT_IMAGE: debian:stable
|
2020-11-11 00:34:09 +00:00
|
|
|
APT_CACHE_DIR: $CI_PROJECT_DIR/.cache/apt
|
|
|
|
NPM_CONFIG_CACHE: $CI_PROJECT_DIR/.cache/.npm
|
2020-11-10 22:54:15 +00:00
|
|
|
EXTRA_DESCRIPTION: ''
|
|
|
|
|
|
|
|
# only run for merge requests and tags
|
|
|
|
include:
|
|
|
|
- template: "Workflows/MergeRequest-Pipelines.gitlab-ci.yml"
|
2020-11-04 01:40:43 +00:00
|
|
|
|
|
|
|
default:
|
|
|
|
image: ${DEFAULT_IMAGE}
|
|
|
|
interruptible: true
|
2020-11-04 01:22:11 +00:00
|
|
|
|
2020-11-10 23:43:17 +00:00
|
|
|
cache: &global_cache
|
2020-11-10 22:54:15 +00:00
|
|
|
paths:
|
|
|
|
- .cache/
|
2020-11-10 23:43:17 +00:00
|
|
|
- node_modules/
|
2020-11-10 22:54:15 +00:00
|
|
|
key:
|
|
|
|
files:
|
|
|
|
- package.json
|
|
|
|
- package.nw/package.json
|
2020-11-04 01:22:11 +00:00
|
|
|
|
2020-11-11 00:34:09 +00:00
|
|
|
before_script:
|
|
|
|
- mkdir -p $APT_CACHE_DIR $NPM_CONFIG_CACHE
|
|
|
|
|
2020-11-10 23:43:17 +00:00
|
|
|
build_job:
|
2020-11-04 01:22:11 +00:00
|
|
|
stage: build
|
2020-11-10 22:54:15 +00:00
|
|
|
rules:
|
2020-11-11 01:52:17 +00:00
|
|
|
- if: '$CI_COMMIT_TAG =~ /^(v|test_).*/'
|
2020-11-04 01:22:11 +00:00
|
|
|
artifacts:
|
|
|
|
paths:
|
|
|
|
- build/*
|
|
|
|
script:
|
2020-11-11 02:17:40 +00:00
|
|
|
- mkdir -p build/debian
|
2020-11-10 23:43:17 +00:00
|
|
|
- dpkg --add-architecture i386
|
2020-11-11 01:52:17 +00:00
|
|
|
- apt-get -qq update
|
|
|
|
- apt-get -qq -o dir::cache::archives="$APT_CACHE_DIR" install -y npm wine wine32
|
2020-11-10 23:43:17 +00:00
|
|
|
- npm install --prefer-offline
|
2020-11-07 22:58:20 +00:00
|
|
|
- npm run dist
|
2020-11-11 02:03:57 +00:00
|
|
|
- (cd package.nw/dist ; mv *.zip *.exe *.7z *.json ../../build)
|
|
|
|
- rm -rf package.nw/dist
|
2020-11-11 01:52:17 +00:00
|
|
|
- apt-get -qq -o dir::cache::archives="$APT_CACHE_DIR" install -y build-essential devscripts
|
|
|
|
- apt-get -qq -o dir::cache::archives="$APT_CACHE_DIR" build-dep .
|
2020-11-10 23:43:17 +00:00
|
|
|
- dpkg-buildpackage -uc -us
|
|
|
|
- mv ../*.{deb,dsc,buildinfo,tar.xz,changes} build/debian/
|
2020-11-04 20:29:13 +00:00
|
|
|
|
2020-11-10 22:54:15 +00:00
|
|
|
test_job:
|
|
|
|
stage: test
|
2020-11-10 23:43:17 +00:00
|
|
|
cache:
|
|
|
|
<<: *global_cache
|
|
|
|
policy: pull
|
2020-11-10 22:54:15 +00:00
|
|
|
script:
|
2020-11-11 01:52:17 +00:00
|
|
|
- apt-get -qq update
|
|
|
|
- apt-get -qq -o dir::cache::archives="$APT_CACHE_DIR" install -y npm
|
2020-11-10 23:43:17 +00:00
|
|
|
- rm -rf package.nw/dist
|
|
|
|
- npm install --prefer-offline
|
2020-11-10 22:54:15 +00:00
|
|
|
- npm test
|
|
|
|
|
|
|
|
release_job:
|
|
|
|
stage: deploy
|
|
|
|
image: registry.gitlab.com/gitlab-org/release-cli:latest
|
|
|
|
rules:
|
2020-11-11 01:52:17 +00:00
|
|
|
- if: '$CI_COMMIT_TAG =~ /^(v|test_).*/'
|
2020-11-10 23:43:17 +00:00
|
|
|
needs:
|
|
|
|
- job: build_job
|
2020-11-10 22:54:15 +00:00
|
|
|
script:
|
|
|
|
- echo 'Release for $CI_COMMIT_TAG'
|
|
|
|
release:
|
2020-11-11 01:52:17 +00:00
|
|
|
name: 'GridTracker $CI_COMMIT_TAG'
|
2020-11-10 22:54:15 +00:00
|
|
|
description: debian/changelog
|
|
|
|
tag_name: '$CI_COMMIT_TAG'
|
|
|
|
ref: '$CI_COMMIT_SHA'
|
|
|
|
|
2020-11-04 20:29:13 +00:00
|
|
|
# test2:
|
|
|
|
# stage: test
|
|
|
|
# script:
|
|
|
|
# - echo "Do another parallel test here"
|
|
|
|
# - echo "For example run a lint test"
|
|
|
|
#
|
|
|
|
# deploy1:
|
|
|
|
# stage: deploy
|
|
|
|
# only:
|
|
|
|
# - tags
|
|
|
|
# script:
|
|
|
|
# - echo "Do your deploy here"
|