Skip to content

fix(provisioning): size RegisterThing publish topic buffer to 150 (#137) #482

fix(provisioning): size RegisterThing publish topic buffer to 150 (#137)

fix(provisioning): size RegisterThing publish topic buffer to 150 (#137) #482

Workflow file for this run

name: CI
on:
push:
branches:
- master
pull_request:
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true
permissions:
id-token: write
contents: write
pull-requests: read
actions: read
env:
ALL_FEATURES: "transfer_mqtt,transfer_http,transfer_http_reqwest"
CARGO_TERM_COLOR: always
jobs:
build:
name: Build
runs-on: ubuntu-latest
steps:
- name: Checkout source code
uses: actions/checkout@v4
- uses: dsherret/rust-toolchain-file@v1
- name: Build (library)
run: cargo build --all --target thumbv7em-none-eabihf
test:
name: Test
runs-on: ubuntu-latest
steps:
- name: Checkout source code
uses: actions/checkout@v4
- uses: dsherret/rust-toolchain-file@v1
- name: Doc Tests
uses: actions-rs/cargo@v1
with:
command: test
args: --doc --features "std,log"
- name: Macro Tests
uses: actions-rs/cargo@v1
with:
command: test
args: -p rustot-derive
- name: Unit Tests
uses: actions-rs/cargo@v1
with:
command: test
args: --lib --features "std,log"
rustfmt:
name: rustfmt
runs-on: ubuntu-latest
steps:
- name: Checkout source code
uses: actions/checkout@v4
- uses: dsherret/rust-toolchain-file@v1
- name: Run rustfmt (library)
run: cargo fmt --all -- --check --verbose
# - name: Run rustfmt (examples)
# run: |
# for EXAMPLE in $(ls examples);
# do
# (cd examples/$EXAMPLE && cargo fmt --all -- --check --verbose)
# done
clippy:
name: clippy
runs-on: ubuntu-latest
env:
CLIPPY_PARAMS: -W clippy::all -W clippy::pedantic -W clippy::nursery -W clippy::cargo -A clippy::future_not_send
steps:
- name: Checkout source code
uses: actions/checkout@v4
- uses: dsherret/rust-toolchain-file@v1
- name: Run clippy (library)
run: cargo clippy --features "log" -- ${{ env.CLIPPY_PARAMS }}
# - name: Run clippy (examples)
# run: |
# for EXAMPLE in $(ls examples);
# do
# (cd examples/$EXAMPLE && cargo clippy -- ${{ env.CLIPPY_PARAMS }})
# done
integration-test:
name: Integration Tests
runs-on: ubuntu-latest
needs: ["build", "test", "rustfmt", "clippy"]
steps:
- name: Checkout source code
uses: actions/checkout@v4
- uses: dsherret/rust-toolchain-file@v1
- name: Assume AWS Role
uses: aws-actions/configure-aws-credentials@v4
with:
role-to-assume: arn:aws:iam::274906834921:role/GitHubActionsDeployRole
aws-region: eu-west-1
audience: sts.amazonaws.com
- name: Integration Tests
uses: actions-rs/cargo@v1
with:
command: test
args: --test '*' --features "transfer_mqtt,transfer_http_reqwest,mqtt_rumqttc,log,std,shadows_kv_persist,shadows_builders" --target x86_64-unknown-linux-gnu
env:
IDENTITY_PASSWORD: ${{ secrets.IDENTITY_PASSWORD }}
AWS_HOSTNAME: a1vq3mi5y3c6j5-ats.iot.eu-west-1.amazonaws.com
RUST_LOG: debug