diff --git a/.ci/build.sh b/.ci/build.sh deleted file mode 100755 index fb0e7e04..00000000 --- a/.ci/build.sh +++ /dev/null @@ -1,11 +0,0 @@ -#!/bin/bash - -set -ex - -cargo build --verbose -cargo test --verbose - -if [[ $TRAVIS_RUST_VERSION == "nightly" ]]; then - cargo build --verbose --features no_std - cargo test --verbose --features no_std -fi diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 00000000..95466e13 --- /dev/null +++ b/.github/workflows/build.yml @@ -0,0 +1,74 @@ +name: Build + +on: + push: + branches: + - master + pull_request: {} + +jobs: + # typical build with various feature combinations + build: + name: Build + runs-on: ${{ matrix.os }} + continue-on-error: ${{ matrix.experimental }} + strategy: + matrix: + os: [ubuntu-latest] + flags: + - "" + - "--features serde" + - "--features plugins" + - "--features unchecked" + - "--features sync" + - "--features no_optimize" + - "--features no_float" + - "--features only_i32" + - "--features only_i64" + - "--features no_index" + - "--features no_object" + - "--features no_function" + - "--features no_module" + toolchain: [stable] + experimental: [false] + include: + # smoketests for future and experimental toolchains + - {toolchain: stable, os: windows-latest, experimental: false, flags: ""} + - {toolchain: stable, os: macos-latest, experimental: false, flags: ""} + - {toolchain: beta, os: ubuntu-latest, experimental: false, flags: ""} + - {toolchain: nightly, os: ubuntu-latest, experimental: true, flags: ""} + steps: + - name: Checkout + uses: actions/checkout@v2 + - name: Setup Toolchain + uses: actions-rs/toolchain@v1 + with: + toolchain: ${{matrix.toolchain}} + override: true + - name: Test + uses: actions-rs/cargo@v1 + with: + command: test + args: --all {{matrix.flags}} + # no-std builds are a bit more extensive to test + no_std_build: + name: NoStdBuild + runs-on: ${{matrix.os}} + # TODO: remove once build works. + continue-on-error: true + strategy: + matrix: + os: [ubuntu-latest, windows-latest, macos-latest] + steps: + - name: Checkout + uses: actions/checkout@v2 + - name: Setup Toolchain + uses: actions-rs/toolchain@v1 + with: + toolchain: nightly + override: true + - name: Build Project + uses: actions-rs/cargo@v1 + with: + command: build + args: --manifest-path=no_std/no_std_test/Cargo.toml \ No newline at end of file diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index 80702bdc..00000000 --- a/.travis.yml +++ /dev/null @@ -1,10 +0,0 @@ -language: rust -rust: - - stable - - beta - - nightly -matrix: - allow_failures: - - rust: nightly - -script: bash ./.ci/build.sh \ No newline at end of file diff --git a/README.md b/README.md index b40d97a8..8a18b278 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ Rhai - Embedded Scripting for Rust ================================= ![GitHub last commit](https://img.shields.io/github/last-commit/jonathandturner/rhai) -[![Travis (.org)](https://img.shields.io/travis/jonathandturner/rhai)](http://travis-ci.org/jonathandturner/rhai) +[![Build Status](https://github.com/jonathandturner/rhai/workflows/Build/badge.svg)](https://github.com/jonathandturner/rhai/actions) [![license](https://img.shields.io/github/license/jonathandturner/rhai)](https://github.com/license/jonathandturner/rhai) [![crates.io](https://img.shields.io/crates/v/rhai.svg)](https://crates.io/crates/rhai/) [![crates.io](https://img.shields.io/crates/d/rhai)](https://crates.io/crates/rhai/)