summaryrefslogtreecommitdiff
path: root/.gitlab-ci.yml
blob: 08ab164e4f9bea5789835af3b2dfbcc4a78c4836 (plain)
1
2
3
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
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
default:
  image: gcc

stages:
  - bootstrap
  - build
  - test

pre-commit:
  stage: .pre
  variables:
    XDG_CACHE_HOME: "$CI_PROJECT_DIR/.cache"
  before_script:
    - apt -qq update
    - apt -y -qq install pre-commit
  script:
    - pre-commit run -a
  cache:
    key: $CI_JOB_NAME
    paths:
      - .cache/pre-commit

bootstrap:
  stage: bootstrap
  before_script:
    - apt -qq update
    - apt -y -qq install autoconf automake autopoint gettext libtool
  script:
    - if test -d gnulib-src; then git -C gnulib-src pull; else git clone git://git.sv.gnu.org/gnulib gnulib-src; fi
    - rm -rf bootstrapped
    - mkdir bootstrapped
    - tar -cf - --exclude=bootstrapped . | tar -C bootstrapped -xf -
    - (cd bootstrapped && GNULIB_URL=../gnulib-src ./bootstrap)
  cache:
    paths:
      - gnulib-src/
  artifacts:
    paths:
      - bootstrapped/

build-distcheck:
  stage: build
  before_script:
    - apt -qq update
    - apt -y -qq install build-essential bsdextrautils flex groff libgdbm-dev libpipeline-dev pkg-config po4a zlib1g-dev
  script:
    - (cd bootstrapped && ./configure)
    - make -C bootstrapped distcheck V=1

build-out-of-tree:
  stage: build
  before_script:
    - apt -qq update
    - apt -y -qq install build-essential bsdextrautils flex groff libgdbm-dev libpipeline-dev pkg-config po4a zlib1g-dev
  script:
    - mkdir -p bootstrapped/obj
    - (cd bootstrapped/obj && ../configure)
    - make -C bootstrapped/obj check V=1