Commit Graph

57 Commits

Author SHA1 Message Date
Bryan Richter
10c9d8364d
Split JSON API out of /snapshots
Fixes #355
2025-07-10 09:52:25 +03:00
Bryan Richter
f5dac7092f
Accept snapshot branches at /api/v1/snapshot 2025-06-19 10:34:15 +03:00
Bryan Richter
a2cc25d6f0
Add /api/v1/snapshot 2025-06-17 16:23:45 +03:00
Jens Petersen
c4c8241fc3 stackage-diff: add a previous diff link
allowing navigating back to earlier consecutive diffs

Arguably we could also navigate name1 and name2 separately

Thanks to @chreekat for reviewing and improving the code (#340)
2025-02-03 23:39:45 +08:00
Jens Petersen
ec5d5e7b92 replace remaining references to github.com/fpco/ 2025-02-02 23:15:31 +08:00
Jens Petersen
866fc23f79 include time in the date of a snapshot
(the time may actually be when the snapshot build started)
2025-02-02 23:15:31 +08:00
Preetham Gujjula
d3d0521890
Allow customizing badge color with query string
With this change, the /package/#PackageNameP/badge/#SnapshotBranch/
endpoint takes a new query string "color" that controls the badge color.
The color can be specified as a hex code or a named color from
Graphics.Badge.Barrier.Color in the barrier library. The badge color
defaults to "brightgreen", preserving default behavior when no query
string is supplied.
2024-05-20 14:24:53 -04:00
Bryan Richter
33e5cb2589
Upgrade all the way to lts-22.6
I stopped at 22.6 because I'm using NixOS and ghc-9.6.3 is the last
version available on the stable channel right now. Later snapshots use
9.6.4.
2024-02-12 15:15:22 +02:00
Bryan Richter
6b4232b1c6
Add download-bucket-url option 2024-01-08 16:45:50 +02:00
Michael Snoyman
041255cc29
Merge pull request #312 from fpco/311-less-snapshots
Try showing less snapshots #311
2022-07-14 03:47:20 +03:00
Andrea Bedini
ab379c6cbe
Add with-compiler to snapshot's cabal.config file
This patch adds the specification of what compiler to use for a snapshot
using cabal's "with-compiler" option.
2022-06-08 20:06:33 +08:00
Michael Snoyman
add86d4417
Only show 50 entries 2022-04-21 13:32:12 +03:00
Michael Snoyman
f39c950448
Revert "Try showing less snapshots #311"
This reverts commit 4ef23fd0f5.
2022-04-21 13:31:54 +03:00
Michael Snoyman
4ef23fd0f5
Try showing less snapshots #311 2022-04-21 12:51:41 +03:00
Jens Petersen
070cbc6bf2 Home: only show News if post is from the last ~6 months 2021-03-26 12:22:49 +08:00
Michael Snoyman
3bf0d89985
Revert "Disabled /SnapName/docs/ page. See #300"
This reverts commit 098d5176d7.
2020-11-16 03:53:51 +02:00
Michael Snoyman
b44e9222de
Revert "Disabled /package/ page. See #299"
This reverts commit 6389b4468f.
2020-11-16 03:53:43 +02:00
Michael Snoyman
54e475e43e
Remove the timeouts, hope for the best 2020-11-13 11:08:02 +02:00
Alexey Kuleshevich
6389b4468f
Disabled /package/ page. See #299 2020-11-11 02:47:03 +03:00
Alexey Kuleshevich
098d5176d7
Disabled /SnapName/docs/ page. See #300 2020-11-11 02:47:03 +03:00
Jens Petersen
a726444afd home: move recent snapshots from News to Releases/ghc section
(rendering untested)
2020-11-02 18:23:15 +08:00
Michael Snoyman
44dd6a5c5d
Merge pull request #296 from juhp/website-tweaks
homepage rework and other improvements
2020-11-01 17:12:44 +02:00
Jens Petersen
e086b058f6 put latest nightly and lts in News: drop rows and Recent Snapshots 2020-10-31 21:37:43 +08:00
Jens Petersen
7bc469c5f3 homepage layout changes and more [wip draft]
- enable navbar for homepage
- more navbar entries
- lts-16
- drop /?page
- [q] can hoogle be updated to 5.0.18?
- improve /snapshots "buttons"
- improve snapshot top matter
- [q] better to use haskellstack.org ?
2020-10-31 20:04:08 +08:00
Michael Snoyman
722f441d65
More timeouts 2020-10-27 14:11:55 +02:00
Michael Snoyman
615667401f
Add a timeout on the package page 2020-10-27 13:50:29 +02:00
Michael Snoyman
14c4924281
Post title on homepage 2020-10-19 09:48:18 +03:00
Michael Snoyman
98df84df28
/stats endpoint 2020-10-16 04:21:08 +03:00
Michael Snoyman
3d8cd6a115
Remove Hoogle lock 2020-09-03 16:03:01 +03:00
Michael Snoyman
68fa14a4bb
Force using only latest Hoogle DBs 2020-09-02 17:39:52 +03:00
Michael Snoyman
fbbf169e58
Revert "TEMP: gut out expensive queries"
This reverts commit 220a57da4c.

I just tested this against the live database, and everything seems to
work now.
2020-08-20 07:22:54 +03:00
Michael Snoyman
6eb463f20c
Remove dropdowns on diff page 2020-08-20 05:58:50 +03:00
Sibi Prabakaran
a960196e02
Combine three transactions into a single one 2020-07-23 11:28:10 +05:30
Michael Snoyman
220a57da4c
TEMP: gut out expensive queries 2020-07-07 22:07:13 +03:00
Michael Snoyman
98f2fa250f
Add a bunch of caching 2020-04-19 18:41:14 +03:00
Michael Snoyman
f5056a2b8c
Less memory intensive diff, block robots 2020-04-19 16:35:40 +03:00
Michael Snoyman
d724878c2c
Turn off the all-cabal-* mirror checks 2020-04-05 15:18:16 +03:00
Alexey Kuleshevich
fe25b2fa2f
Record available hoogle db files per snapshot + hoogle version combination:
* Make sure hoogle db is marked as available, when there is a copy on S3

* Create db even with `--do-no-upload` flag (useful for testing)

* Make sure home page uses latest lts with hoogle db available
2020-02-14 22:19:16 +03:00
Alexey Kuleshevich
bdcdd1887a
Store fallback cabal files into pantry. And few follow up improvements:
* Fix atomic durable writing, since issue in RIO was fixed

* Log information about falling back onto the core-cabal-files repo

* Convert conduit pipe to Maybe fishes.

* Make sure module names, package name and version are added for fallback
  cabal files
2020-02-12 19:44:34 +03:00
Alexey Kuleshevich
8e247dde03
Update to ghc-8.8, pantry-0.2 and Cabal-3.0 2020-02-12 02:10:14 +03:00
YAMAMOTO Yuji
cc7b12dcd7
Try to fix #277 by deleting verbose info
Problem
====

Too slow response from stackage.org/feed/.
So slow that my favorite RSS client (Slack's RSS integration) doesn't work due to timeout.
See https://github.com/fpco/stackage-server/issues/277 for details.

How?
====

Delete the content of the feed if stackage.org/feed is given `withDiff=False` as its query parameter.

Why?
====

I can't confirm it's the true cause of the slowdown (because the server is too hard to run on my machine!).
But anyway I think the html content of the feed is too much:
I just want to know the new LTS Haskell is released by the feed.
I'll click the link if I do want to see the detailed updates.

In addition, there's a reason generating the content causes the slowdown:
Other pages using `getSnapshots` (e.g. https://www.stackage.org/snapshots, https://www.stackage.org/)
are not as slow as https://www.stackage.org/feed/.
So the `getSnapshots` query dosen't seem to be the biggest cause.
And the left possible cause is `mkFeed`.

NOTE
====

I've tested nothing because it's too hard to run this app
without configuring my AWS account.
2020-01-13 11:48:53 +09:00
Michael Snoyman
ab8d383cd5
Disable custom Haddock style by default #278 2019-10-15 09:55:10 +03:00
Alexey Kuleshevich
39d1e0c867
Make sure links to haddocks are not generated for modules that have no haddock 2019-07-11 14:07:42 +03:00
Michael Snoyman
0eea4ca99a
healthz is a middleware 2019-06-19 12:07:08 +03:00
Deni Bertovic
98d0d61958 Adds /healthz endpoint
And points k8s readiness and liveness probes on it
2019-06-18 10:11:43 +02:00
Alexey Kuleshevich
f5e147ab97
Integration with Pantry and usage of new stackage-snapshots:
* Moved all extensions into modules that are using them, rather than globally,
  since they mess up ghci session and introduce conflicts among
  packages. Removed those from `.ghci` file as well
* Redesigned the schema to use Pantry and moved it into it's own module
* Switched all of the db and cron related stuff to RIO. Yesod part is
  still on classy-prelude
* Got pantry to update stackage-server database from hackage
* Got import of stackage-snapshots implemented
* Moved some logic from all-cabal-tool
* Switched everything to `PackageNameP`, `VersionP`, etc. from a la Text.
* Fixed haddock, so it now does proper redirects and pipes the docs
  correctly. Also implemented piping of json files from S3 bucket,
  so index-doc.json is also served by stackage-server thus making
  Ctrl+S feature work properly on haddock. Fix for commercialhaskell/stackage#4301
* Import of modules is done through cabal file parsing, which slows
  down the initial import process drastically, but incremental update
  is not a problem.
* Just as with modules, dependencies are also imported from cabal file.
* In general improved type safety by introducing a few data types:
  eg. `ModuleNameP`, `HackageCabalInfo`, and many more.
* Implemented pulling of deprecation map from hackages and storing it in db
* Implementation of forward/backward dependencies within a snapshot only.
* Drastically improved performance of cron import job, by checking which
  snapshots are not up to date
* Implemented pulling haddock list from S3 bucket. Modules that have
  documentation are marked from the availability of actual haddock. This
  process happens concurrently with snapshots loading.
* Rearranged modules a bit:
  * github related functions went into it's own module
  * cron related functions where moved from Database to Cron module
  * Split up some functions to reduce individual complexity
* Parallelized package loading in cron job
* Implemented parsed cabal file caching.
* All queries where reqritten with esqueleto
* Syntactic improvements:
  * Added stylish-haskell config
  * Formatted all imports and extensions with stylish-haskell.
  * Fixed inconsistent indentation across all modules
* Many improvements to the package page as well as few others.
* Reimplemented hoogledb creation.
* Dropped dependency on tar in favor of tar-conduit
* Added cli for stackage-server-cron
* Add cabal sha and size to the package page
* Fixed links in hoogle searches. Improved type safety for a hoogle handler
* satckage-server-cron is customizable with cli arguments

Final adjustments for the new stackage server release:

* Upgrade to lts-13.16.
* Stackage server related code has been merged to pantry. Made the code
  compatible with the newer version pantry
* Added cli '--snapshots-repo'
* Add readme to package page
* Adjust snapshots expected format:
  * Added `publish-time`
  * Removed name `field`
  * `compiler` field is now in the `resolver` field with fallback to
    the root
2019-04-30 17:10:33 +03:00
Michael Snoyman
760b356c0c
Use yesod-gitrev and githash 2018-06-25 12:35:42 +03:00
Michael Snoyman
77b0b3b396
Drop dependency on stackage-curator 2018-06-21 18:52:45 +03:00
Michael Snoyman
856ac728b4
Fix warnings 2018-06-21 17:51:47 +03:00
Michael Snoyman
cf14304ee3
Upgrade snapshots 2018-06-21 17:26:58 +03:00