summaryrefslogtreecommitdiff
path: root/.gitlab-ci.yml
blob: 593320302feccca8d36f0436e0ac78b7bbc7566d (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
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
image: debian:testing

stages:
  - build

variables:
  GIT_DEPTH: "1"

# New rule necessary to allow CI to run for merge requests of external contributors.
# See: https://gitlab.freedesktop.org/freedesktop/freedesktop/-/issues/540
workflow:
  rules:
    - if: $CI_PIPELINE_SOURCE == 'merge_request_event'
    - if: $CI_PIPELINE_SOURCE == 'push'

## GNU/Linux 64-bit CIs ##

debian/testing-gcc:
  stage: build
  artifacts:
    expire_in: 1 week
    when: always
    name: "uchardet-build-${CI_JOB_NAME}-${CI_COMMIT_REF_NAME}"
    paths:
    - _build
  before_script:
    - apt-get update
    - apt-get install -y --no-install-recommends
        build-essential
        cmake
  script:
    - mkdir _build
    - cd _build
    - cmake ..
    - make -j "$(nproc)"
    - make test
    - make install

debian/testing-clang:
  extends: debian/testing-gcc
  variables:
    CC: "clang"
    CXX: "clang++"
  before_script:
    - apt-get update
    - apt-get install -y --no-install-recommends
        build-essential
        clang
        cmake

## Windows CIs ##

win64:
  stage: build
  artifacts:
    expire_in: 1 week
    when: always
    name: "uchardet-build-${CI_JOB_NAME}-${CI_COMMIT_REF_NAME}"
    paths:
    - _build
  before_script:
    - apt-get update
    - apt-get install -y --no-install-recommends
        build-essential
        cmake
        cpio
        gcc-mingw-w64-x86-64
        g++-mingw-w64-x86-64
        git
        python3-distutils
        python3-docutils
        rpm
    - apt-get install -y --reinstall ca-certificates
    - git clone --depth=${GIT_DEPTH} git://git.tuxfamily.org/gitroot/crossroad/crossroad.git
    - cd crossroad
    - ./setup.py install --prefix=`pwd`/../.local
    - cd ..
  script:
    - export PATH="`pwd`/.local/bin:$PATH"
    - mkdir _build
    - cd _build
    - echo 'crossroad cmake .. && make && make install' | crossroad w64 gimp --run="-"

win32:
  stage: build
  artifacts:
    expire_in: 1 week
    when: always
    name: "uchardet-build-${CI_JOB_NAME}-${CI_COMMIT_REF_NAME}"
    paths:
    - _build
  before_script:
    - apt-get update
    - apt-get install -y --no-install-recommends
        build-essential
        cmake
        cpio
        gcc-mingw-w64-i686
        g++-mingw-w64-i686
        git
        python3-distutils
        python3-docutils
        rpm
    - apt-get install -y --reinstall ca-certificates
    - git clone --depth=${GIT_DEPTH} git://git.tuxfamily.org/gitroot/crossroad/crossroad.git
    - cd crossroad
    - ./setup.py install --prefix=`pwd`/../.local
    - cd ..
  script:
    - export PATH="`pwd`/.local/bin:$PATH"
    - mkdir _build
    - cd _build
    - echo 'crossroad cmake .. && make && make install' | crossroad w32 gimp --run="-"