aboutsummaryrefslogtreecommitdiff
path: root/.github
diff options
context:
space:
mode:
authorHaibo Huang <hhb@google.com>2020-07-10 20:22:56 -0700
committerHaibo Huang <hhb@google.com>2020-07-10 20:22:56 -0700
commit815f544e751e7b3cdc563ca0c97849f7decf782f (patch)
treee039ea0f1d64aa1ce4ba6e632a638d4ad3c6af2b /.github
parent3ab24982d6da8a21528bd7ce8b2e675dd284b178 (diff)
downloadbytes-815f544e751e7b3cdc563ca0c97849f7decf782f.tar.gz
Upgrade rust/crates/bytes to 0.5.5
Change-Id: Ide2810cb2888de2899fd55127a81c685a5a037b6
Diffstat (limited to '.github')
-rw-r--r--.github/workflows/ci.yml163
1 files changed, 163 insertions, 0 deletions
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
new file mode 100644
index 0000000..164ec13
--- /dev/null
+++ b/.github/workflows/ci.yml
@@ -0,0 +1,163 @@
+name: CI
+
+on:
+ pull_request:
+ branches:
+ - master
+ push:
+ branches:
+ - master
+
+env:
+ RUSTFLAGS: -Dwarnings
+ RUST_BACKTRACE: 1
+
+defaults:
+ run:
+ shell: bash
+
+jobs:
+ # Check formatting
+ rustfmt:
+ name: rustfmt
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v2
+ - name: Install Rust
+ run: rustup update stable && rustup default stable
+ - name: Check formatting
+ run: cargo fmt --all -- --check
+
+ # TODO
+ # # Apply clippy lints
+ # clippy:
+ # name: clippy
+ # runs-on: ubuntu-latest
+ # steps:
+ # - uses: actions/checkout@v2
+ # - name: Apply clippy lints
+ # run: cargo clippy --all-features
+
+ # This represents the minimum Rust version supported by
+ # Bytes. Updating this should be done in a dedicated PR.
+ #
+ # Tests are not run as tests may require newer versions of
+ # rust.
+ minrust:
+ name: minrust
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v2
+ - name: Install Rust
+ run: rustup update 1.39.0 && rustup default 1.39.0
+ - name: Check
+ run: . ci/test-stable.sh check
+
+ # Stable
+ stable:
+ name: stable
+ strategy:
+ matrix:
+ os:
+ - ubuntu-latest
+ - macos-latest
+ - windows-latest
+ runs-on: ${{ matrix.os }}
+ steps:
+ - uses: actions/checkout@v2
+ - name: Install Rust
+ run: rustup update stable && rustup default stable
+ - name: Test
+ run: . ci/test-stable.sh test
+
+ # Nightly
+ nightly:
+ name: nightly
+ env:
+ # Pin nightly to avoid being impacted by breakage
+ RUST_VERSION: nightly-2019-09-25
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v2
+ - name: Install Rust
+ run: rustup update $RUST_VERSION && rustup default $RUST_VERSION
+ - name: Test
+ run: . ci/test-stable.sh test
+
+ # Run tests on some extra platforms
+ cross:
+ name: cross
+ strategy:
+ matrix:
+ target:
+ - i686-unknown-linux-gnu
+ - armv7-unknown-linux-gnueabihf
+ - powerpc-unknown-linux-gnu
+ - powerpc64-unknown-linux-gnu
+ - wasm32-unknown-unknown
+ runs-on: ubuntu-16.04
+ steps:
+ - uses: actions/checkout@v2
+ - name: Install Rust
+ run: rustup update stable && rustup default stable
+ - name: cross build --target ${{ matrix.target }}
+ run: |
+ cargo install cross
+ cross build --target ${{ matrix.target }}
+ if: matrix.target != 'wasm32-unknown-unknown'
+ # WASM support
+ - name: cargo build --target ${{ matrix.target }}
+ run: |
+ rustup target add ${{ matrix.target }}
+ cargo build --target ${{ matrix.target }}
+ if: matrix.target == 'wasm32-unknown-unknown'
+
+ # Sanitizers
+ tsan:
+ name: tsan
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v2
+ - name: Install Rust
+ run: rustup update nightly && rustup default nightly
+ - name: TSAN / MSAN
+ run: . ci/tsan.sh
+
+ # Loom
+ loom:
+ name: loom
+ env:
+ # Pin nightly to avoid being impacted by breakage
+ RUST_VERSION: nightly-2020-05-19
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v2
+ - name: Install Rust
+ run: rustup update $RUST_VERSION && rustup default $RUST_VERSION
+ - name: Loom tests
+ run: RUSTFLAGS="--cfg loom -Dwarnings" cargo test --lib
+
+ publish_docs:
+ name: Publish Documentation
+ needs:
+ - rustfmt
+ # - clippy
+ - stable
+ - nightly
+ - minrust
+ - cross
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v2
+ - name: Install Rust
+ run: rustup update stable && rustup default stable
+ - name: Build documentation
+ run: cargo doc --no-deps --all-features
+ - name: Publish documentation
+ run: |
+ cd target/doc
+ git init
+ git add .
+ git -c user.name='ci' -c user.email='ci' commit -m 'Deploy Bytes API documentation'
+ git push -f -q https://git:${{ secrets.github_token }}@github.com/${{ github.repository }} HEAD:gh-pages
+ if: github.event_name == 'push' && github.event.ref == 'refs/heads/master' && github.repository == 'tokio-rs/bytes'