Open stappersg opened 2 years ago
FYI
$ git push --tags
Total 0 (delta 0), reused 0 (delta 0), pack-reused 0
To github.com:avr-rust/delay.git
* [new tag] 0.4.0 -> 0.4.0
$
The build bot says
error[E0472]: asm! is unsupported on this target
Is it using an older version of rustc? Only the very latest rust nightly has fixed AVR8 support plus all new features like asm! macro.
Step 6/11 : RUN wget -q https://sh.rustup.rs/ -O /tmp/rustup.sh && sh /tmp/rustup.sh -y --profile minimal --default-toolchain nightly-2021-01-05 -c rust-src --quiet
That's too old.
That was the last release before they broke AVR8 support. But it has been fixed now, so an upgrade of the compiler can (should) be done.
Yes, we could also be bitten by an old version. We will deal with it in another issue.
For releasing avr_delay
I report:
$ cargo publish
Updating crates.io index
error: no upload token found, please run `cargo login` or pass `--token`
$
AFAIK I have no cargo credentials, I will persuit them.
Those who are more comfortable with cargo publish
:
Are cargo logins and crates coupled?
Incase of yes, they are: How to add an account to a crate?
The owner of a crate can add other owners to the crate in the crate's settings on crates.io (github login).
The owner of a crate can add other owners to the crate in the crate's settings on crates.io (github login).
Ah, thanks @mbuesch and high-lighting @dylanmckay for further awareness on the pending request.
One common option here, especially since you're already using GitHub Actions for CI, would be to also leverage it to publish to crates.io upon pushing a new tag. You'd need to set up an API token as a shared secret (which can be either specific to this repo, or to the avr-rust org as a whole).
Something like this might work:
on:
push:
tags:
- '*'
name: Publish to Cargo
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions-rs/toolchain@v1
with:
toolchain: nightly
profile: minimal
override: true
components: rust-src
- uses: actions-rs/cargo@v1
with:
command: publish
args: --token {{ "${{ secrets.CARGO_API_KEY " }}}}
If you're interested, I'd be happy to work on PRs to this effect, both for this repo as well as https://github.com/avr-rust/ruduino/
@dylanmckay -- you're listed as the owner of https://crates.io/crates/avr_delay
Would it be possible for you to either provide @stappersg a crates.io API token for this project, or create one as a GitHub repository secret (which means it would be usable but not viewable by the other delay
repo owners) so we can get the crates.io version updated from 0.3.2 -> 0.4?
This update is important because it includes the transition from llvm_asm
-> asm
macro, which allows compilation on a current nightly rust toolchain; this is a blocking issue for making the avr-rust/blink
extremely easy for end users to build -- I think making that hello, world
to Rust on AVR as easy as possible will open some doors for beginners!
FWIW I have seen the above two updates
stappers@myhost:~/src/rust/RustAVR/delay
$ cargo publish --no-verify
Updating crates.io index
Packaging avr_delay v0.4.2 (/home/stappers/src/rust/RustAVR/delay)
Uploading avr_delay v0.4.2 (/home/stappers/src/rust/RustAVR/delay)
error: failed to publish to registry at https://crates.io
Caused by:
the remote server responded with an error:
this crate exists but you don't seem to be an owner.
If you believe this is a mistake, perhaps you need to accept an invitation to be an owner before publishing.
stappers@myhost:~/src/rust/RustAVR/delay
$ cargo owner --list
Updating crates.io index
dylanmckay (Dylan McKay)
stappers@myhost:~/src/rust/RustAVR/delay
$
Highlighting @dylanmckay for getting a release of avr_delay
at crates.io that has asm!()
support, that has llvm_asm!()
removed.
Options that I see:
cargo publish --no-verify
cargo owner --add stappersg
and I, stappersg, check and accept invitation then cargo publish --no-verify
cargo owner --add avr-rust
and we gonna find out how that goesThe cargo owner --add avr-rust
idea is based upon this partial output of cargo help owner
:
-a, --add login...
Invite the given user or team as an owner.
and asuming that avr-rust
is the supposed team.
Options that I see:
Or as noted above, I'd be happy to help create a GitHub Actions script, especially since you're already using it, that would only depend on a "repository secret" of a crates.io token with access to the repo (ostensibly generated by the current crate owner). These repository secrets can be shared by all owners of a repo, and are not visible to anyone -- including the person that adds it -- after it is added (by going to Settings
-> Secrets
-> Actions
if memory serves).
The advantage to taking this route is that new versions could be automatically published just by pushing a new git tag, which is handy.
From https://github.com/avr-rust/delay/issues/19#issuecomment-1133587388 is
That's too old.
Today fixed with https://github.com/avr-rust/blink/commit/3ffb7207ebe31dafdaa2fcad5b90730bfa118dff, Revert "[CI] Pin nightly rust to 2021-01-05".
Hi @n8henrie,
Thanks for expressing that you want this crate published at crates.io
.
Since https://github.com/avr-rust/ruduino/commit/61a8e0d1447bf4cd8ee329b608807ba2ea38a9c2, documented in https://github.com/avr-rust/blink/issues/44, is the urgency gone. That buys @dylanmckay more time to respond on https://github.com/avr-rust/delay/issues/19#issuecomment-1158806148. (This comment is some kind of "retransmit" ;-)
Regarding the "Or as noted above, I'd be happy to help" from https://github.com/avr-rust/delay/issues/19#issuecomment-1158830930 that should be, I think, "And as noted above, I'd be happy to help".
Regards Geert Stappers
P.S.
Contacting me outside github.com
, like emailing me, is fine.
Retransmitting the Options that I see:
cargo owner --add stappersg
and I, stappersg, check and accept invitation then the cargo publishcargo owner --add avr-rust
and we gonna find out how that goeswith the hope that it gets seen by @dylanmckay
I'm new to the workflow of a release, I'm asking for help.
Goal is the actual switch from
llvm_asm!
toasm!
.actual switch and version bump have been done.
The failed CI run for Fix build: Use the new rust asm! available in rustc 1.63.0-nightly indicates something extra needs to be done. Maybe something like adding a git tag or sending some trigger signal.
What should I do next?