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.*$/ # 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_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