kopia lustrzana https://gitlab.com/gridtracker.org/gridtracker
Improve cache efficiency for CI-CD
rodzic
1f559473e6
commit
698efc40b0
|
|
@ -13,54 +13,58 @@ default:
|
|||
image: ${DEFAULT_IMAGE}
|
||||
interruptible: true
|
||||
|
||||
cache:
|
||||
cache: &global_cache
|
||||
paths:
|
||||
- .cache/
|
||||
- node_modules/
|
||||
key:
|
||||
files:
|
||||
- package.json
|
||||
- package.nw/package.json
|
||||
|
||||
before_script:
|
||||
- export APT_CACHE_DIR=`pwd`/.cache/apt && mkdir -pv $APT_CACHE_DIR
|
||||
- export NPM_CONFIG_CACHE=`pwd`/.cache/npm && mkdir -pv $NPM_CONFIG_CACHE
|
||||
- dpkg --add-architecture i386
|
||||
- apt-get update
|
||||
- apt-get -y install npm wine wine32
|
||||
- apt-get -y install git dh-make build-essential devscripts lintian diffutils patch quilt
|
||||
- apt-get -y build-dep .
|
||||
- npm install
|
||||
|
||||
build_all_job:
|
||||
build_job:
|
||||
stage: build
|
||||
rules:
|
||||
- if: $CI_COMMIT_TAG
|
||||
- if: $CI_COMMIT_TAG =~ /^(v|test_).*/
|
||||
artifacts:
|
||||
paths:
|
||||
- build/*
|
||||
expire_in: 1 week
|
||||
script:
|
||||
- export APT_CACHE_DIR=`pwd`/.cache/apt && mkdir -pv $APT_CACHE_DIR
|
||||
- export NPM_CONFIG_CACHE=`pwd`/.cache/npm && mkdir -pv $NPM_CONFIG_CACHE
|
||||
- dpkg-buildpackage -uc -us
|
||||
- mkdir build build/debian
|
||||
- mv ../*.{deb,dsc,buildinfo,tar.xz,changes} build/debian/
|
||||
- export APT_CACHE_DIR=`pwd`/.cache/apt && mkdir -p $APT_CACHE_DIR
|
||||
- export NPM_CONFIG_CACHE=`pwd`/.cache/npm && mkdir -p $NPM_CONFIG_CACHE
|
||||
- echo $APT_CACHE_DIR $NPM_CONFIG_CACHE
|
||||
- dpkg --add-architecture i386
|
||||
- apt-get update
|
||||
- apt-get -y install npm wine wine32
|
||||
- npm install --prefer-offline
|
||||
- npm run dist
|
||||
- mkdir build
|
||||
- (cd package.nw/dist ; mv *.zip *.exe *.7z *.json ../../build)
|
||||
- apt-get -y install build-essential devscripts
|
||||
- apt-get -y build-dep .
|
||||
- dpkg-buildpackage -uc -us
|
||||
- mkdir -p build/debian
|
||||
- mv ../*.{deb,dsc,buildinfo,tar.xz,changes} build/debian/
|
||||
- ls -R `pwd`/.cache
|
||||
|
||||
test_job:
|
||||
stage: test
|
||||
cache:
|
||||
<<: *global_cache
|
||||
policy: pull
|
||||
script:
|
||||
- export APT_CACHE_DIR=`pwd`/.cache/apt && mkdir -pv $APT_CACHE_DIR
|
||||
- export NPM_CONFIG_CACHE=`pwd`/.cache/npm && mkdir -pv $NPM_CONFIG_CACHE
|
||||
- export NPM_CONFIG_CACHE=`pwd`/.cache/npm && mkdir -p $NPM_CONFIG_CACHE
|
||||
- rm -rf package.nw/dist
|
||||
- npm install --prefer-offline
|
||||
- npm test
|
||||
|
||||
release_job:
|
||||
stage: deploy
|
||||
image: registry.gitlab.com/gitlab-org/release-cli:latest
|
||||
rules:
|
||||
- if: $CI_COMMIT_TAG
|
||||
- if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH
|
||||
- if: $CI_COMMIT_TAG =~ /^(v|test_).*/ && $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH
|
||||
needs:
|
||||
- job: build_job
|
||||
script:
|
||||
- echo 'Release for $CI_COMMIT_TAG'
|
||||
release:
|
||||
|
|
|
|||
Ładowanie…
Reference in New Issue