.gitlab-ci.yml 2.02 KB
Newer Older
1
2
stages:
    - check
Dorchies David's avatar
Dorchies David committed
3
    - github
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28

default:
  tags: [docker]

image: rocker/tidyverse:4.0.5

variables:
  R_LIBS_USER: "$CI_PROJECT_DIR/ci/lib"
  CHECK_DIR: "$CI_PROJECT_DIR/ci/logs"
  BUILD_LOGS_DIR: "$CI_PROJECT_DIR/ci/logs/$CI_PROJECT_NAME.Rcheck"

cache:
  paths:
    - $R_LIBS_USER

before_script:
  - mkdir -p $R_LIBS_USER $BUILD_LOGS_DIR
  - echo "R_LIBS='$R_LIBS_USER'" > .Renviron
  - R -e 'devtools::install_deps(dep = T)'

check:
  stage: check
  script:
    - if [[ $NOT_CRAN == "false" ]]; then sudo apt-get update && sudo apt-get install -y qpdf; fi
    - R -e 'rcmdcheck::rcmdcheck(args = "--no-manual", error_on = "warning")'
Dorchies David's avatar
Dorchies David committed
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61

github:
  stage: github
  only:
    refs:
      - master
      - tags
  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)
    ##
    - 'command -v ssh-agent >/dev/null || ( apt-get update -y && apt-get 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

Dorchies David's avatar
Dorchies David committed
62
63
64
    ## Add Github to known hosts (https://stackoverflow.com/a/29380672)
    - ssh-keyscan -t rsa github.com >> ~/.ssh/known_hosts

Dorchies David's avatar
Dorchies David committed
65
66
67
68
69
70
71
    ##
    ## Optionally, if you will be using any Git commands, set the user name and
    ## and email.
    ##
    - git config --global user.email "gitlab@inrae.fr"
    - git config --global user.name "Gitlab CI"
  script:
Dorchies David's avatar
Dorchies David committed
72
73
    - git remote add github git@github.com:inrae/hubeau.git || FAILED=true
    - git remote set-url github git@github.com:inrae/hubeau.git
Dorchies David's avatar
Dorchies David committed
74
    - git push --mirror github