SwiftPackageIndex / SwiftPackageIndex-Server

The Swift Package Index is the place to find Swift packages!
https://swiftpackageindex.com
Apache License 2.0
541 stars 42 forks source link

Documentation showing old version #2616

Closed stephencelis closed 1 year ago

stephencelis commented 1 year ago

Which package(s) are showing incorrect data?

Please explain what data is incorrect and what you expected to see

I noticed that TCA's docs nicely include the 0.x and 1.x series! Hope this is intentional, as it's a nice way of keeping old docs around :)

One thing I noticed, though, is that the 0.x docs are pointing to 0.57.0, but the latest tag for 0.x is 0.59.0.

finestructure commented 1 year ago

Hi @stephencelis , that is indeed intentional! We don't delete generated docs and even though we only show the latest set per major release in the picker, they're still there to be used as a link target.

I've just looked through our storage bucket and compared the folders to the tags. Here's what we have (from 0.36.0 onwards, which is when we started generating) and what's missing:

0.36.0
0.37.0
0.38.0
0.38.1
0.38.2
0.38.3
0.39.0
0.39.1
0.4.0
0.40.0
0.40.1
0.40.2
0.41.0 <-- missing
0.41.1 <-- missing
0.41.2
0.42.0
0.43.0
0.44.0
0.44.1
0.45.0
0.46.0
0.47.0
0.47.1
0.47.2
0.48.0
0.48.1
0.49.0
0.49.1
0.49.2
0.50.0
0.50.1
0.50.2
0.50.3
0.51.0
0.52.0
0.53.0
0.53.1
0.53.2
0.54.0
0.54.1
0.55.0
0.55.1
0.56.0
0.57.0
0.58.0 <-- missing
0.58.1 <-- missing
0.58.2 <-- missing
0.59.0 <-- missing
1.0.0
1.1.0
1.2.0

It's hard to tell in hindsight why these weren't generated - or uploaded - correctly. There are a number of things that could be at play here 🤔

I should be able to re-process these for you. Is it just 0.59.0 you're interested in as the latest 0.x?

Once I get it to process it's probably no big deal to generate them all but I'm asking in case there are issues to which lengths I need to go to massage this for all or just the one ;)

stephencelis commented 1 year ago

@finestructure I think they might be missing because 0.57.0 was the last release before 1.0.0. 0.58.0 through 0.59.0 have been maintenance releases to better help folks migrate to 1.0.0. Would love if you could kick off the latest 0.59.0! I wonder if more needs to be done to support the use case of continual updates to older major versions?

finestructure commented 1 year ago

Right, that's exactly what happened here. When we're looking for missing builds, we only check the "latest" triple: the latest default branch, release, and pre-release versions.

Since at the time you tagged 0.58.0 there was already a "latest" release in 1.0.0, we didn't trigger builds for 0.58.0.

We restrict ourselves to the "latest" triple to keep a lid on how many versions we need to look at per package, as there are some with hundreds of tags. We couldn't want to try and build all of them :)

Ideally, we'd have something like "latest release per major version", at least for doc building purposes. I'll need to have think about that, it's not going to be a trivial thing to change 🤔

daveverwer commented 1 year ago

I noticed that TCA's docs nicely include the 0.x and 1.x series! Hope this is intentional, as it's a nice way of keeping old docs around :)

One of those features we knew would take a while for people to notice :)

finestructure commented 1 year ago

Just to keep you updated, I'm actively looking into rebuilding the docs for these versions but it's a bit more complicated than I was hoping.

finestructure commented 1 year ago

Reopening until I've actually re-generated the docs on prod

finestructure commented 1 year ago

I've regenerated all the missing doc sets and they're now available via the documentation link.

Unfortunately, we don't have a process in place to do this automatically for older major release tracks. So if you we to release a 0.59.1 in the future, I'm afraid you're going to have to ping me to trigger a rebuild. It's a simple command an easy enough to do on a case by case basis, it's just not something we can easily make available or automate at the moment.