mirror of https://github.com/nextgraph-org/rkv.git
Migrate from Travis CI to GitHub Actions (#220)
* Migrate from Travis CI to GitHub Actions * name * downgrade to checkout@v2 and ditch actions-rs * Update ci.yml * Update ci.yml * KNOWN_TO_HAVE_RUSTFMT * we don't need continue-on-error, we can just exclude it from required status * Cover Windows 32bit * CC: clang * Skip clippy in 1.45.0 * Update ci.yml * pin bitflags to last known good version * Pin to nightly-2020-07-12 for now * use ${{}} for windows compat * Prevent line ending normalization * Actually let's force LF. * shell: bash for windows * default to bash * Remove appveyor/traviswithout.crypto
parent
762887be3f
commit
5fbe85f970
@ -1,38 +0,0 @@ |
||||
environment: |
||||
matrix: |
||||
- TARGET: x86_64-pc-windows-msvc |
||||
TOOLCHAIN: stable |
||||
- TARGET: i686-pc-windows-msvc |
||||
TOOLCHAIN: stable |
||||
- TARGET: x86_64-pc-windows-msvc |
||||
TOOLCHAIN: beta |
||||
- TARGET: i686-pc-windows-msvc |
||||
TOOLCHAIN: beta |
||||
- TARGET: x86_64-pc-windows-msvc |
||||
TOOLCHAIN: nightly |
||||
- TARGET: i686-pc-windows-msvc |
||||
TOOLCHAIN: nightly |
||||
|
||||
install: |
||||
- curl -sSf -o rustup-init.exe https://win.rustup.rs/ |
||||
- rustup-init.exe -y --default-host %TARGET% --default-toolchain %TOOLCHAIN% |
||||
- set PATH=%PATH%;C:\Users\appveyor\.cargo\bin |
||||
- choco install make -y |
||||
- choco install mingw -y |
||||
- refreshenv |
||||
- rustc -Vv |
||||
- cargo -Vv |
||||
- make -v |
||||
- gcc -v |
||||
|
||||
# Disable AppVeyor's build phase, let 'cargo test' take care of the build |
||||
build: false |
||||
|
||||
test_script: |
||||
- SET RUST_BACKTRACE=1 |
||||
- cargo test --all --target %TARGET% --verbose |
||||
- cargo test --all --release --target %TARGET% --verbose |
||||
|
||||
cache: |
||||
- C:\Users\appveyor\.cargo\registry |
||||
- target |
@ -0,0 +1,2 @@ |
||||
# Force LF normalization |
||||
* text=auto eol=lf |
@ -0,0 +1,65 @@ |
||||
name: CI Build Status |
||||
|
||||
on: [push, pull_request] |
||||
|
||||
env: |
||||
RUST_BACKTRACE: 1 |
||||
# We install a known-to-have-rustfmt version of the nightly toolchain |
||||
# in order to run the nightly version of rustfmt, which supports rules |
||||
# that we depend upon. When updating, pick a suitable nightly version |
||||
# from https://rust-lang.github.io/rustup-components-history/ |
||||
# See .rustfmt.toml for the list of unstable features. |
||||
KNOWN_TO_HAVE_RUSTFMT: nightly-2020-07-12 |
||||
|
||||
defaults: |
||||
run: |
||||
shell: bash |
||||
|
||||
jobs: |
||||
build: |
||||
strategy: |
||||
matrix: |
||||
target: |
||||
- { os: ubuntu-latest, host: '' } |
||||
- { os: macos-latest, host: '' } |
||||
- { os: windows-latest, host: '-x86_64-pc-windows-msvc' } |
||||
- { os: windows-latest, host: '-i686-pc-windows-msvc' } |
||||
toolchain: [1.45.0, stable, beta, nightly] |
||||
|
||||
runs-on: ${{ matrix.target.os }} |
||||
|
||||
steps: |
||||
- uses: actions/checkout@v3 |
||||
- name: Install Rust toolchain ${{ matrix.toolchain }}${{ matrix.target.host }} on ${{ matrix.target.os }} |
||||
run: | |
||||
rustup toolchain install ${{ matrix.toolchain }}${{ matrix.target.host }} --profile minimal --component rustfmt clippy |
||||
rustup default ${{ matrix.toolchain }}${{ matrix.target.host }} |
||||
|
||||
- if: ${{ matrix.toolchain == 'nightly' }} |
||||
run: | |
||||
rustup toolchain install $KNOWN_TO_HAVE_RUSTFMT --profile minimal --component rustfmt clippy |
||||
cargo +$KNOWN_TO_HAVE_RUSTFMT fmt --all -- --check |
||||
- if: ${{ matrix.toolchain == 'nightly' }} |
||||
run: cargo +$KNOWN_TO_HAVE_RUSTFMT clippy --all-features -- -D warnings |
||||
env: |
||||
CC: clang |
||||
|
||||
- run: cargo build --verbose |
||||
|
||||
- name: Test with all features |
||||
run: cargo test --all --verbose |
||||
|
||||
- name: Test with no default features |
||||
run: cargo test --lib --no-default-features --verbose |
||||
|
||||
- name: Test with db-dup-sort |
||||
run: cargo test --lib --no-default-features --features "db-dup-sort" --verbose |
||||
|
||||
- name: Test with db-int-key |
||||
run: cargo test --lib --no-default-features --features "db-int-key" --verbose |
||||
|
||||
- name: Test in release mode |
||||
run: cargo test --release --all --verbose |
||||
|
||||
- name: Run all examples |
||||
run: ./run-all-examples.sh |
@ -1,9 +1,18 @@ |
||||
match_block_trailing_comma = true |
||||
max_width = 120 |
||||
use_small_heuristics = "Off" |
||||
|
||||
### unstable, nightly-only |
||||
|
||||
# https://github.com/rust-lang/rustfmt/issues/3349 |
||||
comment_width = 90 |
||||
# https://github.com/rust-lang/rustfmt/issues/3374 |
||||
force_multiline_blocks = true |
||||
# https://github.com/rust-lang/rustfmt/issues/4991 |
||||
imports_granularity="Crate" |
||||
# https://github.com/rust-lang/rustfmt/issues/3361 |
||||
imports_layout = "Vertical" |
||||
match_block_trailing_comma = true |
||||
max_width = 120 |
||||
merge_imports = true |
||||
# https://github.com/rust-lang/rustfmt/issues/3363 |
||||
reorder_impl_items = true |
||||
use_small_heuristics = "Off" |
||||
# https://github.com/rust-lang/rustfmt/issues/3347 |
||||
wrap_comments = true |
||||
|
@ -1,48 +0,0 @@ |
||||
language: rust |
||||
sudo: false |
||||
|
||||
cache: cargo |
||||
|
||||
rust: |
||||
- 1.45.0 |
||||
- stable |
||||
- beta |
||||
- nightly |
||||
|
||||
os: |
||||
- linux |
||||
- osx |
||||
|
||||
matrix: |
||||
allow_failures: |
||||
- rust: nightly |
||||
fast_finish: true |
||||
|
||||
before_script: |
||||
# We install a known-to-have-rustfmt version of the nightly toolchain |
||||
# in order to run the nightly version of rustfmt, which supports rules |
||||
# that we depend upon. When updating, pick a suitable nightly version |
||||
# from https://rust-lang.github.io/rustup-components-history/ |
||||
- rustup toolchain install nightly-2020-07-12 |
||||
- rustup component add rustfmt --toolchain nightly-2020-07-12 |
||||
- rustup component add clippy --toolchain nightly-2020-07-12 |
||||
# Use official clang in order to test out building on osx. |
||||
- if [[ "$TRAVIS_OS_NAME" = "osx" ]]; then |
||||
brew update; |
||||
brew install llvm; |
||||
export PATH="/usr/local/opt/llvm/bin:$PATH"; |
||||
export LDFLAGS="-L/usr/local/opt/llvm/lib"; |
||||
export CPPFLAGS="-I/usr/local/opt/llvm/include"; |
||||
fi |
||||
|
||||
script: |
||||
- cargo +nightly-2020-07-12 fmt --all -- --check |
||||
- CC="clang" cargo +nightly-2020-07-12 clippy --all-features -- -D warnings |
||||
- cargo build --verbose |
||||
- export RUST_BACKTRACE=1 |
||||
- cargo test --all --verbose |
||||
- cargo test --lib --no-default-features --verbose |
||||
- cargo test --lib --no-default-features --features "db-dup-sort" --verbose |
||||
- cargo test --lib --no-default-features --features "db-int-key" --verbose |
||||
- cargo test --release --all --verbose |
||||
- ./run-all-examples.sh |
Loading…
Reference in new issue