default: image: node:lts cache: paths: - node_modules/ variables: ## This variable can be overridden at pipeline execution time. ## Possible values: ## - dole ## - jorf ## - kali ## - legi DATASET: undefined ## 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 before_script: - npm ci script: - rm -f .env - ln -s example.env .env - npm run build test: stage: test before_script: - npm ci script: - rm -f .env - ln -s example.env .env - npm run test download: stage: test 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 - mkdir -p ../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} --push