Improve cache efficiency for CI-CD

Canadian-Provinces-Territories-Award-Layer
Paul Traina 2020-11-10 15:43:17 -08:00
rodzic 1f559473e6
commit 698efc40b0
1 zmienionych plików z 27 dodań i 23 usunięć

Wyświetl plik

@ -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: