uchardet/.gitlab-ci.yml
Jehan edae8e81cf gitlab-ci: CI is now forbidden on MR run by passing-by contributors.
So apparently Freedesktop CI won't run on non-official project or
non-known developers Gitlab namespaces. In particular, it makes CI fail
on merge requests by such passing-by contributors!

Adding these small rules is supposed to allow such jobs to run anyway.

See: https://gitlab.freedesktop.org/freedesktop/freedesktop/-/issues/540
2023-11-15 17:09:19 +01:00

114 lines
2.7 KiB
YAML

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="-"