gerbolyze/.gitlab-ci.yml

174 wiersze
5.0 KiB
YAML

variables:
GIT_SUBMODULE_STRATEGY: recursive
stages:
- build
- test
- publish
include:
- local: "/svg-flatten/svg-flatten-wasi-ci.yml"
build:gerbolyze:
stage: build
image: "registry.gitlab.com/gerbolyze/build-containers/archlinux:latest"
variables:
GIT_SUBMODULE_STRATEGY: none
script:
- git config --global --add safe.directory "$CI_PROJECT_DIR"
- pip3 install --user wheel
- python3 setup.py sdist bdist_wheel
artifacts:
name: "gerbolyze-$CI_COMMIT_REF_NAME-gerbolyze"
paths:
- dist/*
publish:gerbolyze:
stage: publish
variables:
GIT_SUBMODULE_STRATEGY: none
image: "registry.gitlab.com/gerbolyze/build-containers/archlinux:latest"
cache: {}
script:
- export TWINE_USERNAME TWINE_PASSWORD
- twine upload dist/*
dependencies:
- build:gerbolyze
only:
- /^v.*$/
build:svg-flatten-debian_11:
stage: build
image: "registry.gitlab.com/gerbolyze/build-containers/debian:11"
script:
- "export CXX=clang++"
- "make -C svg-flatten"
artifacts:
name: "gerbolyze-$CI_COMMIT_REF_NAME-svg-flatten-deb11"
paths:
- svg-flatten/build/svg-flatten
- svg-flatten/build/nopencv-test
# Tests for debian are disabled until they get python 3.10.
# test:svg-flatten-debian_11:
# stage: test
# variables:
# GIT_SUBMODULE_STRATEGY: none
# image: "registry.gitlab.com/gerbolyze/build-containers/debian:11"
# script:
# - git config --global --add safe.directory "$CI_PROJECT_DIR"
# - "export PATH=$HOME/.local/bin:$HOME/.cargo/bin:$PATH"
# - "touch svg-flatten/build/svg-flatten svg-flatten/build/nopencv-test"
# - "python3 setup.py install --user"
# - "gerbolyze --help"
# - "make -C svg-flatten tests"
# dependencies:
# - build:svg-flatten-debian_11
# artifacts:
# name: "gerbolyze-$CI_COMMIT_REF_NAME-test-deb11"
# when: on_failure
# paths:
# - svg-flatten/testcase-fails/*.png
# - svg-flatten/testcase-fails/*.svg
build:svg-flatten-ubuntu_2204:
stage: build
image: "registry.gitlab.com/gerbolyze/build-containers/ubuntu:22.04"
script:
- "export CXX=clang++"
- "make -C svg-flatten"
artifacts:
name: "gerbolyze-$CI_COMMIT_REF_NAME-svg-flatten-ubu22"
paths:
- svg-flatten/build/svg-flatten
- svg-flatten/build/nopencv-test
test:svg-flatten-ubuntu_2204:
stage: test
variables:
GIT_SUBMODULE_STRATEGY: none
image: "registry.gitlab.com/gerbolyze/build-containers/ubuntu:22.04"
script:
- git config --global --add safe.directory "$CI_PROJECT_DIR"
- "export PATH=$HOME/.local/bin:$HOME/.cargo/bin:$PATH"
- "touch svg-flatten/build/svg-flatten svg-flatten/build/nopencv-test"
- pip3 install --user 'pillow>=9.1.1'
- "python3 setup.py install --user"
- "gerbolyze --help"
- "make -C svg-flatten tests"
dependencies:
- build:svg-flatten-ubuntu_2204
artifacts:
name: "gerbolyze-$CI_COMMIT_REF_NAME-test-ubu22"
when: on_failure
paths:
- svg-flatten/testcase-fails/*.png
- svg-flatten/testcase-fails/*.svg
build:svg-flatten-fedora_36:
stage: build
image: "registry.gitlab.com/gerbolyze/build-containers/fedora:36"
script:
- "export CXX=clang++"
- "make -C svg-flatten"
artifacts:
name: "gerbolyze-$CI_COMMIT_REF_NAME-svg-flatten-fed36"
paths:
- svg-flatten/build/svg-flatten
- svg-flatten/build/nopencv-test
test:svg-flatten-fedora_36:
stage: test
variables:
GIT_SUBMODULE_STRATEGY: none
image: "registry.gitlab.com/gerbolyze/build-containers/fedora:36"
script:
- git config --global --add safe.directory "$CI_PROJECT_DIR"
- "export PATH=$HOME/.local/bin:$HOME/.cargo/bin:$PATH"
- "touch svg-flatten/build/svg-flatten svg-flatten/build/nopencv-test"
- pip3 install --user 'pillow>=9.1.1'
- "python3 setup.py install --user"
- "gerbolyze --help"
- "make -C svg-flatten tests"
dependencies:
- build:svg-flatten-fedora_36
artifacts:
name: "gerbolyze-$CI_COMMIT_REF_NAME-test-fed36"
when: on_failure
paths:
- svg-flatten/testcase-fails/*.png
- svg-flatten/testcase-fails/*.svg
build:svg-flatten-archlinux:
stage: build
image: "registry.gitlab.com/gerbolyze/build-containers/archlinux:latest"
script:
- "make -C svg-flatten"
artifacts:
name: "gerbolyze-$CI_COMMIT_REF_NAME-svg-flatten-arch"
paths:
- svg-flatten/build/svg-flatten
- svg-flatten/build/nopencv-test
test:svg-flatten-archlinux:
stage: test
variables:
GIT_SUBMODULE_STRATEGY: none
image: "registry.gitlab.com/gerbolyze/build-containers/archlinux:latest"
script:
- git config --global --add safe.directory "$CI_PROJECT_DIR"
- "export PATH=$HOME/.local/bin:$HOME/.cargo/bin:$PATH"
- "touch svg-flatten/build/svg-flatten svg-flatten/build/nopencv-test"
- "python setup.py install --user"
- "gerbolyze --help"
- "make -C svg-flatten tests"
dependencies:
- build:svg-flatten-archlinux
artifacts:
name: "gerbolyze-$CI_COMMIT_REF_NAME-test-arch"
when: on_failure
paths:
- svg-flatten/testcase-fails/*.png
- svg-flatten/testcase-fails/*.svg