Skip to content
This repository has been archived by the owner on Jan 9, 2023. It is now read-only.

Set up basic CI #84

Merged
merged 1 commit into from
Oct 14, 2021
Merged

Set up basic CI #84

merged 1 commit into from
Oct 14, 2021

Conversation

davidlenfesty
Copy link
Collaborator

Just runs builds and tests.

Resolves #83

Copy link
Member

@pavel-kirienko pavel-kirienko left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Basic CI is ∞ times better than no CI at all. Should we not also check rustfmt or even Clippy? We used to rely on Clippy here.

@teamplayer3
Copy link
Contributor

Yes, I agree to @pavel-kirienko with check on rustfmt. Clippy can be a little bit annoying, but for cleaner builds it's nice as well.

@davidlenfesty
Copy link
Collaborator Author

Merging because I'd rather build and testing get in right away and I want to spend some time working out how I want to configure clippy,

@davidlenfesty davidlenfesty merged commit 7317d8e into v1 Oct 14, 2021
@davidlenfesty davidlenfesty deleted the david/ci branch October 14, 2021 04:15
davidlenfesty added a commit that referenced this pull request Oct 22, 2021
TODO is add rustfmt and/or clippy, but I want to take my time with the options set there.
davidlenfesty added a commit that referenced this pull request Oct 22, 2021
TODO is add rustfmt and/or clippy, but I want to take my time with the options set there.
davidlenfesty added a commit that referenced this pull request Oct 22, 2021
* Initial v1 work.

* Removed old code, modified README, placed new stuff in.

Currently code is very disorganized, needs to be split a bit.

* rustfmt is magic

* Split out library fairly naively.

* Added simple transmission implementation

* ignore service frames not sent to this node

* no go away travis I don't want to talk to you

* exclusive ranges are a thing

* midway through a partial refactor, bringing out a SessionManager trait

Nothing works yet :)

* more progress on bringing out sessions into a seperate trait

close to being done, basically just need to make the required changes to
Node.

* Remove what I'm working to remove :)

* Largely completed receive transport abstractions.

Last up on the list is the transmit semantics. My current plan for
transport is to feature-gate different transmit functions behind `std`,
but that doesn't fit nicely with my current model. More thinking when I
have more sleep :)

* Implement minimal iterator-based transmit

* started fleshing out basic docs

* starting to write testing

* Toggle is UAVCAN/CAN specific, remove from general frame type

* Finished tests for Can struct

* finished all the CAN transport tests I'll be writing for a bit.

* Added basic message reception example + some bugfixes

Bugfixes:
- Timeout would trigger even as a new transfer started.
- Truncation issues caused by returning an incorrect length from
  metadata

I can receive single frame transfers from pyuavcan now!

* It WORKS (TM)

I haven't fully tested all the possible branches and variants but I can
send to/receive from a pyuavcan node. Tested both on single and
multi-frame transfers.

* Improved documentation

* ran source through the rustfmt grinder

* transport: now that GATs are a thing, move transmit() into the trait

* Remove last Vec inside core of library

* session/std_vec: add method to edit subscription

* remove some of the easy TODOs

* Add transmit function back to Node

* examples/basic: fixed python code and improved DSDL search

Unsure if the API changed or I was never using it correctly but the
HeartbeatPublisher was incorrectly taking the presentation instead of a
node. I also think you're not supposed to use the HeartbeatPublisher
directly, so I made my own.

Also a few little improvements

* examples/basic: updated rust code, minor improvements

* examples/basic: added quick README

* Default to only `no_std` upport

* add std feature

* set no_std as default

* export std_vec_session manager only in std env

* import std::vec::VEc

* use std feature of uavcan lib

* set feature std as default for now

* Generic time impl (#75)

New implementation of Timestamping and clock usage. Most likely to use this crate in embedded environments.

* Fix CanIter loop. (#79)

* transport/can/tests: add make_generic_message_transfer

Reduces boilerplate in some future tests

* transport/can: add test for edge case of 13-byte payload

This case fails (as it should)

* transport/can: fix loop in CanIter in payload size edge cases

Fixes #77

* transport/can: expand payload length testing

Added a few more cases around CRC being shuffled.

We should add more testing around how the iterator implementation splits
data up, just not sure how to implement that atm.

* Add build/testing CI (#84)

TODO is add rustfmt and/or clippy, but I want to take my time with the options set there.

Co-authored-by: Alexander Hübener <[email protected]>
Co-authored-by: Alexander Hübener <[email protected]>
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants