mlua-socket 0.1.1

A Rust-native implementation of LuaSocket for mlua.
Documentation
variables:
  RUST_VERSION: 1.72.1
  CARGO_HOME: $CI_PROJECT_DIR/.cargo

stages:
  - build+test
  - publish

mr-amd64:
  stage: build+test
  only:
    - merge_requests
  image: rust:$RUST_VERSION
  before_script:
    - apt-get update && apt-get install -y cmake
  script:
    - rustup set profile default
    - rustup default $RUST_VERSION
    - cargo test

mr-amd64-clippy:
  stage: build+test
  only:
    - merge_requests
  image: rust:$RUST_VERSION
  before_script:
    - apt-get update && apt-get install -y cmake
  script:
    - rustup set profile default
    - rustup default $RUST_VERSION
    - rustup component add clippy
    - cargo clippy -- --no-deps -D warnings

mr-aarch64:
  stage: build+test
  only:
    - merge_requests
  tags:
    - arm64
    - cmake
    - linux
    - rustup
  script:
    - rustup set profile default
    - rustup default $RUST_VERSION
    - cargo test

mr-aarch64-clippy:
  stage: build+test
  only:
    - merge_requests
  tags:
    - arm64
    - cmake
    - linux
    - rustup
  script:
    - rustup set profile default
    - rustup default $RUST_VERSION
    - cargo clippy -- --no-deps -D warnings

mr-armv7:
  stage: build+test
  only:
    - merge_requests
  tags:
    - armhf
    - cmake
    - linux
    - rustup
  script:
    - rustup set profile default
    - rustup default $RUST_VERSION
    - cargo test

mr-armv7-clippy:
  stage: build+test
  only:
    - merge_requests
  tags:
    - armhf
    - cmake
    - linux
    - rustup
  script:
    - rustup set profile default
    - rustup default $RUST_VERSION
    - cargo clippy -- --no-deps -D warnings

crates.io:
  stage: publish
  only:
    - tags
  image: rust:$RUST_VERSION
  script:
    - rustup set profile default
    - rustup default $RUST_VERSION
    - cargo publish --allow-dirty --token ${CARGO_REGISTRY_TOKEN}