]> git.jsancho.org Git - lugaru.git/blob - .gitlab-ci.yml
CI: Ensure dnf copr command is available
[lugaru.git] / .gitlab-ci.yml
1 image: fedora:rawhide
2
3 cache:
4   key: dnf
5   paths:
6   - /var/cache/dnf
7
8 before_script:
9   - dnf --quiet --assumeyes "dnf-command(copr)"
10   - dnf --assumeyes copr enable ngompa/mingw-openal-soft
11   - dnf --quiet --assumeyes install /usr/bin/cmake "pkgconfig(libjpeg)" "pkgconfig(openal)" "pkgconfig(sdl2)" "pkgconfig(glu)" "pkgconfig(libpng)" "pkgconfig(zlib)" "pkgconfig(vorbis)" "pkgconfig(vorbisfile)" "pkgconfig(ogg)" make
12
13 build_gcc:
14   stage: build
15   script:
16     - dnf --quiet --assumeyes install gcc gcc-c++
17     - export CC=gcc; export CXX=g++
18     - mkdir -p x86_64-linux-gnu-gcc gcc-build; cd x86_64-linux-gnu-gcc
19     - cmake .. -DLUGARU_INSTALL_PREFIX=/builds/osslugaru/lugaru/gcc-build
20     - make -j4; make install
21   artifacts:
22     expire_in: 7d
23     paths:
24       - ./gcc-build
25   tags:
26     - shared
27
28 build_clang:
29   stage: build
30   script:
31     - dnf --quiet --assumeyes install clang
32     - export CC=clang; export CXX=clang++
33     - mkdir -p x86_64-linux-gnu-clang clang-build; cd x86_64-linux-gnu-clang
34     - cmake .. -DLUGARU_INSTALL_PREFIX=/builds/osslugaru/lugaru/clang-build
35     - make -j4; make install
36   artifacts:
37     expire_in: 7d
38     paths:
39       - ./clang-build
40   tags:
41     - shared
42
43 build_mingw32:
44   stage: build
45   script:
46     - dnf --quiet --assumeyes install mingw32-gcc mingw32-gcc-c++ mingw32-binutils mingw32-headers mingw32-libjpeg-turbo mingw32-libpng mingw32-SDL2 mingw32-zlib mingw32-libvorbis mingw32-libogg mingw32-openal-soft
47     - export PKG_CONFIG_LIBDIR="/usr/i686-w64-mingw32/sys-root/mingw/lib/pkgconfig:/usr/i686-w64-mingw32/sys-root/mingw/share/pkgconfig"
48     - export PATH=/usr/i686-w64-mingw32/bin:$PATH
49     - mkdir -p i686-w64-mingw32 mingw32-build; cd i686-w64-mingw32
50     - cmake .. -DCMAKE_TOOLCHAIN_FILE=/usr/share/mingw/toolchain-mingw32.cmake -DLUGARU_INSTALL_PREFIX=/builds/osslugaru/lugaru/mingw32-build
51     - make -j4; make install
52   artifacts:
53     expire_in: 7d
54     paths:
55       - ./mingw32-build
56   tags:
57     - shared
58
59 build_mingw64:
60   stage: build
61   script:
62     - dnf --quiet --assumeyes install mingw64-gcc mingw64-gcc-c++ mingw64-binutils mingw64-headers mingw64-libjpeg-turbo mingw64-libpng mingw64-SDL2 mingw64-zlib mingw64-libvorbis mingw64-libogg mingw64-openal-soft
63     - export PKG_CONFIG_LIBDIR="/usr/x86_64-w64-mingw32/sys-root/mingw/lib/pkgconfig:/usr/x86_64-w64-mingw32/sys-root/mingw/share/pkgconfig"
64     - export PATH=/usr/x86_64-w64-mingw32/bin:$PATH
65     - mkdir -p x86_64-w64-mingw32 mingw64-build; cd x86_64-w64-mingw32
66     - cmake .. -DCMAKE_TOOLCHAIN_FILE=/usr/share/mingw/toolchain-mingw64.cmake -DLUGARU_INSTALL_PREFIX=/builds/osslugaru/lugaru/mingw64-build
67     - make -j4; make install
68   artifacts:
69     expire_in: 7d
70     paths:
71       - ./mingw64-build
72   tags:
73     - shared
74