# We use Cirrus CI to test on FreeBSD. # For GNU/Linux CI see GitHub Actions. freebsd_instance: image_family: freebsd-13-1 main_freebsd_task: name: Main (FreeBSD) only_if: $CIRRUS_BRANCH == 'master' || $CIRRUS_BASE_BRANCH == 'master' dependencies_script: - pkg install --yes autoconf automake cppcheck libtool libyaml py39-pip py39-wheel python3 - pip install --user Jinja2 PyYAML main_build_script: - ./autogen.sh - ./configure --enable-fixtures --enable-checks-all CFLAGS='-O3' - make - sudo make install main_test_script: - make check mruby_freebsd_task: name: mruby (FreeBSD) only_if: $CIRRUS_BRANCH == 'master' || $CIRRUS_BASE_BRANCH == 'master' env: CPATH: '/usr/local/include' LIBRARY_PATH: '/usr/local/lib' MRUBY_YAML_USE_SYSTEM_LIBRARY: x dependencies_script: - pkg install --yes autoconf automake git libtool rubygem-rake wget dependencies_mruby_script: - wget https://github.com/mruby/mruby/archive/3.1.0.zip -O mruby-3.1.0.zip - unzip mruby-3.1.0.zip main_build_script: - ./autogen.sh - ./configure CFLAGS='-O3' - make - sudo make install mruby_test_script: - cd mruby-3.1.0 - MRUBY_CONFIG=../bindings/mruby/build_config.rb rake test ruby_freebsd_task: name: Ruby (FreeBSD) only_if: $CIRRUS_BRANCH == 'master' || $CIRRUS_BASE_BRANCH == 'master' env: CPATH: '/usr/local/include' LIBRARY_PATH: '/usr/local/lib' dependencies_script: - pkg install --yes autoconf automake cppcheck git libtool wget dependencies_ruby_script: - wget https://cache.ruby-lang.org/pub/ruby/3.0/ruby-3.0.3.tar.gz - tar -xzf ruby-3.0.3.tar.gz - cd ruby-3.0.3 - ./configure --disable-install-doc - make - sudo make install main_build_script: - ./autogen.sh - ./configure CFLAGS='-O3' - make - sudo make install ruby_build_script: - cd bindings/ruby - ./bin/setup - bundle exec rake compile ruby_test_script: - cd bindings/ruby - bundle exec rake rust_freebsd_task: name: Rust (FreeBSD) only_if: $CIRRUS_BRANCH == 'master' || $CIRRUS_BASE_BRANCH == 'master' env: RUSTFLAGS: '-L /usr/local/lib' dependencies_script: - pkg install --yes autoconf automake libtool dependencies_rust_script: - curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y main_build_script: - ./autogen.sh - ./configure CFLAGS='-O3' - make - sudo make install rust_test_script: - cd bindings/rust - ~/.cargo/bin/cargo test - ~/.cargo/bin/cargo clippy - ~/.cargo/bin/cargo fmt --check main_freebsd_port_task: name: Main (FreeBSD port) only_if: "changesInclude('.cirrus.yml', 'pkgs/freebsd/**')" dependencies_script: - pkg install --yes portfmt portlint porttools port_prepare_script: - echo 'DEVELOPER=yes' >> /etc/make.conf - rm -rf /usr/ports/devel/libkernaux/ - cp -r $CIRRUS_WORKING_DIR/pkgs/freebsd/devel/libkernaux /usr/ports/devel/ port_test_script: - cd /usr/ports/devel/libkernaux/ - portfmt -D Makefile - portclippy --strict Makefile - portlint -A - port test .