Stream: t-compiler/rust-analyzer

Topic: weekly release


Laurențiu (Feb 22 2021 at 10:41, on Zulip):

Can someone tweet? The link is https://rust-analyzer.github.io/thisweek/2021/02/22/changelog-65.html

matklad (Feb 22 2021 at 10:47, on Zulip):

@Laurențiu Nicola do you have a twitter account by any chance?

Laurențiu (Feb 22 2021 at 12:22, on Zulip):

Not really, nope

matklad (Feb 22 2021 at 12:23, on Zulip):

I feel you: rust-analyzer is my first and single twitter account)

Laurențiu (Mar 01 2021 at 07:19, on Zulip):

Changelog PR is up: https://github.com/rust-analyzer/rust-analyzer.github.io/pull/90

Laurențiu (Mar 01 2021 at 07:19, on Zulip):

Publishing to crates.io failed, though: https://github.com/rust-analyzer/rust-analyzer/runs/2001833858?check_suite_focus=true, something to do with a version number

Laurențiu (Mar 01 2021 at 07:41, on Zulip):

https://rust-analyzer.github.io/thisweek/2021/03/01/changelog-66.html

Laurențiu (Mar 01 2021 at 10:29, on Zulip):

Can someone look into the publishing error?

Lukas Wirth (Mar 01 2021 at 10:32, on Zulip):

wait is it complaining about a dev-dependency? :confused:

Edwin Cheng (Mar 01 2021 at 10:36, on Zulip):

error: failed to select a version for the requirement ra_ap_profile = "^0.0.0"
candidate versions found which didn't match: 0.0.40
location searched: /home/runner/work/rust-analyzer/rust-analyzer/crates/profile
required by package ra_ap_mbe v0.0.40 (/home/runner/work/rust-analyzer/rust-analyzer/crates/mbe)

That is for benchmark test in mbe, from #7566

Edwin Cheng (Mar 01 2021 at 10:51, on Zulip):

Maybe cargo workspaces do not work in dev-dependency ? I could change it to normal if you want

Edwin Cheng (Mar 01 2021 at 11:02, on Zulip):

Confirmed it is a bug in cargo-workspaces.

You could test this in local :

git clone https://github.com/rust-analyzer/rust-analyzer.git
 cargo workspaces rename ra_ap_%n
cargo workspaces version --no-git-commit custom 0.0.40

And check crates/mbe/Cargo.toml content:

...

[dev-dependencies]
profile = { path = "../profile", version = "0.0.0", package = "ra_ap_ra_ap_profile" }

And noted that the version of profile wasn't changed.

Edwin Cheng (Mar 01 2021 at 11:19, on Zulip):

Submitted https://github.com/pksunkara/cargo-workspaces/issues/39

Edwin Cheng (Mar 01 2021 at 11:26, on Zulip):

Submiited https://github.com/rust-analyzer/rust-analyzer/pull/7822 for paperover that bug.

Laurențiu (Mar 08 2021 at 10:38, on Zulip):

Changelog PR is up: https://github.com/rust-analyzer/rust-analyzer.github.io/pull/91

Laurențiu (Mar 08 2021 at 10:51, on Zulip):

https://rust-analyzer.github.io/thisweek/2021/03/08/changelog-67.html

Laurențiu (Mar 15 2021 at 11:35, on Zulip):

https://rust-analyzer.github.io/thisweek/2021/03/15/changelog-68.html is up to be twitted (last week's is also missing)

Laurențiu (Mar 15 2021 at 11:36, on Zulip):

TBH, preparing these is quite time-consuming, we need better automation

Florian Diebold (Mar 15 2021 at 11:41, on Zulip):

at the "enable build scripts execution by default" point, maybe we should make clearer that the name of the setting to disable it also changed?

Laurențiu (Mar 15 2021 at 11:44, on Zulip):

Fixed in https://github.com/rust-analyzer/rust-analyzer.github.io/pull/93

Jonas Schievink [he/him] (Mar 15 2021 at 11:56, on Zulip):

Tweeted it. Did we miss number 67?

Jonas Schievink [he/him] (Mar 15 2021 at 11:57, on Zulip):

https://twitter.com/rust_analyzer/status/1371429815505539077

Laurențiu (Mar 15 2021 at 11:57, on Zulip):

I think so?

Laurențiu (Mar 15 2021 at 18:01, on Zulip):
let comment = comment[1..comment.len() - 1]
    .replace(r#"\\n"#, "\n")
    .replace(r#"\""#, r#"""#);

Is this the way to parse JSON? :sweat_smile:

Laurențiu (Mar 22 2021 at 09:06, on Zulip):

Should we merge https://github.com/rust-analyzer/rust-analyzer/pull/8142 for today's release?

Edwin Cheng (Mar 22 2021 at 09:12, on Zulip):

I think it is okay to not merge it in hurry, since just a few users complain about that (although one is @matklad :) ).

Laurențiu (Mar 22 2021 at 09:14, on Zulip):

I'm sure we'll see some 5 dupes or so

Laurențiu (Mar 22 2021 at 09:15, on Zulip):

Firing up cargo xtask release, then :-)

Laurențiu (Mar 22 2021 at 09:18, on Zulip):

Oh. xtask release does a hard reset.

Laurențiu (Mar 22 2021 at 11:06, on Zulip):

Link for tweeting: https://rust-analyzer.github.io/thisweek/2021/03/22/changelog-69.html

Laurențiu (Mar 22 2021 at 11:06, on Zulip):

So, the good news is that the PR annotations work pretty well.

Laurențiu (Mar 22 2021 at 11:06, on Zulip):

(The bad news is that I lost the code :sweat_smile:)

matklad (Mar 22 2021 at 12:01, on Zulip):

Documented in https://github.com/rust-analyzer/rust-analyzer/pull/8146 (in general, try to keep all the secret arcana knowledge documented)

Jonas Schievink [he/him] (Mar 22 2021 at 12:03, on Zulip):

tweeted it

Laurențiu (Mar 29 2021 at 06:58, on Zulip):

https://rust-analyzer.github.io/thisweek/2021/03/29/changelog-70.html

Laurențiu (Apr 12 2021 at 05:15, on Zulip):

The release came through, but publishing the ap_ crates failed, probably because we have a too lax dependency on rowan. I think it's fine for now. Today's changelog will be late, (I'm getting a COVID shot), but if anyone wants to take over, I've created a draft PR for it.

Jonas Schievink [he/him] (Apr 12 2021 at 12:15, on Zulip):

https://twitter.com/rust_analyzer/status/1381577448278654979

Jonas Schievink [he/him] (Apr 12 2021 at 21:06, on Zulip):

one thing I've been wondering about: why do we use "changelog" comments instead of PR labels? it seems to me that PR labels are potentially less noisy (don't send a notification) and don't require a bot to listen to comments

Laurențiu (Apr 13 2021 at 05:57, on Zulip):

To be able to rephrase the description, since they're not always clear to me and it's a bit hard to check 70 or 80 of them before doing the release.

Laurențiu (Apr 13 2021 at 05:57, on Zulip):

PR title prefixes also work (minor, feat etc.), or you can include the comment in the PR description. And there's no bot, I'm just scraping the comments in xtask release.

Laurențiu (Apr 13 2021 at 06:09, on Zulip):

Finally, a contributor outside the team can't add labels without a bot, but they can add the changelog line in a comment.

matklad (Apr 13 2021 at 07:48, on Zulip):

Yeah, I am also not feeling that the current system is ideal, but it's not entirely clear what the better system would look like.

@Laurențiu one thing we can do is, instead of adding comments, editing PR's title in place.

Laurențiu (Apr 13 2021 at 11:31, on Zulip):

Good point about the notifications, I'll try to edit the titles more often.

Jonas Schievink [he/him] (Apr 15 2021 at 17:27, on Zulip):

should we put out another release? a lot of people are running into the "cargo check" bug

matklad (Apr 15 2021 at 17:36, on Zulip):

:thumbs_up: for me

Jonas Schievink [he/him] (Apr 15 2021 at 18:05, on Zulip):

okay, pushed a release, let's hope it goes through

Florian Diebold (Apr 15 2021 at 18:21, on Zulip):

the nightly doesn't seem to have helped the people who posted bugs about it, though

Florian Diebold (Apr 15 2021 at 18:22, on Zulip):

there might be something additional going on?

Florian Diebold (Apr 15 2021 at 18:22, on Zulip):

(deleted)

Florian Diebold (Apr 15 2021 at 18:23, on Zulip):

might very well be a preexisting problem of course

Daniel Mcnab (Apr 15 2021 at 18:49, on Zulip):

Is that different from #8239?

Kirill Bulatov (Apr 15 2021 at 19:49, on Zulip):

there might be something additional going on?

It could be yet another issue with the nightly updates, when only the manual plugin reinstall enables them again.
Hard to tell for sure though, it's a very elusive issue.

Laurențiu (Apr 16 2021 at 05:55, on Zulip):

Umm, I don't think any release happened, do you want to do a proper one with release notes and stuff?

matklad (Apr 16 2021 at 10:14, on Zulip):

urgh, I don't know

matklad (Apr 16 2021 at 10:15, on Zulip):

My gut feel at the moment that, with the week past the midpoint, it may not be worthwhile to make a release.

But I clearly was wrong when I said "point releases are not important"

matklad (Apr 16 2021 at 10:17, on Zulip):

I guuss, the first thing next week I should look into establishing a procedure for "point" releases, so that it's never a question of whether to do one.

I think we probably want to keep rel-notes to monday releases only, and just have a way to kick a point release with a push to one branch.

Jonas Schievink [he/him] (Apr 16 2021 at 12:40, on Zulip):

apparently the release failed because of some docker nonsense https://github.com/rust-analyzer/rust-analyzer/runs/2355503035?check_suite_focus=true

Laurențiu (Apr 19 2021 at 06:22, on Zulip):

Link for tweeting: https://rust-analyzer.github.io/thisweek/2021/04/19/changelog-73.html. Unfortunately, the zombie version string bug still lives :-(.

Jonas Schievink [he/him] (Apr 19 2021 at 12:18, on Zulip):

tweeted: https://twitter.com/rust_analyzer/status/1384118893824806913?s=20

Jonas Schievink [he/him] (Apr 19 2021 at 12:18, on Zulip):

looks like the last 2 versions were broken for a couple of people: https://github.com/rust-analyzer/rust-analyzer/issues/8528

Lukas Wirth (Apr 19 2021 at 12:20, on Zulip):

I ran into that problem a few times some days ago, but I haven't seen it since. It also didn't happen reliable, a restart usually fixed it for me

Jonas Schievink [he/him] (Apr 19 2021 at 12:23, on Zulip):

dang

Jonas Schievink [he/him] (Apr 19 2021 at 12:24, on Zulip):

hmm, did we miss the Deref assist? or did it land in time for the last nightly?

Laurențiu (Apr 19 2021 at 12:25, on Zulip):

I think it landed

Laurențiu (Apr 19 2021 at 12:26, on Zulip):

It's the first item in the changelog

Laurențiu (Apr 19 2021 at 12:26, on Zulip):

OTOH, why doesn't RA build for me?

Laurențiu (Apr 19 2021 at 12:27, on Zulip):

hir::db::TraitSolveQueryQuery -- help: a unit struct with a similar name exists: TraitSolveQuery

Laurențiu (Apr 19 2021 at 12:31, on Zulip):

Ugh, that was probably an incremental compilation bug

Laurențiu (Apr 19 2021 at 12:36, on Zulip):

By the way, does anyone have a Mac? What happens if you spam Cmd-S in Code with "format on save" and "cargo check" enabled?

matklad (Apr 19 2021 at 13:47, on Zulip):

https://github.com/rust-lang/rust/issues/84335

matklad (Apr 19 2021 at 13:47, on Zulip):

yeah, seen incr comp bugs today

Laurențiu (Apr 19 2021 at 13:50, on Zulip):

Mine looked like this (I can't paste text):

image.png

Jonas Schievink [he/him] (Apr 19 2021 at 13:52, on Zulip):

I tend to see a lot of linker errors due to incr. comp

bjorn3 (Apr 19 2021 at 13:54, on Zulip):

I do see linker errors sometimes too, but I believe every time I hit one did a ^C of a running build before trying to build again.

matklad (Apr 19 2021 at 13:54, on Zulip):

:thinking: We do ^C when running cargo check on save I believe

bjorn3 (Apr 19 2021 at 13:59, on Zulip):

The incr session dir shouldn't be finalized until after all codegen is done and the index of all compiled object files is written to the disk. It does happen before the actual linking though.

bjorn3 (Apr 19 2021 at 14:01, on Zulip):

Finalizing the incr session dir also happens before .rmeta files are written. I don't see how, but maybe that has something to do with it?

Kirill Bulatov (Apr 19 2021 at 14:08, on Zulip):

By the way, does anyone have a Mac? What happens if you spam Cmd-S in Code with "format on save" and "cargo check" enabled?

How do I find the "format on save" setting? I have "editor.formatOnType": true, but no autoformatting happens for me when I type or when I press Cmd + S.

Cargo check runs fine, same TraitSolveQueryQuery error pops up, but no extra processes or hanging appears.

image.png

bjorn3 (Apr 19 2021 at 14:09, on Zulip):

Formatting doesn't work when you have a syntax error.

Laurențiu (Apr 19 2021 at 14:10, on Zulip):

Cargo check runs fine, same TraitSolveQueryQuery error pops up, but no extra processes or hanging appears.

Ugh again

Kirill Bulatov (Apr 19 2021 at 14:10, on Zulip):

Yes, but even if I remove that error, it's still not formatting, while Alt + Shift + F does the job.

I'll clean & recompile and try again.

Jonas Schievink [he/him] (Apr 19 2021 at 14:11, on Zulip):

The setting is editor.formatOnSave

matklad (Apr 19 2021 at 14:13, on Zulip):

@bjorn3 is rustc ^C safe? As in, is it coded such that it can be killed at any moment?

bjorn3 (Apr 19 2021 at 14:14, on Zulip):

It should be safe. Rustc uses the rename trick to ensure that it atomically overwrites .rmeta and .rlib files. I am not sure if the linker does the same for executables though.

Laurențiu (Apr 19 2021 at 14:15, on Zulip):

Also, might rustc hang when started by cargo if the latter suddenly dies?

bjorn3 (Apr 19 2021 at 14:16, on Zulip):

The incr session dir is also renamed as a whole at the end to overwrite the previous one. At worst this should result in the incr cache being cleared when it got interrupted between removing the old session dir and renaming the new dir.

bjorn3 (Apr 19 2021 at 14:17, on Zulip):

Laurențiu said:

Also, might rustc hang when started by cargo if the latter suddenly dies?

If stdout gets closed, any writes to it should cause a panic and thus abort rustc. For as long as rustc doesn't output anything, it should continue just fine.

Kirill Bulatov (Apr 19 2021 at 14:18, on Zulip):

I'll clean & recompile and try again.

Yes, the trait error had gone, the formatting is working now (thanks!) and no visible issues except very noisy fans, which is "normal".
I've tried on the ide level and on hir_ty level (which presumably should take longer to recheck) by adding some relatively simple lines.

Laurențiu (Apr 19 2021 at 14:20, on Zulip):

So no hanging rustc?

Kirill Bulatov (Apr 19 2021 at 14:23, on Zulip):

Not on the RA codebase with tons of simple edits tried, no.
The UI updates were relatively fast.

Laurențiu (Apr 19 2021 at 15:23, on Zulip):

@bjorn3 do you know if cargo communicates with rustc in some other way than through the standard input/output?

Laurențiu (Apr 19 2021 at 15:24, on Zulip):

Something about https://github.com/rust-analyzer/rust-analyzer/pull/8476 and https://github.com/rust-analyzer/rust-analyzer/issues/8528

Jonas Schievink [he/him] (Apr 19 2021 at 15:26, on Zulip):

not sure how the jobserver works but that might play a role

Laurențiu (Apr 19 2021 at 15:29, on Zulip):

I think there was also a change related to metadata writing, where cargo coordinates with rustc so it can start compiling dependent crates while rustc is still doing codegen

Laurențiu (Apr 19 2021 at 15:29, on Zulip):

Maybe we aren't transparent enough for that to work properly

Laurențiu (Apr 19 2021 at 15:29, on Zulip):

Was it called pipelining?

Jonas Schievink [he/him] (Apr 19 2021 at 15:29, on Zulip):

yeah

Laurențiu (Apr 19 2021 at 15:34, on Zulip):

Setting CARGO_BUILD_PIPELINING=false doesn't do anything

bjorn3 (Apr 19 2021 at 16:00, on Zulip):

Laurențiu said:

I think there was also a change related to metadata writing, where cargo coordinates with rustc so it can start compiling dependent crates while rustc is still doing codegen

That uses stdout to notify cargo that a compilation artifact has been written..

Jonas Schievink [he/him] (Apr 19 2021 at 16:45, on Zulip):

maybe the issue was caused by this? https://github.com/rust-analyzer/rust-analyzer/pull/8375/files#diff-1ad3a8ef11808c99ff307253865b291a412098a6f475a4ddd8152faf60cbe9f1R156

or some other thing in that PR? since the issue apparently started with last week's release, not this week's

matklad (Apr 19 2021 at 16:49, on Zulip):

dear, are we hitting the read2 bug?

matklad (Apr 19 2021 at 16:49, on Zulip):

That is, we don't fetch stdout/stderr concurrently

Laurențiu (Apr 19 2021 at 16:51, on Zulip):

It might be caused by that. I was having trouble bisecting the hang (you need to remove target/debug), but I think it happens on 7be06139b632ee615fc18af04dd67947e2c794b2 (which is before the RUSTC_WRAPPER change)

Laurențiu (Apr 19 2021 at 16:56, on Zulip):

But why would it be writing to stderr? There's no error when opening the RA repo

Jonas Schievink [he/him] (Apr 19 2021 at 16:58, on Zulip):

progress messages go to stderr

Jonas Schievink [he/him] (Apr 19 2021 at 16:59, on Zulip):

though I don't know how the JSON output changes this, presumably compiler diagnostics would also end up on stderr

Laurențiu (Apr 19 2021 at 17:00, on Zulip):

The only thing I seem to get on stderr is "Finished dev [unoptimized] target(s) in 0.22s"

Laurențiu (Apr 19 2021 at 17:00, on Zulip):

But reverting that line does seem to fix it

Jonas Schievink [he/him] (Apr 19 2021 at 17:01, on Zulip):

yeah that's the progress messages I mean, the "Compiling <crate>..." also goes there

Laurențiu (Apr 19 2021 at 17:02, on Zulip):

Oooh

Laurențiu (Apr 19 2021 at 17:05, on Zulip):

Windows actually seems to have a sane read2 though

Laurențiu (Apr 19 2021 at 17:06, on Zulip):

It calls WaitForMultipleObjects on the two handles

Laurențiu (Apr 19 2021 at 17:13, on Zulip):

Oh, it works fine, but we hang before reaching it

Laurențiu (Apr 20 2021 at 16:56, on Zulip):

Looks like we have our first patch release, anyone up for a quick review of https://github.com/rust-analyzer/rust-analyzer.github.io/pull/105/?

Jonas Schievink [he/him] (Apr 20 2021 at 16:59, on Zulip):

hmm, was the release just built?

Jonas Schievink [he/him] (Apr 20 2021 at 17:00, on Zulip):

the commit points to https://github.com/rust-analyzer/rust-analyzer/commit/d906b7ad889209bd09a6cc3af752fea06e4d953d, whose parent is https://github.com/rust-analyzer/rust-analyzer/commit/7570212a544b8e973a7d57be3657aae6465028a7, which would be missing some of the changelog entries

Laurențiu (Apr 20 2021 at 17:21, on Zulip):

Oh, right, I didn't notice that. No need for a changelog then

matklad (Apr 20 2021 at 17:23, on Zulip):

Yeah, I'd skip the changelog

matklad (Apr 20 2021 at 17:23, on Zulip):

and next week just make sure to include an extra day of commits

matklad (Apr 20 2021 at 17:24, on Zulip):

To automate this, I feel the first step would be to change the place where we assign tags, such that we can make 2021-03-12.8 tags for patches

Laurențiu (Apr 26 2021 at 06:17, on Zulip):

So now there's an extra commit on the release branch and we can't push our nightly without -f. But if I do that, we lose the last release.

Laurențiu (Apr 26 2021 at 06:19, on Zulip):

And we can't merge release into nightly (and master) because we lose the last nightly

Laurențiu (Apr 26 2021 at 06:20, on Zulip):

I'm inclined to force-push, any other opinions?

Daniel Silverstone (Apr 26 2021 at 07:37, on Zulip):

Why does merging release onto master result in the loss of a nightly?

Laurențiu (Apr 26 2021 at 08:31, on Zulip):

Right, I guess we could do that

matklad (Apr 26 2021 at 09:46, on Zulip):

git push --force-with-lease is always OK , if you know what your are doing

matklad (Apr 26 2021 at 09:46, on Zulip):

git push --force is also OK, but that one is much easier to mess up

Laurențiu (Apr 26 2021 at 09:52, on Zulip):

But do you prefer force-pushing to the release branch? Or merging it nightly?

Laurențiu (Apr 26 2021 at 09:53, on Zulip):

The problem is losing the release, not force-pushing in itself

matklad (Apr 26 2021 at 09:53, on Zulip):

lets push nightly

matklad (Apr 26 2021 at 09:54, on Zulip):

so that nightly is not older than stable

matklad (Apr 26 2021 at 09:54, on Zulip):

@Laurențiu wait, do you know about trigger-nightly?

matklad (Apr 26 2021 at 09:55, on Zulip):

although I am not sure if that works for this case myself :rofl:

Laurențiu (Apr 26 2021 at 09:57, on Zulip):

matklad said:

lets push nightly

Do you mean merging from release to nightly, then pushing to nightly?

Laurențiu (Apr 26 2021 at 09:57, on Zulip):

matklad said:

Laurențiu wait, do you know about trigger-nightly?

Yeah, I've used it when testing the CI on my fork, but I don't think it helps here.

matklad (Apr 26 2021 at 10:10, on Zulip):

Do you mean merging from release to nightly, then pushing to nightly?

Why do we need this? Seems like we should just force-push nightly?

matklad (Apr 26 2021 at 10:10, on Zulip):

The exctra commit from release is in master, no?

Laurențiu (Apr 26 2021 at 10:13, on Zulip):

What do we force-push to nightly, then?

Laurențiu (Apr 26 2021 at 10:14, on Zulip):

The commit is in master, but it has a different parent in the current release branch

matklad (Apr 26 2021 at 10:33, on Zulip):

Hm, I guess I am just confused and dont' understand what the problem is )

matklad (Apr 26 2021 at 10:35, on Zulip):

Why would we "loose" a realease? Releases are tagged, and we refer to them by commits, so we shouldn't be loosing anything

matklad (Apr 26 2021 at 10:36, on Zulip):

(but I feel I might be misunderstanding completely what's the issue here, so, if I am sounding stupid, that probably means that I indeed miss smth obvious :)

Laurențiu (Apr 26 2021 at 10:38, on Zulip):

xtask release does a git reset --hard tags/nightly on the release branch. But nightly and release have different histories, so GitHub rejects the push

Laurențiu (Apr 26 2021 at 10:39, on Zulip):

If I force-push release, the SHA of the extra release last week will no longer exist

Laurențiu (Apr 26 2021 at 10:39, on Zulip):

The commit will be there, but with a different parent

matklad (Apr 26 2021 at 10:42, on Zulip):

aha

matklad (Apr 26 2021 at 10:42, on Zulip):

I don't think the bit about SHA not existing is true

matklad (Apr 26 2021 at 10:43, on Zulip):

we tag releases, so the tag will keep the sha alive

matklad (Apr 26 2021 at 10:43, on Zulip):

https://github.com/rust-analyzer/rust-analyzer/pull/8661

matklad (Apr 26 2021 at 10:43, on Zulip):

I think this is the correct change (I should be trusted completely on this one, as I have an impeccable record of never ever ever breaking a release)

Laurențiu (Apr 26 2021 at 10:43, on Zulip):

Hmm

Laurențiu (Apr 26 2021 at 10:44, on Zulip):

Well, let's try it, what can go wrong?

Laurențiu (Apr 26 2021 at 10:54, on Zulip):

I think you were right about the tag. GitHub does complain ("This commit does not belong to any branch on this repository"), but that's probably harmless.

Jonas Schievink [he/him] (Apr 26 2021 at 12:23, on Zulip):

oh the release happened

Jonas Schievink [he/him] (Apr 26 2021 at 12:23, on Zulip):

tweeted: https://twitter.com/rust_analyzer/status/1386657032187564032

Laurențiu (May 03 2021 at 07:17, on Zulip):

Just published https://rust-analyzer.github.io/thisweek/2021/05/03/changelog-75.html, can someone tweet it?

matklad (May 03 2021 at 11:51, on Zulip):

Tweeted: https://twitter.com/rust_analyzer/status/1389185902413586434!

Mario Carneiro (May 03 2021 at 12:30, on Zulip):

btw there is a double typo in the changelog: Progerss::Finised

Laurențiu (May 03 2021 at 12:46, on Zulip):

Fixed

Laurențiu (May 10 2021 at 10:00, on Zulip):

Link for tweeting: https://rust-analyzer.github.io/thisweek/2021/05/10/changelog-76.html

Jonas Schievink [he/him] (May 10 2021 at 12:10, on Zulip):

tweeted https://twitter.com/rust_analyzer/status/1391727188534337542

Laurențiu (May 17 2021 at 06:56, on Zulip):

https://rust-analyzer.github.io/thisweek/2021/05/17/changelog-77.html

Jonas Schievink [he/him] (May 17 2021 at 11:26, on Zulip):

https://twitter.com/rust_analyzer/status/1394252869709271042

Laurențiu (May 24 2021 at 05:20, on Zulip):

https://rust-analyzer.github.io/thisweek/2021/05/24/changelog-78.html

Laurențiu (May 24 2021 at 06:02, on Zulip):

Oh, is it broken on Windows?

matklad (May 24 2021 at 09:20, on Zulip):

@Laurențiu did you check the new fix on windows?

matklad (May 24 2021 at 09:20, on Zulip):

Or should I reboot and check?

Laurențiu (May 24 2021 at 09:20, on Zulip):

No, I can't easily :(

Lukas Wirth (May 24 2021 at 09:21, on Zulip):

i can

matklad (May 24 2021 at 09:23, on Zulip):

Please do @Lukas Wirth !

Lukas Wirth (May 24 2021 at 09:26, on Zulip):

Just need to install via xtask and check whether an error pops up right?

Lukas Wirth (May 24 2021 at 09:28, on Zulip):

Doesn't seem to fix it I think

Lukas Wirth (May 24 2021 at 09:29, on Zulip):

0.4.0-dev should be self-built version right? still getting a bootstrap error with that

Lukas Wirth (May 24 2021 at 09:29, on Zulip):
ERROR [5/24/2021, 11:28:09 AM]: Bootstrap error [Error: Failed to execute rust-analyzer --version
    at bootstrapServer (c:\Users\lukas\.vscode\extensions\matklad.rust-analyzer-0.4.0-dev\out\src\main.js:22948:15)
    at processTicksAndRejections (internal/process/task_queues.js:93:5)
    at async bootstrap (c:\Users\lukas\.vscode\extensions\matklad.rust-analyzer-0.4.0-dev\out\src\main.js:22877:18)
    at async tryActivate (c:\Users\lukas\.vscode\extensions\matklad.rust-analyzer-0.4.0-dev\out\src\main.js:22788:24)
    at async activate (c:\Users\lukas\.vscode\extensions\matklad.rust-analyzer-0.4.0-dev\out\src\main.js:22762:5)
    at async Promise.all (index 0)
    at async Promise.all (index 86)
    at async Promise.all (index 1)]

but i think its a different one?

matklad (May 24 2021 at 09:34, on Zulip):

:sad:

Kirill Bulatov (May 24 2021 at 09:34, on Zulip):

I'm looking into that :grimacing:

Lukas Wirth (May 24 2021 at 09:36, on Zulip):

oh wait

Lukas Wirth (May 24 2021 at 09:36, on Zulip):

the newly published one works

Lukas Wirth (May 24 2021 at 09:36, on Zulip):

:thinking: well now im confused cause i was definitely on the last master commit

Laurențiu (May 24 2021 at 09:37, on Zulip):

I'm not sure the one built from source downloads the LSP binary

Lukas Wirth (May 24 2021 at 09:37, on Zulip):

well that's good then :sweat_smile:

Laurențiu (May 24 2021 at 09:37, on Zulip):

It was more complicated IIRC?

Lukas Wirth (May 24 2021 at 09:37, on Zulip):

ye maybe not

Lukas Wirth (May 24 2021 at 09:38, on Zulip):

would explain the different error I suppose, @Kirill Bulatov no need to keep looking into it

Kirill Bulatov (May 24 2021 at 09:39, on Zulip):

Ok.
Latest nightly seems to work for me on Win, latest release does not.

matklad (May 24 2021 at 09:40, on Zulip):

Yeah, verified that the new version works for me

Kirill Bulatov (May 24 2021 at 09:41, on Zulip):

Sorry for the mess.

matklad (May 24 2021 at 09:41, on Zulip):

@Kirill Bulatov sorry for not realizing that merging that PR on Sunday was a bad idea!

matklad (May 24 2021 at 09:42, on Zulip):

And you absolutely are not to blame for "the mess" -- it was impossible to know that this breaks on windows.

Really, the only problem is me merging PR that touches bootstrap on Sunday -- that's exactly what one shouldn't be doing, because it throws the nightly testing out of the windows

matklad (May 24 2021 at 09:43, on Zulip):

it almost feels like we need a third train here, to keep "Tuesday Good, Monday Bad" from happening...

Kirill Bulatov (May 24 2021 at 09:44, on Zulip):

Still feels bad, but thanks for solace.

Maybe it's just the common client code PR rule: never merge it on weekends (or even after Wednesday?), because it breaks much more than anything else.

matklad (May 24 2021 at 09:49, on Zulip):

:thinking: not a fan of delayed merging:

I wonder if we should have more nightlies instead? Like, what if we keep 3 last nighttiles, and, by default, promote -3nightly to stable?

Laurențiu (May 24 2021 at 09:53, on Zulip):

And I didn't notice the issue (my inbox is a bit of a mess) until too late

Kirill Bulatov (May 24 2021 at 09:55, on Zulip):

we keep 3 last nighttiles, and ...

Speaking of the devil, one concern would be to make it work properly with our bootstrap (it now requests for "nightly" tagged release, tampering with tags is also error-prone).

It might become harder to keep track of what's getting released and creating the changelog for those, but not aware how that one is generated, maybe it's fine.

Laurențiu (May 24 2021 at 09:56, on Zulip):

Changelog is done against the latest release branch

matklad (May 24 2021 at 09:56, on Zulip):

Changelog generation should be fine: it looks at the diff between two releases (and getting the git invocations right there took us only half a year or so of relasese)

Laurențiu (May 24 2021 at 09:57, on Zulip):

I think we've sometimes had important fixes in the latter half of the week (like some chalk / attribute hangs in this one) and it seems hard to keep track of them over more than 1-2 days

matklad (May 24 2021 at 09:59, on Zulip):

But yeah, I totally see how this would be much more annoying then our current nightly tag.

keep track of them over more than 1-2 days

I imagine is that we won't be tracking this for several days, but rather immediateely released a "nightly with important fix". Ie, the logic for pormotion is:

matklad (May 24 2021 at 10:00, on Zulip):

It's not super clear whats the best way to tag nightly as containing an important fix. Maybe some sort of comment on GH PR, like "release blocker" or something?

Kirill Bulatov (May 24 2021 at 10:03, on Zulip):

I can almost see the situation with all 3 nightlies containing important fixes and critical bugs simultaneously :smile:

IMO, the majority of our breakage comes from the client changes, since it's TS and weird platform-dependent APIs.
If we defer any of those coming in the end of the week, we're solving 80% issues with 20% efforts.

Kirill Bulatov (May 24 2021 at 10:06, on Zulip):

(ideally we could work on IT tests for those, but it looks like a tough task to handle)

Florian Diebold (May 24 2021 at 10:09, on Zulip):

I think the only real way to make stable more stable is to have actual release trains and backport fixes

matklad (May 24 2021 at 10:14, on Zulip):

That's true, but I don't want to exert more effort than we already do for managing releases. We have only so much @Laurențiu 's.

matklad (May 24 2021 at 10:15, on Zulip):

I guess, let's try to roll with "don't merge TS / project model changes at the end on the week", and, if you notice me doing that, please ask me to verify the nightly on windows

Jonas Schievink [he/him] (May 24 2021 at 10:39, on Zulip):

tweeted: https://twitter.com/rust_analyzer/status/1396777886095446019

Laurențiu (May 31 2021 at 07:11, on Zulip):

https://rust-analyzer.github.io/thisweek/2021/05/31/changelog-79.html

Jonas Schievink [he/him] (May 31 2021 at 10:44, on Zulip):

https://twitter.com/rust_analyzer/status/1399315765782880258

Laurențiu (Jun 07 2021 at 05:33, on Zulip):

https://rust-analyzer.github.io/thisweek/2021/06/07/changelog-80.html

Jonas Schievink [he/him] (Jun 07 2021 at 11:17, on Zulip):

https://twitter.com/rust_analyzer/status/1401860797945483269

Laurențiu (Jun 14 2021 at 06:47, on Zulip):

https://rust-analyzer.github.io/thisweek/2021/06/14/changelog-81.html

Jonas Schievink [he/him] (Jun 14 2021 at 11:51, on Zulip):

https://twitter.com/rust_analyzer/status/1404406174733193226

Laurențiu (Jun 20 2021 at 12:43, on Zulip):

I won't be around tomorrow morning, can someone else take over this release? Just remember to set GITHUB_TOKEN and don't kill it, the API calls take a bit.

Laurențiu (Jun 20 2021 at 12:43, on Zulip):

I think most PRs are already tagged.

matklad (Jun 20 2021 at 13:07, on Zulip):

I'll take care of it!

matklad (Jun 21 2021 at 12:45, on Zulip):

It was difficult, but I did it!

https://rust-analyzer.github.io/thisweek/2021/06/21/changelog-82.html

Jonas Schievink [he/him] (Jun 21 2021 at 12:47, on Zulip):

Why is the [ignore] yellow? :laughing:

matklad (Jun 21 2021 at 12:48, on Zulip):

well, I've said its aint easy...

matklad (Jun 21 2021 at 12:51, on Zulip):

In adoc, #hello# is a delimiter used for the <mark> html element.

Jonas Schievink [he/him] (Jun 21 2021 at 12:59, on Zulip):

posted to reddit https://www.reddit.com/r/rust/comments/o4ujlr/rustanalyzer_changelog_82/

Laurențiu (Jun 21 2021 at 13:24, on Zulip):

matklad said:

It was difficult, but I did it!

That bad? :oh_no:

matklad (Jun 21 2021 at 13:29, on Zulip):

Yeah, for some reason the token didn't work

matklad (Jun 21 2021 at 13:29, on Zulip):
$ git push --force
Everything up-to-date
Error: command `curl -s -H "Accept: application/vnd.github.v3+json" -H "Authorization: token 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" https://api.github.com/repos/rust-analyzer/rust-analyzer/issues/9260` failed, exit status: 60

(that token is now retired, I am ok posting it)

matklad (Jun 21 2021 at 13:30, on Zulip):

I created the token with all permissions though, so no idea what went wrong. Ended up doing the changlog the old-school way, via git log f0618a8f06a464840079f30b3e25bcdcca3922a3..HEAD --merges --reverse

Laurențiu (Jun 21 2021 at 13:35, on Zulip):

Does that command work? 60 seems to be a certificate error

Laurențiu (Jun 21 2021 at 13:37, on Zulip):

Peer certificate cannot be authenticated with known CA certificates.

matklad (Jun 21 2021 at 13:39, on Zulip):

Hm, it didn't occur to me to retry the curl command manually...

Laurențiu (Jun 28 2021 at 04:49, on Zulip):

Jonas Schievink [he/him] said:

Why is the [ignore] yellow? :laughing:

Sometimes single backticks don't work in AsciiDoc, like in the middle of a word. You can double them to fix that (or add pluses as matklad did).

Laurențiu (Jun 28 2021 at 04:51, on Zulip):

https://rust-analyzer.github.io/thisweek/2021/06/28/changelog-83.html

Jonas Schievink [he/him] (Jun 28 2021 at 12:08, on Zulip):

tweeted https://twitter.com/rust_analyzer/status/1409481365733744644

Laurențiu (Jul 05 2021 at 07:28, on Zulip):

https://rust-analyzer.github.io/thisweek/2021/07/05/changelog-84.html changelog is up

Jonas Schievink [he/him] (Jul 05 2021 at 12:14, on Zulip):

tweeted https://twitter.com/rust_analyzer/status/1412021923463188484

Laurențiu (Jul 05 2021 at 12:19, on Zulip):

Thanks. I guess I should make a Twitter account :grimacing:

Laurențiu (Jul 12 2021 at 06:32, on Zulip):

https://rust-analyzer.github.io/thisweek/2021/07/12/changelog-85.html

Jonas Schievink [he/him] (Jul 12 2021 at 10:57, on Zulip):

tweeted https://twitter.com/rust_analyzer/status/1414539235399540736

Laurențiu (Jul 19 2021 at 06:13, on Zulip):

https://rust-analyzer.github.io/thisweek/2021/07/19/changelog-86.html

Jonas Schievink [he/him] (Jul 19 2021 at 10:52, on Zulip):

https://twitter.com/rust_analyzer/status/1417074672479490048

Laurențiu (Jul 26 2021 at 06:42, on Zulip):

https://rust-analyzer.github.io/thisweek/2021/07/26/changelog-87.html

Jonas Schievink [he/him] (Jul 26 2021 at 12:13, on Zulip):

posted https://twitter.com/rust_analyzer/status/1419625206411317253?s=20

Last update: Jul 28 2021 at 05:00UTC