gerbolyze/.gitlab-ci.yml

177 wiersze
5.5 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"
# --break-system-packages to work around the latest way some galaxy brain messed up python's packaging stuff even
# further just to break this CI pipeline for no reason :/
- pip3 install --user --break-system-packages 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.*$/
# Builds for debian are disabled until they get a C++20-capable compiler.
#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_rolling:
stage: build
image: "registry.gitlab.com/gerbolyze/build-containers/ubuntu:rolling"
script:
- "export CXX=clang++"
- "make -C svg-flatten"
artifacts:
name: "gerbolyze-$CI_COMMIT_REF_NAME-svg-flatten-uburl"
paths:
- svg-flatten/build/svg-flatten
- svg-flatten/build/nopencv-test
# test:svg-flatten-ubuntu_rolling:
# stage: test
# variables:
# GIT_SUBMODULE_STRATEGY: none
# image: "registry.gitlab.com/gerbolyze/build-containers/ubuntu:rolling"
# 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 --break-system-packages 'pillow>=9.1.1'
# - "python3 setup.py install --user"
# - "gerbolyze --help"
# - "make -C svg-flatten tests"
# dependencies:
# - build:svg-flatten-ubuntu_rolling
# artifacts:
# name: "gerbolyze-$CI_COMMIT_REF_NAME-test-uburl"
# when: on_failure
# paths:
# - svg-flatten/testcase-fails/*.png
# - svg-flatten/testcase-fails/*.svg
build:svg-flatten-fedora_latest:
stage: build
image: "registry.gitlab.com/gerbolyze/build-containers/fedora:latest"
script:
- "export CXX=clang++"
- "make -C svg-flatten"
artifacts:
name: "gerbolyze-$CI_COMMIT_REF_NAME-svg-flatten-fedlt"
paths:
- svg-flatten/build/svg-flatten
- svg-flatten/build/nopencv-test
#test:svg-flatten-fedora_latest:
# stage: test
# variables:
# GIT_SUBMODULE_STRATEGY: none
# image: "registry.gitlab.com/gerbolyze/build-containers/fedora: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"
# - pip3 install --user 'pillow>=9.1.1'
# - "python3 setup.py install --user"
# - "gerbolyze --help"
# - "make -C svg-flatten tests"
# dependencies:
# - build:svg-flatten-fedora_latest
# artifacts:
# name: "gerbolyze-$CI_COMMIT_REF_NAME-test-fedlt"
# 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
#