Stream: t-cargo/PubGrub

Topic: Wrapping up v0.2


view this post on Zulip Matthieu Pizenberg (Nov 03 2020 at 18:54):

We've done a lot of things since we joined forces (so much I won't list them now ^^). I'd really like if we could focus this couple of weeks on cleaning things up and releasing a v0.2. For that, in my opinion we'd need to:

@Eh2406 you seem to be the one most ahead of us regarding work left, would you mind helping completing the guide?

view this post on Zulip Eh2406 (Nov 03 2020 at 19:05):

I will try to focus on what needs to be done instead of perf. But I do love perf work and long form writing is not my strong suit. So we will see what happens :stuck_out_tongue:
@Matthieu Pizenberg Any guidance on on how I can help with the guide?

view this post on Zulip Matthieu Pizenberg (Nov 03 2020 at 19:25):

Ahah, regarding the guide there are 3 subsections untouched yet in the section about using pubgrub. There is also the section about describing how to do performance optimization since you like perf work ^^.

view this post on Zulip Matthieu Pizenberg (Nov 03 2020 at 19:32):

Otherwise, before continuing perf work, it would be better to widen our synthetic dataset of registries with real ones. I'll handle the elm one, but if you could find another one that could be handled already as discussed in the corresponding issue (cannot link now, on mobile) that would be great

view this post on Zulip Eh2406 (Nov 05 2020 at 20:47):

I did some work on the guide, I could use some feedback to make sure it is helpful and my plans are in the correct direction.

view this post on Zulip Eh2406 (Nov 05 2020 at 20:57):

I also started trying to build a benchmark from https://github.com/rust-lang/crates.io-index
Taking only versions that are supported by our SemanticVersion.
Converting dependency requirements to Range by finding the min and max that match the original requirement and doing Range::between(min, max.bump()).
Optional dependencies are assumed to be required, unless it will make my script have an infinite loop.
So this is not realistic as it is "one-per-name" not "one-per-major" and it does not handle optional correctly, but it is based on a true source. And it is 5MB.

view this post on Zulip Eh2406 (Nov 06 2020 at 19:01):

Better handling of the circular dependencies, now allow it to just say all optional dependencies are assumed to be required.
Only processing versions that match some requirement brings the file down to 1.5MB.

view this post on Zulip Eh2406 (Nov 07 2020 at 04:04):

Handling optional dependencies correctly. Using the plan from https://github.com/pubgrub-rs/advanced_dependency_providers/issues/1, brings it back up to 7MB.

view this post on Zulip Eh2406 (Nov 09 2020 at 23:07):

So I added a hack for "one-per-major", by skipping dependencies like ">=0.3, <0.5" which does not happen in the crates that happen to be selected.
Now trying to figure out why it thinks that serde=">=1.0.117" does not have a solution when that is the version that cargo selects. Clearly a bug somewhere. And the SAT solver does not think it is in PubGrub. So it must be in my mess.

view this post on Zulip Eh2406 (Nov 10 2020 at 02:56):

Got it working! So it is now a fairly small "happy path" benchmark. It may be more interesting with minimum versions, but that is an experiment for another time. What parts of the file are relevant to the benchmark will change with pubgrub#50, so I will wait on that to make a PR.
Meanwhile the code for generating the benchmark, while a hacky mess, may be useful to build other benchmarks and start exploring Cargos use cases.

view this post on Zulip Matthieu Pizenberg (Nov 11 2020 at 09:08):

I did some work on the guide, I could use some feedback to make sure it is helpful and my plans are in the correct direction.

Thanks! I finally get some time until next week :)

view this post on Zulip Matthieu Pizenberg (Nov 11 2020 at 09:10):

Meanwhile the code for generating the benchmark, while a hacky mess, may be useful to build other benchmarks and start exploring Cargos use cases

great!

view this post on Zulip Matthieu Pizenberg (Nov 11 2020 at 10:12):

@Eh2406 I'm not getting the pigeonhole analogy, what is meant to be compared with the pigeon / the hole?

view this post on Zulip Matthieu Pizenberg (Nov 11 2020 at 16:52):

Also I'm not understanding the sentence

If pubgrub finds a solution then adding statements that match it does not lead to a contradiction

view this post on Zulip Matthieu Pizenberg (Nov 11 2020 at 16:54):

Thanks for the explanation on the strategy and the sat solver! I've reviewed and modified it directly in the guide branch. Let me know if you do not like some changes I made.

view this post on Zulip Eh2406 (Nov 11 2020 at 20:19):

@Matthieu Pizenberg I like all the changes you made! Thank you!

view this post on Zulip Eh2406 (Nov 11 2020 at 20:35):

pigeonhole analogy

The thought was that the dependencies are the "pigeons" and the packages that can be depended on are the "holes".
Let's say we are making dependencies for a version the package "D" and we can have 5 dependencies . We will end up depending on all the packages available as there are only 3 (A..=B). Pick 5 from 3.

anyway with your edits, it is clear enough without the reference.

view this post on Zulip Eh2406 (Nov 11 2020 at 20:43):

If pubgrub finds a solution then adding statements that match it does not lead to a contradiction

I was trying (unsuccessfully) to describe this assertion. If pubgrub thinks there is a solution, then setting b_p,v to true if that version is selected and to false if it is not selected should make the SAT solver happy.

view this post on Zulip Matthieu Pizenberg (Nov 11 2020 at 20:46):

ooh I see, isn't that an implementation detail of saying "check that this solution is valid"?

view this post on Zulip Matthieu Pizenberg (Nov 11 2020 at 20:51):

I interpreted it in my modification as a "if and only if". But in reality, we don't run the SAT solver from scratch for a registry. We initialize it with pubgrub solution and check that the solution is correct. Only if pubgrub does not find a solution, we run the SAT and verify that no solution is found either.

I'll modify that "if and only if" in the guide

view this post on Zulip Matthieu Pizenberg (Nov 11 2020 at 20:53):

ooh I see, isn't that an implementation detail of saying "check that this solution is valid"?

I mean, instead of explaining in details that we add assumptions, and verify that the sat solver still pass, I think we can just state that we use the SAT solver to check a solution.

view this post on Zulip Eh2406 (Nov 11 2020 at 20:54):

Sounds good.

view this post on Zulip Eh2406 (Nov 12 2020 at 01:50):

If you want me to try a draft at some other sections, I could use some feedback on https://github.com/pubgrub-rs/pubgrub/pull/45#issuecomment-721372342

view this post on Zulip Matthieu Pizenberg (Nov 12 2020 at 16:06):

I went ahead and merged the three clippy-related issues initiated by @Alex Tokarev. There was very few things left to check. I made small changes explained in the respective PRs before merging them.

view this post on Zulip Matthieu Pizenberg (Nov 12 2020 at 16:14):

@Eh2406 now that clippy-related PRs are merged, could you rebase your PRs 50 to 60 on dev so that clippy also runs on those. I'll assume that issue 50 introducing make_decision will be merged and finish the guide accordingly.

view this post on Zulip Matthieu Pizenberg (Nov 12 2020 at 16:18):

@Alex Tokarev when you have some time, the priority now is checking that PRs pubgrub#50, pubgrub#55 and pubgrub#58 are ok for you.

view this post on Zulip Alex Tokarev (Nov 12 2020 at 16:30):

Hi @Matthieu Pizenberg. I was on-call support with a few sleepless nights in a row. And you don't have less work during day time either, quite the opposite. I'm going insane :smile:
Fortunately it's about to end, so I will go through the PRs this weekend.

Sorry for not participating more lately, I'm disappointed myself that I'm being a bottleneck here.

view this post on Zulip Matthieu Pizenberg (Nov 12 2020 at 16:33):

Don't worry @Alex Tokarev I assumed you'd be overbooked and removed a bit of your work load ^^. Take care and recover some sleep first! Then when you feel better you can have a look at those PRs

view this post on Zulip Eh2406 (Nov 12 2020 at 18:29):

@Alex Tokarev Yes, self care has to be the priority. Get some sleep.
@Matthieu Pizenberg All your changes look wonderful to me. Did you like the "ask permission" version of pubgrub#58?
I will work on rebasing when I get a minute to look at it.

view this post on Zulip Matthieu Pizenberg (Nov 12 2020 at 19:04):

I haven't checked yet what you did there. I'll look at it tomorrow I think

view this post on Zulip Eh2406 (Nov 12 2020 at 22:41):

Rebased.

view this post on Zulip Matthieu Pizenberg (Nov 13 2020 at 23:10):

finished my detailed review of 50, tomorrow I'll redo a detailed review of 58

view this post on Zulip Matthieu Pizenberg (Nov 14 2020 at 14:00):

PRs 50, 55, 58, 60 and 61 are ready to be merged when we have Alex green light. Then I'll probably do a cleanup and preparation PR for v0.2.

As said in the "guide" PR, I think it will make more sense to move the guide out of the code repo, so I'll do that just before PR for v0.2

view this post on Zulip Matthieu Pizenberg (Nov 14 2020 at 14:03):

Meanwhile, I'll work on code to read config files of elm projects in order to prepare the registry index of all elm packages for benchmark purposes. That will also be useful for the elm dependency provider.

view this post on Zulip Alex Tokarev (Nov 14 2020 at 15:32):

Hi everyone, I'm catching up to all the awesome work you've done so far :smile:

view this post on Zulip Eh2406 (Nov 14 2020 at 16:26):

Meanwhile, I'll work on code to read config files of elm projects in order to prepare the registry index of all elm packages for benchmark purposes. That will also be useful for the elm dependency provider.

What I was thinking when working on my "serde" benchmark is that the in tree benchmark code is a *_str_SemanticVersion.ron file. The code to parse the index / config files and convert to the ron file can live out of tree. What did you have in mind?

view this post on Zulip Matthieu Pizenberg (Nov 14 2020 at 17:16):

What did you have in mind?

Nothing special, I'm just doing some ad-hoc executable to fetch and read all the elm.json configs of all elm packages, and putting them all together in an OfflineDependencyProvider to serialize this into a ron file.

view this post on Zulip Eh2406 (Nov 14 2020 at 17:19):

Sounds like we are on the same page.

view this post on Zulip Alex Tokarev (Nov 14 2020 at 22:13):

I've caught up with the changes to my merged PRs, all good :rocket:

I've left some comments on pubgrub#50 which I'd like to discuss, and did naming changes to pubgrub#55 which is ready to merge if you agree with them.

Will continue tomorrow :smile: Thank you again for your work and for being so patient :wink:

view this post on Zulip Matthieu Pizenberg (Nov 18 2020 at 11:02):

Post for /r/rust when publishing v0.2:


Announcing pubgrub v0.2: a flexible version solver

PubGrub is a version solving algorithm based on conflict driven no-good learning,
created by Natalie Weizenbaum for the package manager of the Dart programming language.
Its goal is to compute a set of package versions that satisfies all dependencies of a project,
and it aims at being faster than the alternatives,
while giving better explanations when no solution is possible.

This crate is an implementation from scratch of the PubGrub algorithm in Rust.
It is generic over the package and version types to provide maximum flexibility.
A guide is also provided to walk you through its high-level features and internal details.
Beware that it's still a WIP so API changes will continue to occur
but we are now ready for community feedback.

view this post on Zulip Eh2406 (Nov 18 2020 at 14:02):

That sounds like a wonderful announcement.

view this post on Zulip Alex Tokarev (Nov 18 2020 at 14:50):

no-good learning

Does it mean it's bad? /s

view this post on Zulip Matthieu Pizenberg (Nov 18 2020 at 14:56):

Does it mean it's bad? /s

good spot actually it's "nogood" without the "-"

view this post on Zulip Alex Tokarev (Nov 18 2020 at 16:19):

I was just making a joke but I guess :laughing:

view this post on Zulip Alex Tokarev (Nov 18 2020 at 16:20):

Do we want to note in the post that the crate is under active development and API is subject to change?

view this post on Zulip Matthieu Pizenberg (Nov 18 2020 at 16:23):

I prefer to lower people expectation so only the most motivated persons start interacting ^^

view this post on Zulip Alex Tokarev (Nov 18 2020 at 16:58):

Ah right, actually I wanted to note that as well and didn't notice you already did so in the last sentence.

view this post on Zulip Matthieu Pizenberg (Nov 18 2020 at 18:33):

It looks like we've covered everything important, @Eh2406 how should I add you to the authors field of cargo toml? (name and email)

view this post on Zulip Alex Tokarev (Nov 18 2020 at 18:37):

Did we generate a changelog already?

view this post on Zulip Matthieu Pizenberg (Nov 18 2020 at 18:38):

I wrote it manually yeah, you can have a look at it in the pr

view this post on Zulip Eh2406 (Nov 18 2020 at 18:40):

Looks like I used "Jacob Finkelman <Eh2406@wayne.edu>" in previous projects.

view this post on Zulip Matthieu Pizenberg (Nov 18 2020 at 18:41):

@Alex Tokarev what is the conventionnal tag for a modification of cargo toml?

view this post on Zulip Matthieu Pizenberg (Nov 18 2020 at 18:47):

Did we generate a changelog already?

I need to change the release date

view this post on Zulip Alex Tokarev (Nov 18 2020 at 18:58):

Good question. Looking at this list https://github.com/angular/angular/blob/master/CONTRIBUTING.md#type where we stole our tags from, nothing really fits for adding an author. As for changes to Cargo.toml in general, build seems appropriate.

view this post on Zulip Alex Tokarev (Nov 18 2020 at 19:01):

Found a good way to look at changelog: https://github.com/pubgrub-rs/pubgrub/pull/63/files?short_path=06572a9#diff-06572a96a58dc510037d5efa622f9bec8519bc1beab13c9f251e97e657a9d4ed

view this post on Zulip Alex Tokarev (Nov 18 2020 at 19:03):

Changes affecting the public API

Or we can say "breaking changes"

view this post on Zulip Alex Tokarev (Nov 18 2020 at 19:04):

Using SPDX license identifiers instead of MPL-2.0 classic file headers.

That's a part of internal changes, not public

view this post on Zulip Alex Tokarev (Nov 18 2020 at 19:05):

The Solver trait was replaced by a DependencyProvider trait which now must implement a choose_package_version method instead of list_available_versions. So it now has the ability to choose a package in addition to a version.

There was no option to choose a version before.

view this post on Zulip Eh2406 (Nov 18 2020 at 19:06):

you could choose what order the versions were tried in.

view this post on Zulip Alex Tokarev (Nov 18 2020 at 19:08):

Well.. true. I retract my comment :smile:

view this post on Zulip Alex Tokarev (Nov 18 2020 at 19:09):

New "serde" feature that serialize and deserialize few types in the API.

We used it for benchmarking only, does it have any practical public uses?

view this post on Zulip Eh2406 (Nov 18 2020 at 19:10):

If someone else wants to make a benchmark? Or store test cases?

view this post on Zulip Alex Tokarev (Nov 18 2020 at 19:12):

Isn't that only for library developers? :thinking:

view this post on Zulip Alex Tokarev (Nov 18 2020 at 19:12):

For users they would store their own test cases in whatever format they use to supply dependencies into DependencyProvider

view this post on Zulip Eh2406 (Nov 18 2020 at 19:13):

Ya, probably.

view this post on Zulip Alex Tokarev (Nov 18 2020 at 19:14):

New variants for error::PubGrubError which are DependencyOnTheEmptySet, SelfDependency, ErrorChoosingPackageVersion and ErrorShouldCancel

When I read this sentence I realized ErrorShouldCancel sounds somewhat robotic :smile: Can we do a quick ErrorInShouldCancel change before publishing?

view this post on Zulip Alex Tokarev (Nov 18 2020 at 19:18):

I just realized a lot of these comments are better suited as Github "request changes" ones, going to submit trivial stuff there.

view this post on Zulip Matthieu Pizenberg (Nov 18 2020 at 19:29):

Or we can say "breaking changes"

This is different, changes can affect the public API without being breaking changes. They are only breaking of there is something in the changed and removed sections

view this post on Zulip Matthieu Pizenberg (Nov 18 2020 at 19:31):

I was not comfortable putting all internal changes in one single category so I preferred duplicate the sections into user-facing and not user-facing

view this post on Zulip Matthieu Pizenberg (Nov 18 2020 at 19:32):

Regarding SPDX, it is not breaking anything but that changes does touch public-facing code.

view this post on Zulip Matthieu Pizenberg (Nov 18 2020 at 19:33):

We used it for benchmarking only, does it have any practical public uses?

Yes it does, I need it in the elm dependency provider

view this post on Zulip Alex Tokarev (Nov 18 2020 at 19:35):

Regarding SPDX, it is not breaking anything but that changes does touch public-facing code.

The license is the same, why does public care about what format we use to convey it :thinking:

view this post on Zulip Alex Tokarev (Nov 18 2020 at 19:36):

Yes it does, I need it in the elm dependency provider

Interesting! Could you link to it please?

view this post on Zulip Matthieu Pizenberg (Nov 18 2020 at 19:36):

I don't know ^^. I just notice it's a change and it's public facing. If people use it for their script and such, don't know ^^

view this post on Zulip Matthieu Pizenberg (Nov 18 2020 at 19:37):

Maybe a bit far-fetched, I'm fine putting this in the internal section too

view this post on Zulip Eh2406 (Nov 18 2020 at 19:39):

a new serde feature that allows serializing some types from the library, mostly useful for making simple reproducible bug reports for this library.

view this post on Zulip Matthieu Pizenberg (Nov 18 2020 at 19:41):

Interesting! Could you link to it please?

Can't link since there is no repo yet but basically I have this for example:

pub struct Constraint(pub Range<SemVer>);

impl Serialize for Constraint {
    fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
    where
        S: Serializer,
    {
        serializer.serialize_str(self.0.to_string().as_str())
    }
}

impl<'de> Deserialize<'de> for Constraint {
    fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
    where
        D: Deserializer<'de>,
    {
        let s = String::deserialize(deserializer)?;
        FromStr::from_str(&s).map_err(serde::de::Error::custom)
    }
}

view this post on Zulip Matthieu Pizenberg (Nov 18 2020 at 19:41):

Bad example XD

view this post on Zulip Alex Tokarev (Nov 18 2020 at 19:44):

Eh2406 said:

a new serde feature that allows serializing some types from the library, mostly useful for making simple reproducible bug reports for this library.

Hm, sounds like a nice description! I'll submit it as a proposal to the changelog if you don't mind.

view this post on Zulip Matthieu Pizenberg (Nov 18 2020 at 19:49):

Interesting! Could you link to it please?

So I've skimmed through the code and in fact I whished I had it but the code was based on the master branch when I started so there wasn't the feature and I was basically forced to copy-paste the whole SemanticVersion type into a file of my own. And I whished I didn't have to ^^

view this post on Zulip Alex Tokarev (Nov 18 2020 at 19:54):

Makes sense!

view this post on Zulip Matthieu Pizenberg (Nov 18 2020 at 19:58):

When I read this sentence I realized ErrorShouldCancel sounds somewhat robotic :smile: Can we do a quick ErrorInShouldCancel change before publishing?

@Alex Tokarev fire it :)

view this post on Zulip Alex Tokarev (Nov 18 2020 at 19:59):

Going to! How did you mark a message with a red background?

view this post on Zulip Matthieu Pizenberg (Nov 18 2020 at 20:00):

put your name in it, you are fire man

view this post on Zulip Alex Tokarev (Nov 18 2020 at 20:17):

@Alex Tokarev
Woah

view this post on Zulip Alex Tokarev (Nov 18 2020 at 20:17):

@Matthieu Pizenberg
Now your turn :fire:

view this post on Zulip Matthieu Pizenberg (Nov 18 2020 at 20:18):

ahah

view this post on Zulip Alex Tokarev (Nov 18 2020 at 20:18):

@Eh2406 :fire:

view this post on Zulip Alex Tokarev (Nov 18 2020 at 20:20):

Btw, I've :fire:d the PR and submitted some change proposals here https://github.com/pubgrub-rs/pubgrub/pull/63. Might add some more

view this post on Zulip Matthieu Pizenberg (Nov 18 2020 at 20:22):

Epic fail on my attempt at commit your review ahahahah

view this post on Zulip Matthieu Pizenberg (Nov 18 2020 at 20:23):

2nd attempt

view this post on Zulip Alex Tokarev (Nov 18 2020 at 20:27):

Matthieu Pizenberg said:

Epic fail on my attempt at commit your review ahahahah

Why? I think you can just do it through Github with 1 button click

view this post on Zulip Alex Tokarev (Nov 18 2020 at 20:28):

Also "Add suggestion to batch" queues them for a single commit

view this post on Zulip Matthieu Pizenberg (Nov 18 2020 at 20:30):

Why?

https://github.com/pubgrub-rs/pubgrub/pull/63#pullrequestreview-533844186

view this post on Zulip Alex Tokarev (Nov 18 2020 at 20:34):

Didn't even notice!

view this post on Zulip Alex Tokarev (Nov 18 2020 at 20:37):

![license](https://img.shields.io/crates/l/pubgrub.svg)

Never heard of shields.io, is this where everyone hosts their badge icons?

view this post on Zulip Eh2406 (Nov 18 2020 at 20:37):

yes

view this post on Zulip Matthieu Pizenberg (Nov 18 2020 at 20:39):

That conventional commit thingy is sometimes annoying me

view this post on Zulip Alex Tokarev (Nov 18 2020 at 20:41):

I guess you can ignore it if the commits are going to be squashed

view this post on Zulip Alex Tokarev (Nov 18 2020 at 20:42):

We can also configure it to produce a warning instead, so that the whole thing is marked as "Pipeline passed with warnings" instead.

view this post on Zulip Matthieu Pizenberg (Nov 18 2020 at 20:45):

Alright, I've updated the release date now, everything ok?

view this post on Zulip Alex Tokarev (Nov 18 2020 at 20:45):

Cool, you can change badge colors directly in URL:
https://img.shields.io/badge/guide-pubgrub-aa69b4?logo=read-the-docs

view this post on Zulip Matthieu Pizenberg (Nov 18 2020 at 20:46):

Yeah customization is almost infinite ^^

view this post on Zulip Matthieu Pizenberg (Nov 18 2020 at 20:46):

there are other providers too

view this post on Zulip Alex Tokarev (Nov 18 2020 at 20:51):

Btw, the change in that color link what random one from 'ff' to 'aa' and I like it more. Going to sneak it in while you are not looking :laughing:

view this post on Zulip Alex Tokarev (Nov 18 2020 at 20:52):

Oh you can also just write purple instead
https://img.shields.io/badge/guide-pubgrub-purple?logo=read-the-docs

view this post on Zulip Matthieu Pizenberg (Nov 18 2020 at 20:53):

I liked the pink one :) used to live in the pink city: https://en.wikipedia.org/wiki/Toulouse

view this post on Zulip Alex Tokarev (Nov 18 2020 at 20:54):

https://img.shields.io/badge/guide-pubgrub-pink?logo=read-the-docs

view this post on Zulip Alex Tokarev (Nov 18 2020 at 20:55):

I like that their "pink" version changes text color to black and it's easier to read

view this post on Zulip Alex Tokarev (Nov 18 2020 at 20:55):

Do you like that one? :smile:

view this post on Zulip Alex Tokarev (Nov 18 2020 at 20:56):

Also, I realize I'm just goofing here :big_smile:

view this post on Zulip Matthieu Pizenberg (Nov 18 2020 at 20:56):

yep I'll change it

view this post on Zulip Matthieu Pizenberg (Nov 18 2020 at 20:58):

@Alex Tokarev you still have your "request changes" active

view this post on Zulip Matthieu Pizenberg (Nov 18 2020 at 20:58):

"change requested" I meant

view this post on Zulip Alex Tokarev (Nov 18 2020 at 21:04):

Hm, I don't know why, everything seems to be resolved.

view this post on Zulip Matthieu Pizenberg (Nov 18 2020 at 21:05):

never used that feature I think we have to manually change it

view this post on Zulip Alex Tokarev (Nov 18 2020 at 21:05):

Well, I guess submitting an approve works.

view this post on Zulip Matthieu Pizenberg (Nov 18 2020 at 21:06):

Alright count down 10s 9s 8s ...

view this post on Zulip Alex Tokarev (Nov 18 2020 at 21:06):

7 6 5

view this post on Zulip Alex Tokarev (Nov 18 2020 at 21:07):

4 3 2 1

view this post on Zulip Alex Tokarev (Nov 18 2020 at 21:07):

0

view this post on Zulip Matthieu Pizenberg (Nov 18 2020 at 21:07):

what's the conventional commit ?

view this post on Zulip Matthieu Pizenberg (Nov 18 2020 at 21:07):

lol

view this post on Zulip Alex Tokarev (Nov 18 2020 at 21:09):

https://github.com/angular/angular/search?q=release&type=commits

I guess they use release

view this post on Zulip Matthieu Pizenberg (Nov 18 2020 at 21:09):

didn't see any so since it's not checked once committed :)

view this post on Zulip Matthieu Pizenberg (Nov 18 2020 at 21:10):

I'll do a merge commit with release

view this post on Zulip Matthieu Pizenberg (Nov 18 2020 at 21:10):

and tag v0.2.0

view this post on Zulip Alex Tokarev (Nov 18 2020 at 21:11):

Yeah I haven't come up with a solution for a push check

view this post on Zulip Matthieu Pizenberg (Nov 18 2020 at 21:13):

remote: error: GH006: Protected branch update failed for refs/heads/release.
remote: error: At least 3 approving reviews are required by reviewers with write access.
To github.com:pubgrub-rs/pubgrub.git
 ! [remote rejected] release -> release (protected branch hook declined)
error: failed to push some refs to 'github.com:pubgrub-rs/pubgrub.git'

view this post on Zulip Alex Tokarev (Nov 18 2020 at 21:13):

Maybe the answer in "GitHub pre commit hooks" search query

view this post on Zulip Matthieu Pizenberg (Nov 18 2020 at 21:13):

epic fail ahah

view this post on Zulip Matthieu Pizenberg (Nov 18 2020 at 21:13):

I guess I'll make a PR then ^^

view this post on Zulip Alex Tokarev (Nov 18 2020 at 21:14):

Btw, are we going to add a merge commit or keep the history linear?

view this post on Zulip Matthieu Pizenberg (Nov 18 2020 at 21:14):

add merge commit

view this post on Zulip Matthieu Pizenberg (Nov 18 2020 at 21:15):

ah the PR to master triggers twice and tells me twice that the conventional commit is not good ahah

view this post on Zulip Matthieu Pizenberg (Nov 18 2020 at 21:17):

What should we do CI-master @Alex Tokarev ?

view this post on Zulip Alex Tokarev (Nov 18 2020 at 21:17):

We can fix it in dev by force pushing. Also I need to whitelist release in conventional commit CI hook

view this post on Zulip Matthieu Pizenberg (Nov 18 2020 at 21:18):

Can we authorize merge commit for the release branch while keeping rebase/squash behavior for the dev branch?

view this post on Zulip Alex Tokarev (Nov 18 2020 at 21:19):

I guess the message of the last commit should be:
feat!: prepare 0.2 version or something along the lines?

view this post on Zulip Alex Tokarev (Nov 18 2020 at 21:19):

Ah, as for master yes, we can allow merge commit strategy only there.

view this post on Zulip Matthieu Pizenberg (Nov 18 2020 at 21:20):

feat!: prepare 0.2 version or something along the lines?

Could be. If you push to dev can you edit that commit then?

view this post on Zulip Alex Tokarev (Nov 18 2020 at 21:21):

Yes. I'll also whilelist release tag.

view this post on Zulip Alex Tokarev (Nov 18 2020 at 21:23):

Hm, is using
release: prepare 0.2 better?

view this post on Zulip Matthieu Pizenberg (Nov 18 2020 at 21:24):

I'd prefer prepare butter

view this post on Zulip Alex Tokarev (Nov 18 2020 at 21:25):

This way we'll have 2 release commits per release though, hm

view this post on Zulip Matthieu Pizenberg (Nov 18 2020 at 21:26):

it's ok only the one on release get tagged.

view this post on Zulip Matthieu Pizenberg (Nov 18 2020 at 21:26):

A bit like some automated bots make dedicated commits for releases, except here it's attached to a branch

view this post on Zulip Alex Tokarev (Nov 18 2020 at 21:28):

Btw, I've noticed the following in the release branch:
image.png

view this post on Zulip Matthieu Pizenberg (Nov 18 2020 at 21:29):

not following?

view this post on Zulip Alex Tokarev (Nov 18 2020 at 21:29):

That means that these 5 commits are in dev, with an additional commit in release. So that "initial version" is in the middle of dev branch, but not there

view this post on Zulip Alex Tokarev (Nov 18 2020 at 21:30):

Am I right?

view this post on Zulip Alex Tokarev (Nov 18 2020 at 21:31):

Maybe it's not that :thinking: Hm, why is it not linear there

view this post on Zulip Matthieu Pizenberg (Nov 18 2020 at 21:32):

I'm not sure what you mean but its the last commit on release so they can represent it how they want

view this post on Zulip Alex Tokarev (Nov 18 2020 at 21:34):

image.png

view this post on Zulip Alex Tokarev (Nov 18 2020 at 21:34):

This is what I mean. 5 commits above the selected one in the last screen shot are in the dev branch while skipping "Initial version..." one from release.

view this post on Zulip Alex Tokarev (Nov 18 2020 at 21:35):

It was cut out too early

view this post on Zulip Matthieu Pizenberg (Nov 18 2020 at 21:35):

ahh I think I see what you mean

view this post on Zulip Alex Tokarev (Nov 18 2020 at 21:35):

I can drop them from dev

view this post on Zulip Matthieu Pizenberg (Nov 18 2020 at 21:36):

ahah it's ok, we can just follow things from now on

view this post on Zulip Alex Tokarev (Nov 18 2020 at 21:37):

Maybe I'm just misunderstanding something :sleeping: Ok, whatever

view this post on Zulip Matthieu Pizenberg (Nov 18 2020 at 21:37):

https://github.com/pubgrub-rs/pubgrub/network

view this post on Zulip Alex Tokarev (Nov 18 2020 at 21:39):

Damn, it's just a merge commit

view this post on Zulip Alex Tokarev (Nov 18 2020 at 21:39):

Sorry I'm sleepy I guess))

view this post on Zulip Matthieu Pizenberg (Nov 18 2020 at 21:44):

Let's wait until tomorrow then, we can just change the release date tomorrow and finish it up then

view this post on Zulip Eh2406 (Nov 18 2020 at 21:45):

BTW, just got off the Cargo Team meeting, they are all excited to see the release!

view this post on Zulip Matthieu Pizenberg (Nov 18 2020 at 21:47):

image.png

ahahah that thing is a troll

view this post on Zulip Matthieu Pizenberg (Nov 18 2020 at 21:48):

@Alex Tokarev you should restrict CI for PR in the dev branch

view this post on Zulip Alex Tokarev (Nov 18 2020 at 21:48):

I thought it's because PR was made before I whitelisted release type

view this post on Zulip Matthieu Pizenberg (Nov 18 2020 at 21:48):

ah, don't know ...

view this post on Zulip Alex Tokarev (Nov 18 2020 at 21:50):

I guess not, it's complaining about an old commit

view this post on Zulip Matthieu Pizenberg (Nov 18 2020 at 21:50):

I think if you restrict

name: CI
on:
  pull_request:
    branches: [ dev ]

view this post on Zulip Matthieu Pizenberg (Nov 18 2020 at 21:50):

that should make it happy and prevent double CI

view this post on Zulip Alex Tokarev (Nov 18 2020 at 21:53):

I can also relax our conventional messages config while we are at it

view this post on Zulip Alex Tokarev (Nov 18 2020 at 21:54):

So it complains about too long body length. I see there is a link in a commit message:

https://github.com/dart-lang/pub/blob/23a59a380cdc88aca6a50f9b0147ecdd3b948919/lib/src/solver/incompatibility.dart#L68

Well it's a legit usecase, so we can drop 72 symbols restriction from body lines I think

view this post on Zulip Alex Tokarev (Nov 18 2020 at 21:56):

footer must have leading blank line

But... There is no footer in that commit message.

view this post on Zulip Alex Tokarev (Nov 18 2020 at 21:57):

The errors are in fix: fix the wrong implementation of prior_cause (#23)

view this post on Zulip Matthieu Pizenberg (Nov 18 2020 at 21:59):

yeah making it just a warning might be a better option

view this post on Zulip Alex Tokarev (Nov 18 2020 at 22:16):

Done

view this post on Zulip Alex Tokarev (Nov 18 2020 at 22:17):

Now our linting is not nazi anymore

view this post on Zulip Matthieu Pizenberg (Nov 18 2020 at 22:17):

3 approval is impossible ^^ I can't approve my own pr :)

view this post on Zulip Alex Tokarev (Nov 18 2020 at 22:17):

Well, maybe much less so :grinning_face_with_smiling_eyes:

view this post on Zulip Alex Tokarev (Nov 18 2020 at 22:17):

1 or 2?

view this post on Zulip Matthieu Pizenberg (Nov 18 2020 at 22:18):

2 better

view this post on Zulip Alex Tokarev (Nov 18 2020 at 22:19):

Changed

view this post on Zulip Alex Tokarev (Nov 18 2020 at 22:21):

Regarding double CI, it shouldn't happen in the future unless we open the MR to release and then have this much fun with dev at the same time.

view this post on Zulip Alex Tokarev (Nov 18 2020 at 22:22):

I changed 2 files if you are curious: .commitlintrc.yml and ci.yml

view this post on Zulip Matthieu Pizenberg (Nov 18 2020 at 22:25):

image.png

I've added the merge commit button to be able to merge to release with a merge commit

view this post on Zulip Alex Tokarev (Nov 18 2020 at 22:26):

Ah, I changed another option to allow merge commits in release branch, I guess it wasn't enough

view this post on Zulip Matthieu Pizenberg (Nov 18 2020 at 22:26):

image.png

Since we have that in the dev branch setup, it should not be possible to use the merge button for a PR to dev I think (not sure)

view this post on Zulip Matthieu Pizenberg (Nov 18 2020 at 22:27):

All should be good now on @Eh2406 approval

view this post on Zulip Alex Tokarev (Nov 18 2020 at 22:28):

That's what I removed from release branch config today I think

view this post on Zulip Alex Tokarev (Nov 18 2020 at 22:47):

I totally imagine @Matthieu Pizenberg hovering over all publishing buttons on Github, Reddit and Discourse simultaneously atm

view this post on Zulip Matthieu Pizenberg (Nov 18 2020 at 22:47):

ahahah

view this post on Zulip Alex Tokarev (Nov 18 2020 at 22:48):

Or maybe furiously moving a mouse between them?

view this post on Zulip Matthieu Pizenberg (Nov 18 2020 at 22:48):

image.png

Actually I'm just looking at some blender tutorial

view this post on Zulip Alex Tokarev (Nov 18 2020 at 22:49):

Nice! What would you like to create 3d models for?

view this post on Zulip Matthieu Pizenberg (Nov 18 2020 at 22:51):

I'm kind of generally interested in 3D because of my work and since 3d is just cool really.
And recently I've gotten back to blender and it's way nicer than few years ago

view this post on Zulip Alex Tokarev (Nov 18 2020 at 22:52):

What have you been using in the mean time? 3DMax?

view this post on Zulip Matthieu Pizenberg (Nov 18 2020 at 22:54):

Nothing for at least 8 or 9 years

view this post on Zulip Matthieu Pizenberg (Nov 18 2020 at 22:54):

or maybe 6 years rather

view this post on Zulip Alex Tokarev (Nov 18 2020 at 22:55):

3d is just cool really.

True. I remember my neighbor impressed me as a kid by quickly creating a cool Roman helmet in 3DMax while I was standing right next to him.

Too bad I have no idea where I would apply that knowledge so I never played with it myself.

view this post on Zulip Matthieu Pizenberg (Nov 18 2020 at 22:56):

I remember doing a little bit of sketchup some time ago, just to find ways to change how things are placed in my room

view this post on Zulip Matthieu Pizenberg (Nov 18 2020 at 22:57):

And there wasn't much options XD

view this post on Zulip Matthieu Pizenberg (Nov 18 2020 at 22:58):

my parents are making dedicated dressings also so I used to show them how to use sketchup for their client drawings

view this post on Zulip Alex Tokarev (Nov 18 2020 at 22:58):

Haha. But that was a cool idea!

dedicated dressings

Dressings for what?

view this post on Zulip Matthieu Pizenberg (Nov 18 2020 at 22:59):

woops
lost in translation

view this post on Zulip Matthieu Pizenberg (Nov 18 2020 at 23:01):

walk-in wardrobe I think that's called

view this post on Zulip Matthieu Pizenberg (Nov 18 2020 at 23:01):

"dressing" is the french world and since it sounded english I assumed that could be the same

view this post on Zulip Alex Tokarev (Nov 18 2020 at 23:01):

Ah. "Dressing room" is also fine

view this post on Zulip Alex Tokarev (Nov 18 2020 at 23:03):

I should have guessed, but "dressing" without "room" also has a (different) meaning. Like "salad dressings" :grinning_face_with_smiling_eyes:

view this post on Zulip Alex Tokarev (Nov 18 2020 at 23:10):

While we have time to think about the release... Maybe we should sign our tags?

view this post on Zulip Matthieu Pizenberg (Nov 18 2020 at 23:11):

never done that

view this post on Zulip Alex Tokarev (Nov 18 2020 at 23:13):

Basically it's to verify that what we have released has not been altered. I also haven't done that since I hadn't released anything :grinning_face_with_smiling_eyes: , but it's not complicated so I think I can do it if we want to.

view this post on Zulip Matthieu Pizenberg (Nov 18 2020 at 23:15):

You need a GPG key though, I have never setup one yet

view this post on Zulip Alex Tokarev (Nov 18 2020 at 23:15):

The question is how do we share the key so any one of us could sign it in the future. Or maybe it should be personal, hm. The release would then show who exactly signed it. I'll look into it.

view this post on Zulip Alex Tokarev (Nov 18 2020 at 23:17):

Github has instructions for signing here https://docs.github.com/en/free-pro-team@latest/github/authenticating-to-github/managing-commit-signature-verification
And GPG generation is linked from there as well:
https://docs.github.com/en/free-pro-team@latest/github/authenticating-to-github/generating-a-new-gpg-key

view this post on Zulip Alex Tokarev (Nov 18 2020 at 23:18):

So they provide step by step instructions for everything in the first link

view this post on Zulip Matthieu Pizenberg (Nov 18 2020 at 23:18):

Yes these keys need to be personal I think since the private part should not be shared

view this post on Zulip Alex Tokarev (Nov 18 2020 at 23:18):

Maybe "team-private" is also fine

view this post on Zulip Alex Tokarev (Nov 18 2020 at 23:19):

But that I can't answer right now

view this post on Zulip Matthieu Pizenberg (Nov 18 2020 at 23:20):

going to bed, getting quite tired
good night!

view this post on Zulip Alex Tokarev (Nov 18 2020 at 23:21):

Me too, I'm falling asleep. @Eh2406 You can do the release honors when you are back

view this post on Zulip Alex Tokarev (Nov 18 2020 at 23:22):

Or we can wait till tomorrow and change the release date. It has already changed in my timezone.

view this post on Zulip Alex Tokarev (Nov 18 2020 at 23:22):

Good night!

view this post on Zulip Matthieu Pizenberg (Nov 18 2020 at 23:27):

yep, Jacob should do the release to test the permissions settings anyway but we can wait for a better timing tomorrow when all three of us are awake and fresh ^^

view this post on Zulip Eh2406 (Nov 19 2020 at 00:28):

Sorry was busy running an errand. I will be on tomorrow morning.

view this post on Zulip Matthieu Pizenberg (Nov 19 2020 at 10:51):

@Alex Tokarev How were you able to push to dev? I've tried a few config changes to update the release date but it failed everytime

view this post on Zulip Matthieu Pizenberg (Nov 19 2020 at 10:58):

found :)

view this post on Zulip Alex Tokarev (Nov 19 2020 at 11:00):

2 settings changes: allow force pushes and disable required reviews

view this post on Zulip Matthieu Pizenberg (Nov 19 2020 at 11:01):

did all force pushes and include admin

view this post on Zulip Matthieu Pizenberg (Nov 19 2020 at 11:01):

You'll have to valid again

view this post on Zulip Alex Tokarev (Nov 19 2020 at 11:13):

You already did it but maybe @Eh2406 is also curious so Screenshot_20201119_140200.png

view this post on Zulip Alex Tokarev (Nov 19 2020 at 11:15):

Matthieu Pizenberg said:

You'll have to valid again

That is controlled by this setting btw Screenshot_20201119_141442.png

view this post on Zulip Alex Tokarev (Nov 19 2020 at 11:16):

Matthieu Pizenberg said:

did all force pushes and include admin

What changed btw?

view this post on Zulip Alex Tokarev (Nov 19 2020 at 11:26):

I have found a way to perform the comparison, only this line changed:
## [0.2.0] - 2020-11-19 - [(diff with 0.1.0)][diff-0.2.0]

view this post on Zulip Matthieu Pizenberg (Nov 19 2020 at 11:29):

yep only the date

view this post on Zulip Alex Tokarev (Nov 19 2020 at 11:41):

https://crates.io/crates/pubgrub
When did crates-io team became an owner?

view this post on Zulip Alex Tokarev (Nov 19 2020 at 11:42):

Ahhh, it's our organization, not crates-io team

view this post on Zulip Matthieu Pizenberg (Nov 19 2020 at 11:46):

Yes I created that team in the pubgrub-rs org: https://github.com/orgs/pubgrub-rs/teams

view this post on Zulip Matthieu Pizenberg (Nov 19 2020 at 11:48):

you cannot give crates-io owner rights to a GitHub org, but you can to a team in an org. So I created a dedicated team in the pubgrub-rs org with rights to publish on crates-io

view this post on Zulip Matthieu Pizenberg (Nov 19 2020 at 11:48):

called it "crates-io" :)

view this post on Zulip Alex Tokarev (Nov 19 2020 at 11:49):

This is what confused me
Screenshot_20201119_144743.png

view this post on Zulip Alex Tokarev (Nov 19 2020 at 11:50):

It made me think that an actual crates-io team (the one managing the site) is an owner of our crate

view this post on Zulip Eh2406 (Nov 19 2020 at 14:56):

Hi! I am up and started. Looks like things ended up waiting on me. Sorry.
How can I help?

view this post on Zulip Matthieu Pizenberg (Nov 19 2020 at 14:56):

hi :)

view this post on Zulip Matthieu Pizenberg (Nov 19 2020 at 14:57):

So basically, I updated the release date to today

view this post on Zulip Matthieu Pizenberg (Nov 19 2020 at 14:57):

so you need to re-validate the PR (it is setup to invalidate reviews on push)

view this post on Zulip Matthieu Pizenberg (Nov 19 2020 at 14:58):

We'll merge the PR to release with a merge commit (no squash or rebase)

view this post on Zulip Matthieu Pizenberg (Nov 19 2020 at 14:59):

then we can tag it v0.2.0 and you can try publishing on crates to check the team setup

view this post on Zulip Alex Tokarev (Nov 19 2020 at 14:59):

I also want to sign the tags

view this post on Zulip Eh2406 (Nov 19 2020 at 14:59):

Approved and merged.

view this post on Zulip Alex Tokarev (Nov 19 2020 at 14:59):

Not sure if 0.1 needs to be signed before creating 0.2 tag

view this post on Zulip Eh2406 (Nov 19 2020 at 15:02):

Do you want to do the tag to make sure it is signed as you want?

view this post on Zulip Alex Tokarev (Nov 19 2020 at 15:03):

Yes I can do that

view this post on Zulip Alex Tokarev (Nov 19 2020 at 15:04):

Give me a moment, I'll generate PGP key, see if I can sign the previous tag and a new one

view this post on Zulip Matthieu Pizenberg (Nov 19 2020 at 15:07):

@Alex Tokarev what are the exact implications of signing a tag?

view this post on Zulip Eh2406 (Nov 19 2020 at 15:08):

I think it verifiably means that that tag was created by someone with access to that PGP key.

view this post on Zulip Alex Tokarev (Nov 19 2020 at 15:08):

It provides a way to verify with public key that our release has not been tampered with.

view this post on Zulip Alex Tokarev (Nov 19 2020 at 15:09):

It's somewhat like a checksum in it's purpose

view this post on Zulip Alex Tokarev (Nov 19 2020 at 15:10):

But the one that uses cryptography

view this post on Zulip Matthieu Pizenberg (Nov 19 2020 at 15:10):

As long as you trust the owner of the public key right?

view this post on Zulip Alex Tokarev (Nov 19 2020 at 15:10):

...the owner of private key. Because public key is available to everyone, but private should be kept in secret.

view this post on Zulip Alex Tokarev (Nov 19 2020 at 15:11):

If you think we don't need that we can skip this part

view this post on Zulip Matthieu Pizenberg (Nov 19 2020 at 15:11):

yes, so you have to not ever loose the private key you used to sign this tag. Is this realistic for long term usage?

view this post on Zulip Matthieu Pizenberg (Nov 19 2020 at 15:12):

Just trying to understand the implications of that

view this post on Zulip Alex Tokarev (Nov 19 2020 at 15:12):

Well, that's what everyone is doing for the packages you pull from your distro's package manager, if you use Linux

view this post on Zulip Matthieu Pizenberg (Nov 19 2020 at 15:12):

For email I can understand that you want to make sure that the message you just received was just signed by the right person

view this post on Zulip Eh2406 (Nov 19 2020 at 15:13):

So if a different public key is used for the next release. Someone can see that it was not tagged by Alex. And start investigating if it was Me or You or Alex's new key and so is Ok, or it is hakker and is not OK.

view this post on Zulip Matthieu Pizenberg (Nov 19 2020 at 15:13):

I see

view this post on Zulip Alex Tokarev (Nov 19 2020 at 15:13):

If it is leaked, you invalidate the key and resign with a new one I guess

view this post on Zulip Matthieu Pizenberg (Nov 19 2020 at 15:13):

alright, other question

view this post on Zulip Matthieu Pizenberg (Nov 19 2020 at 15:14):

isn't the tag just metadata for the commit?

view this post on Zulip Matthieu Pizenberg (Nov 19 2020 at 15:14):

is cargo using the tag at all?

view this post on Zulip Alex Tokarev (Nov 19 2020 at 15:14):

Yes basically people downloading the crate store "trusted" keys in their database. So if they see it is signed by Alex, and I am in maintainers list, sounds like a good reason to trust the person (add the key to the trusted keys database)

view this post on Zulip Eh2406 (Nov 19 2020 at 15:15):

Yes, but part of the metadata is the hash of the commit. So a signed tag endorses the commit.

view this post on Zulip Matthieu Pizenberg (Nov 19 2020 at 15:15):

Yes, but part of the metadata is the hash of the commit. So a signed tag endorses the commit

alright :) thanks

view this post on Zulip Alex Tokarev (Nov 19 2020 at 15:15):

Matthieu Pizenberg said:

isn't the tag just metadata for the commit?

It is, but what you are saying when you sign the tag is: "I verify that I trust all previous commits, they come from who they say they come from and they haven't been tampered with".

view this post on Zulip Eh2406 (Nov 19 2020 at 15:16):

Unfortunately, yes there needs to be a separate process to verify that what I publish to crates.io has anything to do with the tag.

view this post on Zulip Alex Tokarev (Nov 19 2020 at 15:16):

If you then change a previous commit and force push, tag checking would fail in my understanding.

view this post on Zulip Alex Tokarev (Nov 19 2020 at 15:17):

We can do a quick check not with the master branch just to see if this does what we think it does

view this post on Zulip Alex Tokarev (Nov 19 2020 at 15:18):

I create a dummy commit, push it to some branch, create a tag after that and sign it. We can see if we can verify it and how it's done.
Then I alter the commit and you can try to verify it again.

view this post on Zulip Alex Tokarev (Nov 19 2020 at 15:19):

The reason I was worried for needing to sign a previous tag is: what if signing 0.1 after 0.2 changes the hash and you can't verify 0.2 anymore without resigning?

view this post on Zulip Eh2406 (Nov 19 2020 at 15:20):

Tags do not change commits.

view this post on Zulip Alex Tokarev (Nov 19 2020 at 15:20):

Since this is also a new thing to me (I'm learning alongside you), I can't answer yet :smile: I would think it does.

view this post on Zulip Alex Tokarev (Nov 19 2020 at 15:21):

Eh2406 said:

Tags do not change commits.

Do they contain info about previous tags?

view this post on Zulip Alex Tokarev (Nov 19 2020 at 15:21):

If 0.2 tag includes info about 0.1 tag, then I'm right to worry. If it does not and they are completely independent, then we can sign whenever.

view this post on Zulip Eh2406 (Nov 19 2020 at 15:22):

I don't think so, tags are not ordered in any way. It is just a flag "this commit is interesting".

view this post on Zulip Alex Tokarev (Nov 19 2020 at 15:22):

Alex Tokarev said:

I create a dummy commit, push it to some branch, create a tag after that and sign it. We can see if we can verify it and how it's done.
Then I alter the commit and you can try to verify it again.

Alright. Do we want to do this for fun and learning?

view this post on Zulip Matthieu Pizenberg (Nov 19 2020 at 15:23):

yep you can do it

view this post on Zulip Alex Tokarev (Nov 19 2020 at 15:23):

I also don't want to hold the release, so maybe we can release first if you feel like this is somewhat a waste of time

view this post on Zulip Matthieu Pizenberg (Nov 19 2020 at 15:24):

But since it's independent of the crates publishing process if I understood correctly, we can also do it whenever I guess

view this post on Zulip Eh2406 (Nov 19 2020 at 15:26):

Ok, I will work on the crates.io release. Feel free to experiment as needed to get the tag up, but let's make sure the github release happens today.

view this post on Zulip Alex Tokarev (Nov 19 2020 at 15:26):

Matthieu Pizenberg said:

But since it's independent of the crates publishing process if I understood correctly, we can also do it whenever I guess

Well I just hope so :sweat_smile:

view this post on Zulip Eh2406 (Nov 19 2020 at 15:29):

It would not be a release unless we bungled up something. :-)

view this post on Zulip Matthieu Pizenberg (Nov 19 2020 at 15:30):

@Eh2406 https://doc.rust-lang.org/cargo/reference/publishing.html

view this post on Zulip Matthieu Pizenberg (Nov 19 2020 at 15:31):

(make sure to update you release branch before ^^)

view this post on Zulip Eh2406 (Nov 19 2020 at 15:31):

good call. and thanks for the link. I was checking it out then going to look for that link.

view this post on Zulip Eh2406 (Nov 19 2020 at 15:38):

>cargo publish --dry-run
    Updating crates.io index
   Packaging pubgrub v0.2.0 (MyProjects\pubgrub\pubgrub-rs)
   Verifying pubgrub v0.2.0 (MyProjects\pubgrub\pubgrub-rs)
error: failed to verify package tarball

Caused by:
  failed to parse manifest at `MyProjects\pubgrub\pubgrub-rs\target\package\pubgrub-0.2.0\Cargo.toml`

Caused by:
  can't find `large_case` bench, specify bench.path`

view this post on Zulip Matthieu Pizenberg (Nov 19 2020 at 15:39):

damn we need to package it?

view this post on Zulip Eh2406 (Nov 19 2020 at 15:39):

changing to include = ["Cargo.toml", "LICENSE", "README.md", "src/**", "tests/**", "examples/**", "bench/**"]

view this post on Zulip Eh2406 (Nov 19 2020 at 15:39):

just the .rs file not the ron files

view this post on Zulip Matthieu Pizenberg (Nov 19 2020 at 15:39):

Hah !

view this post on Zulip Matthieu Pizenberg (Nov 19 2020 at 15:39):

ok

view this post on Zulip Alex Tokarev (Nov 19 2020 at 15:40):

Do dev dependencies need to be published? :thinking:

view this post on Zulip Matthieu Pizenberg (Nov 19 2020 at 15:40):

It would not be a release unless we bungled up something. :-)

It was foretold ...

view this post on Zulip Alex Tokarev (Nov 19 2020 at 15:41):

Might as well package Ron, since benchmark is useless otherwise.

view this post on Zulip Matthieu Pizenberg (Nov 19 2020 at 15:41):

Might as well package Ron, since benchmark is useless otherwise.

nope that gets downloaded by everyone

view this post on Zulip Matthieu Pizenberg (Nov 19 2020 at 15:42):

I think it's ok, they can get it from the github repo if they want anyway

view this post on Zulip Alex Tokarev (Nov 19 2020 at 15:42):

Can we exclude tests and benches then from release?

view this post on Zulip Matthieu Pizenberg (Nov 19 2020 at 15:42):

the issue is it's in the Cargo.toml

view this post on Zulip Matthieu Pizenberg (Nov 19 2020 at 15:42):

so I don't think you can not include it

view this post on Zulip Matthieu Pizenberg (Nov 19 2020 at 15:44):

I'd say the simplest solution is 1 commit that adds "bench/**" to include. force push to master and call it a day

view this post on Zulip Eh2406 (Nov 19 2020 at 15:45):

When I have a commit that is working I will make a PR.

view this post on Zulip Matthieu Pizenberg (Nov 19 2020 at 15:47):

force push to master and call it a day

I'd even go as far as "call it a release day"

view this post on Zulip Matthieu Pizenberg (Nov 19 2020 at 15:52):

reminder! next time do the cargo publish --dry-run in the prepration commit XD

view this post on Zulip Eh2406 (Nov 19 2020 at 15:52):

Do we wont to add it to CI, for PR's to release?

view this post on Zulip Matthieu Pizenberg (Nov 19 2020 at 15:53):

could be useful indeed

view this post on Zulip Alex Tokarev (Nov 19 2020 at 15:55):

We can add it later

view this post on Zulip Alex Tokarev (Nov 19 2020 at 15:55):

I'd even go as far as "call it a release day"

Will you do that? The options you need to disable are in https://rust-lang.zulipchat.com/#narrow/stream/260232-t-cargo.2FPubGrub/topic/Wrapping.20up.20v0.2E2/near/217255545

view this post on Zulip Matthieu Pizenberg (Nov 19 2020 at 15:56):

We can add it later

I like that thinking ahah

view this post on Zulip Matthieu Pizenberg (Nov 19 2020 at 15:56):

Will you do that?

nah waiting for Jacob

view this post on Zulip Alex Tokarev (Nov 19 2020 at 15:57):

Well it won't work anyway since it's not going to be a PR :wink:

view this post on Zulip Alex Tokarev (Nov 19 2020 at 15:57):

Matthieu Pizenberg said:

Will you do that?

nah waiting for Jacob

Damn I was thinking I was replying to Jacob's message

view this post on Zulip Eh2406 (Nov 19 2020 at 15:58):

Pr to dev: https://github.com/pubgrub-rs/pubgrub/pull/68

view this post on Zulip Alex Tokarev (Nov 19 2020 at 15:59):

Hello from Clippy :joy:

view this post on Zulip Matthieu Pizenberg (Nov 19 2020 at 16:00):

ahahah the elements are against this thing

view this post on Zulip Matthieu Pizenberg (Nov 19 2020 at 16:00):

"How many engineers do you need to release a crate?"

view this post on Zulip Eh2406 (Nov 19 2020 at 16:00):

That clippy check is just wrong for why we are using RC.

view this post on Zulip Alex Tokarev (Nov 19 2020 at 16:01):

Actually this is why we are not using nightly clippy

view this post on Zulip Alex Tokarev (Nov 19 2020 at 16:01):

That lint showed an issue before

view this post on Zulip Alex Tokarev (Nov 19 2020 at 16:01):

That it appeared, broke the build and then they removed it

view this post on Zulip Eh2406 (Nov 19 2020 at 16:01):

There was just a new release of rust.

view this post on Zulip Alex Tokarev (Nov 19 2020 at 16:01):

See https://rust-lang.zulipchat.com/#narrow/stream/257328-clippy/topic/rc_buffer/near/213311158

view this post on Zulip Alex Tokarev (Nov 19 2020 at 16:03):

I think we should run clippy with beta as well, but not fail the build on warnings to give us some time to check for the surprises.

view this post on Zulip Alex Tokarev (Nov 19 2020 at 16:03):

Well, let me fix the whole thing quickly (don't look :smiling_devil: )

view this post on Zulip Alex Tokarev (Nov 19 2020 at 16:04):

What I was thinking of doing is amending previous dev commit, then doing that for the release branch

view this post on Zulip Matthieu Pizenberg (Nov 19 2020 at 16:05):

looking away

view this post on Zulip Eh2406 (Nov 19 2020 at 16:09):

can we add a allow(clippy::rc-buffer) for the next 6 weeks.

view this post on Zulip Alex Tokarev (Nov 19 2020 at 16:10):

Btw, Jacob's email is different between commits and Cargo.toml

view this post on Zulip Alex Tokarev (Nov 19 2020 at 16:11):

Saying just in case you want to use the same one and that's a mistake

view this post on Zulip Alex Tokarev (Nov 19 2020 at 16:11):

Eh2406 said:

can we add a allow(clippy::rc-buffer) for the next 6 weeks.

Ok, I'll add it.

view this post on Zulip Eh2406 (Nov 19 2020 at 16:13):

I have just given up on trying to be consistent on which email address and name I use, it all goes the same place.

view this post on Zulip Alex Tokarev (Nov 19 2020 at 16:25):

The history becomes linear (we are losing the merge commit) in the release branch after my manipulations. Is it fine?

view this post on Zulip Matthieu Pizenberg (Nov 19 2020 at 16:26):

gimme 1 min, I'll fix it

view this post on Zulip Matthieu Pizenberg (Nov 19 2020 at 16:26):

is it up?

view this post on Zulip Alex Tokarev (Nov 19 2020 at 16:27):

What I've done is
1) amended the last commit in dev, pushed to origin/dev
2) origin/release is the old one, not amended
3) trying to replace "prepare 0.2" locally, lose merge commit

view this post on Zulip Matthieu Pizenberg (Nov 19 2020 at 16:28):

what you can do is

  1. amend dev
  2. reset hard release on tag v0.1.0
  3. merge dev into release

view this post on Zulip Alex Tokarev (Nov 19 2020 at 16:29):

I thought of doing that, why didn't I? Something stopped me. Hm. Was it that we lose merge commit info (#67 tag)? I guess it can be edited in as well.
Let me try.

view this post on Zulip Alex Tokarev (Nov 19 2020 at 16:31):

Oh I remembered, I've done that and looked at the history :grinning: I guess it's the same on origin/release. But it looks weird

view this post on Zulip Matthieu Pizenberg (Nov 19 2020 at 16:32):

can't say from the distance ^^

view this post on Zulip Matthieu Pizenberg (Nov 19 2020 at 16:35):

it's ok if 67 is not there anymore as long as there is a new merge commit and you mention 67 in the commit it will be linked into the PR

view this post on Zulip Alex Tokarev (Nov 19 2020 at 16:36):

Screenshot_20201119_193446.png Screenshot_20201119_193438.png

view this post on Zulip Matthieu Pizenberg (Nov 19 2020 at 16:37):

Sorry I really can't read your graphs, felt confusing last time already ahah

view this post on Zulip Alex Tokarev (Nov 19 2020 at 16:37):

That's what I meant. There are those non-linear arrows))

view this post on Zulip Matthieu Pizenberg (Nov 19 2020 at 16:37):

If you want I can just do it, will be quick

view this post on Zulip Matthieu Pizenberg (Nov 19 2020 at 16:38):

What changes did you do? in addition to the ones of Jacob?

view this post on Zulip Alex Tokarev (Nov 19 2020 at 16:38):

Nothing, that's origin/release

view this post on Zulip Eh2406 (Nov 19 2020 at 16:38):

Yes that look correct. it is just a display thing.

view this post on Zulip Alex Tokarev (Nov 19 2020 at 16:39):

Matthieu Pizenberg said:

what you can do is

  1. amend dev
  2. reset hard release on tag v0.1.0
  3. merge dev into release

Give me a moment, I'll do that. I was just taking the time to screenshot the graphs

view this post on Zulip Alex Tokarev (Nov 19 2020 at 16:44):

Well, I can't rename the merge commit and the graph shows a bit differently. @Matthieu Pizenberg you can try

view this post on Zulip Alex Tokarev (Nov 19 2020 at 16:44):

image.png

view this post on Zulip Matthieu Pizenberg (Nov 19 2020 at 16:45):

where should I add the allow thingy for clippy?

view this post on Zulip Matthieu Pizenberg (Nov 19 2020 at 16:45):

in th ecode I mean

view this post on Zulip Alex Tokarev (Nov 19 2020 at 16:45):

I've added that, it's in origin/dev

view this post on Zulip Alex Tokarev (Nov 19 2020 at 16:45):

lib.rs file

view this post on Zulip Matthieu Pizenberg (Nov 19 2020 at 16:46):

alright 1 min

view this post on Zulip Alex Tokarev (Nov 19 2020 at 16:47):

Actually I found a way to not lose a merge commit during a rebase, let me try that

view this post on Zulip Matthieu Pizenberg (Nov 19 2020 at 16:54):

When you have something just push I'll check the network graph on https://github.com/pubgrub-rs/pubgrub/network

view this post on Zulip Alex Tokarev (Nov 19 2020 at 16:55):

I found the option --rebase-merges still looking into how to properly do that

view this post on Zulip Matthieu Pizenberg (Nov 19 2020 at 16:55):

It's ok Alex

view this post on Zulip Alex Tokarev (Nov 19 2020 at 16:55):

Why didn't we just do the "fix" commit))

view this post on Zulip Matthieu Pizenberg (Nov 19 2020 at 16:56):

Is it ok if I push now?

view this post on Zulip Alex Tokarev (Nov 19 2020 at 16:56):

release branch you mean?

view this post on Zulip Matthieu Pizenberg (Nov 19 2020 at 16:56):

yes

view this post on Zulip Alex Tokarev (Nov 19 2020 at 16:56):

Sure, if you fixed it why not

view this post on Zulip Matthieu Pizenberg (Nov 19 2020 at 16:58):

ok should be updated: https://github.com/pubgrub-rs/pubgrub/network

view this post on Zulip Alex Tokarev (Nov 19 2020 at 16:58):

Alex Tokarev said:

image.png

The same I've got after my manipulations

view this post on Zulip Matthieu Pizenberg (Nov 19 2020 at 16:58):

commit is different but mentionned in PR: https://github.com/pubgrub-rs/pubgrub/pull/67

view this post on Zulip Alex Tokarev (Nov 19 2020 at 16:59):

I guess it's whatever

view this post on Zulip Alex Tokarev (Nov 19 2020 at 16:59):

My fault I'm using "weird graph tooling" :stuck_out_tongue:

view this post on Zulip Alex Tokarev (Nov 19 2020 at 17:00):

It's Intellij Idea's git integration, for the reference

view this post on Zulip Eh2406 (Nov 19 2020 at 17:00):

witch is amazing (I can't do git without it), but sometimes a little confusing.

view this post on Zulip Matthieu Pizenberg (Nov 19 2020 at 17:01):

@Eh2406 I think we are all set, could you retry publishing after fetching and reset hard

view this post on Zulip Matthieu Pizenberg (Nov 19 2020 at 17:01):

I live by terminal and tig ^^

view this post on Zulip Alex Tokarev (Nov 19 2020 at 17:02):

What's tig?

view this post on Zulip Eh2406 (Nov 19 2020 at 17:02):

Yes, just give me 5, I think I have one-per-mager working in my crates.io->benchmark

view this post on Zulip Matthieu Pizenberg (Nov 19 2020 at 17:03):

Tig is a tool to visualize the graph and commits in the terminal

view this post on Zulip Alex Tokarev (Nov 19 2020 at 17:03):

There you go :high_five:

view this post on Zulip Alex Tokarev (Nov 19 2020 at 17:04):

Matthieu Pizenberg said:

Tig is a tool to visualize the graph and commits in the terminal

Can you do the screenshot of before/after? Did it change for you?

view this post on Zulip Matthieu Pizenberg (Nov 19 2020 at 17:06):

image.png

this is what I see with it

view this post on Zulip Matthieu Pizenberg (Nov 19 2020 at 17:08):

don't have the before anymore sorry

view this post on Zulip Alex Tokarev (Nov 19 2020 at 17:09):

Got it from the package manager, it shows the same for before/after

view this post on Zulip Alex Tokarev (Nov 19 2020 at 17:10):

I usually do backup branches to more easily undo rebases, so I had it. Otherwise you have to spend more time with reflog.

view this post on Zulip Alex Tokarev (Nov 19 2020 at 17:11):

Nice terminal setup btw, I like how you did path and branch as arrows

view this post on Zulip Alex Tokarev (Nov 19 2020 at 17:11):

Is it a shell feature or do you use something like starship?

view this post on Zulip Matthieu Pizenberg (Nov 19 2020 at 17:14):

https://github.com/mpizenberg/dotfiles/tree/master/fish/.config/fish

view this post on Zulip Matthieu Pizenberg (Nov 19 2020 at 17:14):

using fish shell

view this post on Zulip Matthieu Pizenberg (Nov 19 2020 at 17:15):

killer feature is autocompletion capability and sane default setup, otherwise, pretty similar to zsh except it's not posix, which sometimes brings issues

view this post on Zulip Eh2406 (Nov 19 2020 at 17:15):

Ok I am back. I have my full version of one-per-mager compiling, I will work on seeing if it is correct some other time.

view this post on Zulip Alex Tokarev (Nov 19 2020 at 17:16):

Ah. I tried it out but it doesn't have history manipulation shortcuts that I like.
E.g. foobar -> no permissions
sudo !! to repeat the last command with sudo.
Or !$ for "use the last argument from the previous command"

view this post on Zulip Alex Tokarev (Nov 19 2020 at 17:17):

I contributed to Ion shell by RedoxOS and used that for some time, got too annoyed with them using @ for the scripting, so you can't copy-paste lines containing emails and such in the terminal.

view this post on Zulip Alex Tokarev (Nov 19 2020 at 17:18):

Also it's not under very active development, sad.

view this post on Zulip Alex Tokarev (Nov 19 2020 at 17:18):

Eh2406 said:

Ok I am back. I have my full version of one-per-mager compiling, I will work on seeing if it is correct some other time.

Who wants to do boring releases when you can do cool stuff :dark_sunglasses:

view this post on Zulip Matthieu Pizenberg (Nov 19 2020 at 17:19):

I haven't felt like testing new shells recently, might try again in few years

view this post on Zulip Alex Tokarev (Nov 19 2020 at 17:19):

Matthieu Pizenberg said:

I haven't felt like testing new shells recently, might try again in few years

I'm keeping an eye on nushell, might be ready for a prime time by then

view this post on Zulip Alex Tokarev (Nov 19 2020 at 17:21):

Killer feature is dropping of "everything is text" of traditional shells and keeping type information between pipes. Kinda like a powershell (I guess this was an inspiration) but with a sane syntax.

view this post on Zulip Matthieu Pizenberg (Nov 19 2020 at 17:22):

yeah might want to try that one at some point

view this post on Zulip Alex Tokarev (Nov 19 2020 at 17:22):

So your commands present you with structured data as table in their output, which you can use queries for.

view this post on Zulip Eh2406 (Nov 19 2020 at 17:22):

cargo publish --dry-run worked. am I good to go?

view this post on Zulip Eh2406 (Nov 19 2020 at 17:23):

I need to verify my email address, brb

view this post on Zulip Alex Tokarev (Nov 19 2020 at 17:23):

Btw, I remember fish author starting a new shell in Rust... What was its name...

view this post on Zulip Matthieu Pizenberg (Nov 19 2020 at 17:24):

don't know

view this post on Zulip Alex Tokarev (Nov 19 2020 at 17:25):

https://www.reddit.com/r/rust/comments/ftb7fc/new_project_crush_a_command_line_shell/

view this post on Zulip Eh2406 (Nov 19 2020 at 17:25):

image.png

view this post on Zulip Alex Tokarev (Nov 19 2020 at 17:26):

Quick where are all publish buttons?!

view this post on Zulip Matthieu Pizenberg (Nov 19 2020 at 17:27):

I'll verify that my elm dependency provider works with it now that it's too late #timing

view this post on Zulip Eh2406 (Nov 19 2020 at 17:27):

I don't understand you question?

view this post on Zulip Eh2406 (Nov 19 2020 at 17:28):

Still to do:

view this post on Zulip Alex Tokarev (Nov 19 2020 at 17:29):

Eh2406 said:

I don't understand you question?

Ah, that a reference to this and my subsequent comment https://rust-lang.zulipchat.com/#narrow/stream/260232-t-cargo.2FPubGrub/topic/Wrapping.20up.20v0.2E2/near/217207411

view this post on Zulip Alex Tokarev (Nov 19 2020 at 17:30):

Also Elm post I guess

view this post on Zulip Matthieu Pizenberg (Nov 19 2020 at 17:31):

Alright it's working :)

view this post on Zulip Matthieu Pizenberg (Nov 19 2020 at 17:31):

doing the announcements now :)

view this post on Zulip Matthieu Pizenberg (Nov 19 2020 at 17:38):

First one on the discourse https://discourse.elm-lang.org/t/solving-dependencies-of-11079-elm-packages-in-less-than-1s/6541

view this post on Zulip Matthieu Pizenberg (Nov 19 2020 at 17:39):

had to modify all the end of lines and @ which was interpretted as people :(

view this post on Zulip Matthieu Pizenberg (Nov 19 2020 at 17:42):

And on reddit: https://www.reddit.com/r/rust/comments/jx794b/announcing_pubgrub_v02_a_flexible_version_solver/

view this post on Zulip Alex Tokarev (Nov 19 2020 at 17:43):

git tag -s v0.1.0
fatal: tag 'v0.1.0' already exists

view this post on Zulip Alex Tokarev (Nov 19 2020 at 17:43):

Maybe I can't sign existing tag

view this post on Zulip Matthieu Pizenberg (Nov 19 2020 at 17:43):

probably not

view this post on Zulip Matthieu Pizenberg (Nov 19 2020 at 17:43):

you can sign v0.2.0 though

view this post on Zulip Alex Tokarev (Nov 19 2020 at 17:44):

Should I recreate v0.1.0?

view this post on Zulip Matthieu Pizenberg (Nov 19 2020 at 17:44):

as you wish

view this post on Zulip Alex Tokarev (Nov 19 2020 at 17:45):

Matthieu Pizenberg said:

And on reddit: https://www.reddit.com/r/rust/comments/jx794b/announcing_pubgrub_v02_a_flexible_version_solver/

Upvoted

view this post on Zulip Alex Tokarev (Nov 19 2020 at 17:46):

It has zip with content on Github though

view this post on Zulip Alex Tokarev (Nov 19 2020 at 17:46):

Maybe having only v0.2.0 signed is fine

view this post on Zulip Alex Tokarev (Nov 19 2020 at 17:47):

Alex Tokarev said:

It has zip with content on Github though

How did you add that btw? Did Github generate the artifacts?

view this post on Zulip Matthieu Pizenberg (Nov 19 2020 at 17:47):

I'm not sure I understand your question

view this post on Zulip Alex Tokarev (Nov 19 2020 at 17:48):

https://github.com/pubgrub-rs/pubgrub/tags

view this post on Zulip Matthieu Pizenberg (Nov 19 2020 at 17:48):

that's automatic for tags I think when you upload them

view this post on Zulip Alex Tokarev (Nov 19 2020 at 17:48):

There are .zip and .tar.gz archives

view this post on Zulip Alex Tokarev (Nov 19 2020 at 17:48):

Ah, okay

view this post on Zulip Eh2406 (Nov 19 2020 at 17:49):

I think it is automatic when you add a release.

view this post on Zulip Matthieu Pizenberg (Nov 19 2020 at 17:49):

Then you can transform them into GitHub "release" where you can add a bunch of other things and custom artifacts

view this post on Zulip Alex Tokarev (Nov 19 2020 at 18:22):

I signed a new testing branch with a new tag "signedtag", you can see it in the link above

view this post on Zulip Alex Tokarev (Nov 19 2020 at 18:22):

can you run git tag -v signedtag please?

view this post on Zulip Alex Tokarev (Nov 19 2020 at 18:26):

Tried from another machine:

[aleksator@X1E pubgrub-rs]$ git tag -v signedtag
object a8c47a08787b92ba5932cb8e2a789bbe99059b05
type commit
tag signedtag
tagger Alex Tokarev <aleksator@gmail.com> 1605809921 +0300

testing signing
gpg: Signature made Thu 19 Nov 2020 21:18:48 MSK
gpg:                using DSA key CEE3D61DA47DF389A03DFB7C6ECAF92E6B5EE3D9
gpg:                issuer "aleksator@gmail.com"
gpg: Can't check signature: No public key

view this post on Zulip Alex Tokarev (Nov 19 2020 at 18:26):

Basically, "Who is that guy?". I wonder if I can get a public key from git itself.

view this post on Zulip Alex Tokarev (Nov 19 2020 at 18:31):

Ah, I probably need to upload it to Github!

view this post on Zulip Eh2406 (Nov 19 2020 at 18:47):

sorry in a meeting.

view this post on Zulip Matthieu Pizenberg (Nov 19 2020 at 18:48):

will check later tonight

view this post on Zulip Alex Tokarev (Nov 19 2020 at 19:03):

Looks like you need to download my public key from https://github.com/aleksator.gpg and import into gpg database for that command to verify the signature...

view this post on Zulip Alex Tokarev (Nov 19 2020 at 19:08):

Well at least there's a message This tag was signed with a verified signature. on Github

view this post on Zulip Alex Tokarev (Nov 19 2020 at 19:09):

Also tag doesn't change when you change commits, it's immutable. So you can't invalidate the tag after signing, it will just diverge from branch you change the branch.

view this post on Zulip Alex Tokarev (Nov 19 2020 at 19:10):

image.png

view this post on Zulip Eh2406 (Nov 19 2020 at 19:11):

Yes, if you want to change a tag, you have to delete it and make a new one, then force push.

view this post on Zulip Alex Tokarev (Nov 19 2020 at 19:16):

Alright, I've created v0.2.0 tag! I'll delete 'signedtag' when you no longer need to test how it all works.

view this post on Zulip Alex Tokarev (Nov 19 2020 at 19:16):

https://github.com/pubgrub-rs/pubgrub/releases/tag/v0.2.0

view this post on Zulip Eh2406 (Nov 19 2020 at 19:43):

I emailed Natalie.

view this post on Zulip Matthieu Pizenberg (Nov 19 2020 at 21:54):

Alright, I've created v0.2.0 tag! I'll delete 'signedtag' when you no longer need to test how it all works.

what should I try? what did you want to check?

view this post on Zulip Alex Tokarev (Nov 19 2020 at 21:57):

I've already tested our previous assumptions myself: created a signed tag, tried modifying signed commits and seeing if it changes the tag (it does not). I've also tried manual verification of tag on my PC, which requires importing my public key into PGP keystore... Ain't nobody got time for that. We got a sweet "verified" label next to the Github release though :grinning:

I was saying I'll keep the tag in case you wanted to try some of that yourself.

view this post on Zulip Alex Tokarev (Nov 19 2020 at 21:58):

If you don't, we can delete "signedtag" from git

view this post on Zulip Matthieu Pizenberg (Nov 19 2020 at 21:59):

damn I responded on the wrong thread

view this post on Zulip Eh2406 (Nov 19 2020 at 21:59):

You can edit what thread a comment is in.

view this post on Zulip Alex Tokarev (Nov 19 2020 at 22:00):

You can make fun of that label in any thread you wish :laughing:

view this post on Zulip Matthieu Pizenberg (Nov 19 2020 at 22:02):

Ok we can delete it then

view this post on Zulip Matthieu Pizenberg (Nov 19 2020 at 22:03):

(the tag, not the thread XD)

view this post on Zulip Alex Tokarev (Nov 19 2020 at 22:05):

I guess you can also test everything with v0.2.0 tag locally if you ever want to. Deleting then

view this post on Zulip Matthieu Pizenberg (Nov 19 2020 at 22:10):

https://github.com/pubgrub-rs/pubgrub/blame/release/CHANGELOG.md#L137

f*** I had to mess up with something. I guess nobody will click on this anyway XD

view this post on Zulip Alex Tokarev (Nov 19 2020 at 22:12):

I guess nobody will click on this anyway XD

Sad truth.

view this post on Zulip Alex Tokarev (Nov 19 2020 at 22:13):

Well, at least we got 3 new stars :laughing:

view this post on Zulip Eh2406 (Nov 19 2020 at 22:13):

Matthieu Pizenberg said:

It would not be a release unless we bungled up something. :-)

It was foretold ...

so true

view this post on Zulip Eh2406 (Nov 19 2020 at 22:16):

By the way the update on the "most recent version of all crates on crates.io" is that there are a lot of crates, and some of them definitely take a while to resolve. (and yes I am running in release.)

view this post on Zulip Alex Tokarev (Nov 19 2020 at 22:17):

I wonder by how much cargo beats us :big_smile:

view this post on Zulip Alex Tokarev (Nov 19 2020 at 22:19):

some of them definitely take a while to resolve

I thought of comparing our resolution time against that of cargo

view this post on Zulip Eh2406 (Nov 19 2020 at 22:21):

Sorry, yes, I understood. I wonder as well. I thought that reaction would express shared curiosity.

view this post on Zulip Alex Tokarev (Nov 19 2020 at 22:21):

Ah, gotcha!

view this post on Zulip Matthieu Pizenberg (Nov 19 2020 at 22:31):

By the way the update on the "most recent version of all crates on crates.io" is that there are a lot of crates, and some of them definitely take a while to resolve. (and yes I am running in release.)

Do you have an estimate of the mean time per package for what you've run already?

view this post on Zulip Eh2406 (Nov 19 2020 at 22:40):

No, but that would be a great statistic! So far I have not been keeping timings as caching means that some take a lot of time reading the index and others take time resolving. My plan was to make one massive ron file and do stats on that. But with how long it takes that may not be a good plan.

view this post on Zulip Eh2406 (Nov 19 2020 at 22:47):

from: Natalie Weizenbaum to me

That's awesome! What a great guide!

Just passing along the feedback I got.

view this post on Zulip Alex Tokarev (Nov 19 2020 at 22:49):

Ah, sitting there refreshing reddit, discourse and this chat has paid off!
Alright, now I feel validated and can finally go to bed! :big_smile:

view this post on Zulip Matthieu Pizenberg (Nov 19 2020 at 23:07):

I have not been keeping timings as caching means that some take a lot of time reading the index and others take time resolving

@Eh2406 took me a whole afternoon to download every package elm.json config file before making the ron file

view this post on Zulip Matthieu Pizenberg (Nov 19 2020 at 23:08):

but didn't start solving anything before getting that ron file, which granted was quite small for elm

view this post on Zulip Eh2406 (Nov 19 2020 at 23:10):

https://crates.io/ : 49,731 Crates in stock

view this post on Zulip Matthieu Pizenberg (Nov 19 2020 at 23:10):

How is the API of crates.io to retrieve package information like cargo.toml or a list of all package versions?

view this post on Zulip Eh2406 (Nov 19 2020 at 23:12):

https://github.com/rust-lang/crates.io-index just download it.
There is eaven a crate for parsing it https://crates.io/crates/crates-index

view this post on Zulip Matthieu Pizenberg (Nov 19 2020 at 23:13):

https://github.com/rust-lang/crates.io-index/tree/master/pu/bg :)


Last updated: Oct 21 2021 at 20:21 UTC