stages: - build variables: GIT_DEPTH: 1 workflow: rules: - if: $CI_PIPELINE_SOURCE == "push" && $CI_COMMIT_BRANCH == "main" - if: $CI_PIPELINE_SOURCE == "push" && $CI_COMMIT_BRANCH == "ci" - if: $CI_PIPELINE_SOURCE == "merge_request_event" # Linux builds with make .build-make-template: &build-make-template stage: build before_script: - ./scripts/install-deps.sh script: - make - make check interruptible: true build-make-alpine: <<: *build-make-template image: alpine:latest build-make-archlinux: <<: *build-make-template image: archlinux:latest build-make-fedora: <<: *build-make-template image: fedora:latest build-make-ubuntu: <<: *build-make-template image: ubuntu:latest # Linux builds with meson .build-meson-template: &build-meson-template stage: build before_script: - ./scripts/install-deps.sh script: - meson setup -D python=enabled -D yaml=enabled build - meson compile -C build - if ! meson test -C build; then cat build/meson-logs/testlog.txt; false; fi interruptible: true build-meson-alpine: <<: *build-meson-template image: alpine:latest build-meson-archlinux: <<: *build-meson-template image: archlinux:latest build-meson-fedora: <<: *build-meson-template image: fedora:latest build-meson-ubuntu: <<: *build-meson-template image: ubuntu:latest