89 lines
2.2 KiB
YAML
89 lines
2.2 KiB
YAML
default:
|
|
image: node:lts
|
|
|
|
cache:
|
|
paths:
|
|
- node_modules/
|
|
|
|
variables:
|
|
DATASET:
|
|
description: "Dataset to import (either dole, jorf, kali or legi"
|
|
value: dole
|
|
## Ensure that all the Git tags are retrieved.
|
|
## https://docs.gitlab.com/ee/user/project/pipelines/settings.html#git-shallow-clone
|
|
GIT_DEPTH: 0
|
|
## Needed for storing locale dates
|
|
TZ: Europe/Paris
|
|
|
|
stages:
|
|
- build
|
|
# - test
|
|
- download
|
|
|
|
build:
|
|
stage: build
|
|
except:
|
|
- schedules
|
|
- web
|
|
before_script:
|
|
- npm ci
|
|
script:
|
|
- rm -f .env
|
|
- ln -s example.env .env
|
|
- npm run build
|
|
|
|
# test:
|
|
# stage: test
|
|
# except:
|
|
# - schedules
|
|
# - web
|
|
# before_script:
|
|
# - npm ci
|
|
# script:
|
|
# - rm -f .env
|
|
# - ln -s example.env .env
|
|
# - npm run test
|
|
|
|
download:
|
|
stage: download
|
|
only:
|
|
- schedules
|
|
- web
|
|
|
|
before_script:
|
|
## Install ssh-agent if not already installed, it is required by Docker.
|
|
## (change apt-get to yum if you use an RPM-based image)
|
|
- "which ssh-agent || ( apt update -y && apt install openssh-client -y )"
|
|
|
|
## Run ssh-agent (inside the build environment)
|
|
- eval $(ssh-agent -s)
|
|
|
|
## Add the SSH key stored in SSH_PRIVATE_KEY variable to the agent store
|
|
## We're using tr to fix line endings which makes ed25519 keys work
|
|
## without extra base64 encoding.
|
|
## https://gitlab.com/gitlab-examples/ssh-private-key/issues/1#note_48526556
|
|
- echo "$SSH_PRIVATE_KEY" | tr -d '\r' | ssh-add -
|
|
|
|
## Create the SSH directory and give it the right permissions
|
|
- mkdir -p ~/.ssh
|
|
- chmod 700 ~/.ssh
|
|
|
|
## Accept the SSH host keys of git.en-root.org.
|
|
- echo "$SSH_KNOWN_HOSTS" > ~/.ssh/known_hosts
|
|
- chmod 644 ~/.ssh/known_hosts
|
|
|
|
## Set the Git user name and email.
|
|
- git config --global user.email "tricoteuses@tricoteuses.fr"
|
|
- git config --global user.name "Tricoteuses données Dila"
|
|
|
|
- npm ci
|
|
|
|
script:
|
|
- rm -f .env
|
|
- ln -s example.env .env
|
|
- rm -Rf dila-data/
|
|
- mkdir dila-data/
|
|
- git clone git@git.en-root.org:tricoteuses/data/dila/${DATASET}.git dila-data/${DATASET}
|
|
- npx tsx src/scripts/download_dila_dataset.ts ${DATASET} dila-data/ --push
|
|
|
|
timeout: 6 hours
|