Parametric TLS for read transactions #407
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
--- | |
on: [pull_request] | |
name: Rust | |
jobs: | |
heed-test: | |
name: Test the heed project | |
runs-on: ${{ matrix.os }} | |
strategy: | |
matrix: | |
os: [ubuntu-latest, windows-latest, macos-latest] | |
include: | |
- os: ubuntu-latest | |
- os: windows-latest | |
- os: macos-latest | |
steps: | |
- uses: actions/checkout@v2 | |
with: | |
submodules: recursive | |
- uses: actions-rs/toolchain@v1 | |
with: | |
profile: minimal | |
toolchain: stable | |
override: true | |
- name: Run cargo test | |
run: | | |
cargo clean | |
cargo test | |
heed3-test: | |
name: Test the heed3 project | |
runs-on: ${{ matrix.os }} | |
strategy: | |
matrix: | |
os: [ubuntu-latest, windows-latest, macos-latest] | |
include: | |
- os: ubuntu-latest | |
- os: windows-latest | |
- os: macos-latest | |
steps: | |
- uses: actions/checkout@v2 | |
with: | |
submodules: recursive | |
- uses: actions-rs/toolchain@v1 | |
with: | |
profile: minimal | |
toolchain: stable | |
override: true | |
- name: Run cargo test | |
run: | | |
cargo clean | |
bash convert-to-heed3.sh | |
cargo test | |
check-heed3: | |
name: Check the heed3 project | |
runs-on: ${{ matrix.os }} | |
strategy: | |
matrix: | |
os: [ubuntu-latest, windows-latest, macos-latest] | |
include: | |
- os: ubuntu-latest | |
- os: windows-latest | |
- os: macos-latest | |
steps: | |
- uses: actions/checkout@v2 | |
with: | |
submodules: recursive | |
- uses: actions-rs/toolchain@v1 | |
with: | |
profile: minimal | |
toolchain: stable | |
override: true | |
- name: Run cargo check | |
run: | | |
cargo clean | |
bash convert-to-heed3.sh | |
cargo check -p heed3 | |
check-all-features: | |
name: Check all the features of the heed project | |
runs-on: ${{ matrix.os }} | |
env: | |
RUSTFLAGS: -D warnings | |
strategy: | |
matrix: | |
os: [ubuntu-latest, macos-latest] | |
include: | |
- os: ubuntu-latest | |
- os: macos-latest | |
steps: | |
- uses: actions/checkout@v2 | |
with: | |
submodules: recursive | |
- uses: actions-rs/toolchain@v1 | |
with: | |
profile: minimal | |
toolchain: stable | |
override: true | |
- id: check_toml | |
run: | | |
if grep -q 'name = "heed3"' heed/Cargo.toml; then | |
echo "should_skip=true" >> $GITHUB_OUTPUT | |
else | |
echo "should_skip=false" >> $GITHUB_OUTPUT | |
fi | |
- name: Run cargo test | |
# Skip it if the CI is running with the heed3 Cargo.toml | |
if: ${{ steps.check_toml.outputs.should_skip == 'false' }} | |
run: | | |
cargo clean | |
cargo check --all-features -p heed | |
check-all-features-heed3: | |
name: Check all the features of the heed3 project | |
runs-on: ${{ matrix.os }} | |
env: | |
RUSTFLAGS: -D warnings | |
strategy: | |
matrix: | |
os: [ubuntu-latest, macos-latest] | |
include: | |
- os: ubuntu-latest | |
- os: macos-latest | |
steps: | |
- uses: actions/checkout@v2 | |
with: | |
submodules: recursive | |
- uses: actions-rs/toolchain@v1 | |
with: | |
profile: minimal | |
toolchain: stable | |
override: true | |
- name: Run cargo test | |
run: | | |
cargo clean | |
bash convert-to-heed3.sh | |
cargo check --all-features -p heed3 | |
examples: | |
name: Run the heed examples | |
runs-on: ${{ matrix.os }} | |
strategy: | |
matrix: | |
os: [ubuntu-latest, macos-latest] | |
include: | |
- os: ubuntu-latest | |
- os: macos-latest | |
steps: | |
- uses: actions/checkout@v2 | |
with: | |
submodules: recursive | |
- uses: actions-rs/toolchain@v1 | |
with: | |
profile: minimal | |
toolchain: stable | |
override: true | |
- id: check_toml | |
run: | | |
if grep -q 'name = "heed3"' heed/Cargo.toml; then | |
echo "should_skip=true" >> $GITHUB_OUTPUT | |
else | |
echo "should_skip=false" >> $GITHUB_OUTPUT | |
fi | |
- name: Run the examples | |
# Skip it if the CI is running with the heed3 Cargo.toml | |
if: ${{ steps.check_toml.outputs.should_skip == 'false' }} | |
run: | | |
cargo clean | |
# rmp-serde needs a feature activated, so we'll just run it separately. | |
cargo run --example 2>&1 | grep -E '^ ' | awk '!/rmp-serde/' | xargs -n1 cargo run --example | |
cargo run --example rmp-serde --features serde-rmp | |
heed3-examples: | |
name: Run the heed3 examples | |
runs-on: ${{ matrix.os }} | |
strategy: | |
matrix: | |
os: [ubuntu-latest, macos-latest] | |
include: | |
- os: ubuntu-latest | |
- os: macos-latest | |
steps: | |
- uses: actions/checkout@v2 | |
with: | |
submodules: recursive | |
- uses: actions-rs/toolchain@v1 | |
with: | |
profile: minimal | |
toolchain: stable | |
override: true | |
- name: Run the examples | |
run: | | |
cargo clean | |
bash convert-to-heed3.sh | |
cargo run --example 2>&1 | grep -E '^ '| xargs -n1 cargo run --example | |
clippy: | |
name: Ensure clippy is happy on heed and heed3 | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
with: | |
submodules: recursive | |
- uses: actions-rs/toolchain@v1 | |
with: | |
profile: minimal | |
toolchain: stable | |
override: true | |
- name: Run the examples | |
run: | | |
cargo clippy --all-targets -- --deny warnings | |
bash convert-to-heed3.sh | |
cargo clippy --all-targets -- --deny warnings | |
fmt: | |
name: Ensure the heed and heed3 project are formatted | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- uses: actions-rs/toolchain@v1 | |
with: | |
profile: minimal | |
toolchain: nightly | |
override: true | |
components: rustfmt | |
- name: Run cargo fmt | |
run: | | |
cargo fmt --check | |
bash convert-to-heed3.sh | |
cargo fmt --check | |
no-heed3-in-heed-folder: | |
name: Ensure heed3 is not erasing heed | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Check name is heed with grep | |
run: grep -q 'name = "heed"' heed/Cargo.toml |