Commit Graph

116 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
Bryan Richter
6b4232b1c6
Add download-bucket-url option 2024-01-08 16:45:50 +02:00
Michael Snoyman
98df84df28
/stats endpoint 2020-10-16 04:21:08 +03:00
Michael Snoyman
0823066401
Configurable poolsize, longer timeout 2020-07-07 13:58:55 +03:00
Michael Snoyman
f5056a2b8c
Less memory intensive diff, block robots 2020-04-19 16:35:40 +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
115feaa219
Stackage blog 2018-01-28 14:28:41 +02:00
Michael Snoyman
298d1d5b52
Limit number of deps/revdeps shown 2017-12-11 20:05:31 +02:00
Michael Snoyman
122e34ff12
Migrate from SQLite to PostgreSQL 2017-08-20 09:38:54 +03:00
Michael Snoyman
9c90dd1f7d Add a /status/mirror route 2016-09-20 12:40:42 +03:00
Michael Snoyman
1fbaf13574 Overhaul to match latest Yesod scaffolding 2016-05-17 21:08:18 +03:00
Michael Snoyman
60af396f9c Add Haddock style.css and script.js 2016-05-02 14:18:27 +03:00
Michael Snoyman
be25e87b69 Force SSL in production (fixes #150) 2016-02-02 07:56:30 +00:00
Konstantin Zudov
b798ac8236 Badges 2015-10-16 17:27:37 +03:00
Konstantin Zudov
c2fb5b1fa5 StackageBranch -> SnapshotBranch 2015-10-16 15:01:40 +03:00
Konstantin Zudov
5133a38006 Use StackageBranch in OldLinks 2015-10-16 10:01:31 +03:00
Konstantin Zudov
62c0789ca6 Use StackageBranch for Feed 2015-10-16 07:14:45 +03:00
Michael Snoyman
bef289a8c3 Download links for latest Stack (fixes commercialhaskell/stack#532) 2015-10-15 04:20:52 +00:00
Konstantin Zudov
5c2e8ecf68 Add /feed/#LtsMajor (e.g /feed/lts-3) 2015-10-13 13:36:37 +03:00
Konstantin Zudov
8c9c916491 Add /feed/lts and /feed/nightly 2015-10-13 13:07:22 +03:00
Michael Snoyman
20d08ffa31 /feed 2015-10-11 14:16:10 +03:00
Konstantin Zudov
160f2b02f9 Added UI for snapshot diffs 2015-10-10 10:44:06 +03:00
Michael Snoyman
789443cb71 Allow less downloading during dev 2015-10-06 07:14:29 +03:00
Michael Snoyman
ddd8734604 Remove some unneeded files 2015-10-06 06:48:55 +03:00
Michael Snoyman
34886ca21a Add in settings.yml 2015-10-06 06:47:48 +03:00
Michael Snoyman
768eaec573 Remove all social features
Motivation: these were the last things requiring a database. Once this
is gone, it simplifies deployment dramatically. I'm also not sure that
the social features were really worth keeping.
2015-09-25 17:43:50 +03:00
Michael Snoyman
c04686aad0 Initial Stackge.Database 2015-05-11 20:23:09 +03:00
Michael Snoyman
d956b074c0 Delete a whole bunch of stuff, nothing works 2015-05-11 17:46:07 +03:00
Michael Snoyman
06c5059392 DocsOnS3 table 2015-05-11 12:34:20 +03:00
Dan Burton
f37f112e8f GhcMajorVersion doesn't need a table. 2015-05-01 22:08:09 -07:00
Dan Burton
025782be8d Add ghc-major-version to Stackage table #88 2015-05-01 21:37:53 -07:00
Michael Snoyman
511b1c21e9 Added /download/snapshots.json 2015-05-01 11:39:24 +03:00
Dan Burton
34d1d628e8 Reorganize hosting of stackage-setup binary and yaml 2015-04-24 13:43:52 -07:00
Dan Burton
1117ca93c9 Adjusted design related to stackage-setup per #87 #88 2015-04-21 16:29:58 -07:00
Dan Burton
c837587609 Add sketch of 'environment.json' and 'lts-snapshots.json' 2015-04-15 18:26:26 -07:00
Dan Burton
80cb890dad Add sketch of 'stackage' executable download pages 2015-04-15 16:35:19 -07:00
Dan Burton
bfbe634e5f Add download link for hoogle database 2015-04-03 15:00:12 -07:00
Michael Snoyman
a3d679f2a3 Add BuildPlanR 2015-03-26 17:34:58 +02:00
Michael Snoyman
028cdaf6ab Absolute URL for sitemap 2015-03-26 13:00:22 +02:00
Dan Burton
374d3733c0 Add sitemap to robots.txt 2015-03-23 14:40:28 -07:00
Dan Burton
980cf46690 Add sitemap #20 2015-03-23 12:02:05 -07:00
Michael Snoyman
70a59af6c1 Stop tracking upload times from Hackage 2015-03-16 14:33:57 +02:00
Michael Snoyman
6cf5be6ff1 Remove bundle links in preparation of much larger v2 bundles 2015-03-16 13:34:10 +02:00
Michael Snoyman
c6800fd7aa Temp: upload v2 2015-03-16 09:47:25 +02:00
Michael Snoyman
041d3aed21 Remove view code (fixes #79) 2015-03-15 18:27:35 +02:00
ketzacoatl
be789b04e7 Drop copy-to www.stackage.org from keter.yaml 2015-03-11 18:34:11 -04:00