Commit Graph

892 Commits

Author SHA1 Message Date
Michael Snoyman
25dcc40e70
Drop Helm 2020-03-23 13:04:33 +02:00
Michael Snoyman
bd40aeddd9
Retry downloading the deprecated.json file 2020-03-13 12:21:58 +02:00
Michael Snoyman
34ec0783c3
Merge pull request #286 from Magicloud/master
Increase memory limitation for stackage-server-cron
2020-03-08 09:59:26 +02:00
Magicloud
83b3fcc44a Increase memory limitation for stackage-server-cron
During process with hoogle, the memory usage excceeds 2GiB and causes pod crashing loop.
2020-03-08 15:37:45 +08:00
Michael Snoyman
c362dafc18
Merge pull request #285 from lehins/improve-hoogle-db-loading
Record available hoogle db files per snapshot + hoogle version
2020-02-15 18:19:50 +02: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
Michael Snoyman
96973cac11
More snapshots for Hoogle 2020-02-13 18:02:43 +02:00
Michael Snoyman
ef0247d3bb
Newest Hoogle first 2020-02-13 10:41:19 +02:00
Michael Snoyman
227d8a9bc9
Use GHC-shipped Cabal 2020-02-13 10:41:19 +02:00
Michael Snoyman
0304353465
Set LANG for Gitlab build 2020-02-12 19:55:28 +02:00
Michael Snoyman
eb46df2050
Merge pull request #283 from lehins/external-cabal-files
External cabal files
2020-02-12 19:19:24 +02: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
Alexey Kuleshevich
722260e1d4
Addition of fallback repository with core cabal files 2020-02-12 00:40:31 +03:00
Michael Snoyman
1455e63a97
Merge pull request #282 from igrep/fix-277
Try to fix #277 by deleting verbose info
2020-01-13 07:10:33 +02: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
806385c25f
Disable Disqus due to spam 2020-01-12 10:11:04 +02:00
Michael Snoyman
f3ee682725
Merge pull request #281 from develop7/feature-tweak_version_diff
Improve the snapshot diff view
2019-12-10 16:57:57 +02:00
Andrei Dziahel
b89c4195ef Improve the snapshot diff view
Replaced "package-name-1.2.3.4 package-2.3.4.5" representation with
"package-name 1.2.3.4 → 2.3.4.5", since package name is always the same.
2019-12-10 17:30:27 +03:00
Michael Snoyman
10d6f7fde7
Merge pull request #280 from stackbuilders/fix_status_badge
Update build status badge
2019-12-03 16:36:16 +02:00
Sebastián Estrella
a773f49dc5 Update build status badge 2019-12-03 08:53:18 -05:00
Michael Snoyman
ab8d383cd5
Disable custom Haddock style by default #278 2019-10-15 09:55:10 +03:00
Michael Snoyman
2701f186ca
Try to avoid chunkedFile #275 2019-09-25 14:43:31 +03:00
Michael Snoyman
dfe0122edf
Cron job: more Hoogle debug info 2019-09-25 12:02:18 +03:00
Michael Snoyman
f2a70752c3
Merge pull request #273 from lehins/implement-hackage-undeprecation
Implemented automatic undeprecation of previously deprecated packages
2019-07-31 08:44:49 +03:00
Alexey Kuleshevich
cbfb68bdc8
Implemented automatic undeprecation of previously deprecated packages, also:
* Made sure update of deprecated is done each run, independently of Hackage update
2019-07-30 13:28:17 +03:00
Michael Snoyman
537a295bfb
Merge pull request #272 from lehins/fix-doc-display
Make sure links to haddocks are not generated for modules that have no haddock
2019-07-11 16:45:38 +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
5dbb09a256
Autodeploy master branch 2019-07-07 09:40:15 +03:00
Michael Snoyman
b9a38540fc
Merge pull request #271 from lehins/use-global-hints-as-secondary
Fix priority of core packages:
2019-07-07 09:39:33 +03:00
Alexey Kuleshevich
05307bded8
Fix priority of core packages:
* `global-hints.yaml` is now used as a fallback for packages that
  are not included in the snapshot
* Fix ordering of dependencies on the package page
2019-07-06 20:52:52 +03:00
Michael Snoyman
148cc8258c
Merge pull request #270 from fpco/ci
Few minor fixes from yesterday
2019-06-27 19:12:59 +03:00
Alexey Kuleshevich
c18e98d981
Merge pull request #269 from lehins/fix-latest-package-version
Fix the query for selecting the newest package version.
2019-06-26 14:48:34 +03:00
Alexey Kuleshevich
3d426e1e9d
Fix the query for selecting the newest package version. Related to 07f3ef293f 2019-06-26 14:06:48 +03:00
Michael Snoyman
ebdde64745
Merge pull request #268 from lehins/fix-leak-and-latest-hackage
Two minor fixups
2019-06-26 12:42:02 +03:00
Alexey Kuleshevich
78b019a915
Fix missing "Latest on Hackage" for packages from global-hints 2019-06-26 12:21:01 +03:00
Alexey Kuleshevich
d9a285a87f
Fix memory leak during stackage cron job when caching is enabled 2019-06-26 12:15:23 +03:00
Deni Bertovic
8ae7dc234a
Bumps build image
We need a newer version of helm
2019-06-20 14:10:12 +02:00
Deni Bertovic
f909a18e83
Merge pull request #267 from fpco/healthz-as-middleware
healthz is a middleware
2019-06-20 14:08:34 +02:00
Michael Snoyman
07f3ef293f
Cast text[] to integer[] for version comparison 2019-06-20 10:12:54 +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
Deni Bertovic
82f363c24a
Increase timeoutSeconds
This is a temporary fix for the k8s restarts
2019-06-18 09:38:07 +02:00
Deni Bertovic
d2ee4f0f13
Temporary switch to new k8s secrets name
This is needed to we can easily migrate to the new db with the
recent pantry changes. If something goes wrong we can simply revert to
the old secret (and hence the old db).

Once the upgrade is done (and verified) we can update the old secret and
update the name in this commit (back to it's original name)
2019-06-17 15:21:59 +02:00
Michael Snoyman
3a97473118
Add a missing update 2019-05-26 13:15:09 +03:00
Alexey Kuleshevich
13ec0dec3f
Merge branch 'switch-to-pantry' into ci 2019-05-25 23:29:32 +03:00
Alexey Kuleshevich
385620e185
Made status reporting and cabal file caching optional for the cron job 2019-05-25 20:00:28 +03:00
Deni Bertovic
567d456ca7
Fixes helm chart values 2019-05-07 15:09:16 +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
83117bd409
Move to Azure 2019-04-30 16:28:42 +03:00