Commit Graph

226 Commits

Author SHA1 Message Date
Andrea Bedini
01a693789f
Merge branch 'main' into show-public-keys 2023-05-15 17:10:06 +08:00
Andrea Bedini
6c39112cf1
Merge pull request #49 from yvan-sraka/deprecated-versions
Fix #18: add support for deprecated-versions
2023-05-15 17:01:46 +08:00
Yvan Sraka
f40673352f
Update app/Foliage/HackageSecurity.hs
Co-authored-by: Andrea Bedini <andrea@andreabedini.com>
2023-05-15 10:58:44 +02:00
Andrea Bedini
4cafbe75a1 Improve deprecation label on the webpages
- Add label also to revisions
- Resize the label on package versions page
2023-05-15 15:23:36 +08:00
Andrea Bedini
4f706f9bd9 Fix page formatting issue 2023-05-15 15:06:46 +08:00
Andrea Bedini
64f1578369 Restore integrity validation for datatables.js
Likely disabled by accident.
2023-05-15 14:58:44 +08:00
Andrea Bedini
285c8e31b1 Comments and formatting 2023-05-15 14:43:16 +08:00
Andrea Bedini
754a1c1bd7 Remove dead code 2023-05-15 14:12:42 +08:00
Andrea Bedini
a93eb62daa Add more comments 2023-05-15 14:12:22 +08:00
Yvan Sraka
59e0d72cb9
Fix #13: create keys should show the public keys 2023-05-05 15:43:42 +02:00
Yvan Sraka
73a787ef4f
Merge branch 'main' into deprecated-versions 2023-05-03 10:47:23 +02:00
Andrea Bedini
acc0f88727
Merge pull request #54 from andreabedini/more-systems
Rework flake
2023-05-03 15:33:27 +08:00
Andrea Bedini
521e3975a1 Drop static build on aarch64-linux
There's no hope.
2023-05-03 14:55:58 +08:00
Andrea Bedini
a6c9aa819a Rework again 2023-05-03 12:32:07 +08:00
Andrea Bedini
dd93a9e757 Rework things 2023-04-27 18:00:59 +08:00
Andrea Bedini
9948cc7d56 Add comments about revisions timestamps 2023-04-24 22:40:56 +08:00
Andrea Bedini
9c142e3702 Properly render version ranges 2023-04-24 22:26:13 +08:00
Andrea Bedini
62789a17e8 Revisions at the same time as publication is allowed
(Apparently)
2023-04-24 22:23:24 +08:00
Andrea Bedini
16d75ecc16 Rework the metadata validation 2023-04-24 22:09:17 +08:00
Andrea Bedini
33edc7773d Put a bandage on cmdImportIndex 2023-04-24 11:52:03 +08:00
Yvan Sraka
7da6927247
Fix #18: add support for deprecated-versions
Co-authored-by: Andrea Bedini <andrea@andreabedini.com>
2023-04-20 16:45:08 +02:00
Andrea Bedini
1d0bdae9c1 Revert "Restrict flake to x86_64-linux"
This reverts commit ae45f208a2.
2023-04-20 13:40:01 +08:00
Andrea Bedini
586b692c5c Update hackage-nix independently from haskell-nix 2023-03-22 13:23:34 +08:00
Andrea Bedini
4255bd1f13 Bump index-state and remove workaround for tomland version bounds 2023-03-17 11:38:38 +08:00
Andrea Bedini
234f8fcbf1
Maybe fix issue 2023-03-10 13:29:22 +08:00
Andrea Bedini
20049b1e81
Merge pull request #37 from andreabedini/add-consistency-check
Add consistency check
2023-03-07 11:45:36 +08:00
Andrea Bedini
b5e4f43dd2 Fix revisions timestamp on package page 2023-03-03 18:48:14 +08:00
Andrea Bedini
ae45f208a2 Restrict flake to x86_64-linux 2023-03-03 16:55:03 +08:00
Andrea Bedini
1e38db2bfb Merge branch 'update_flake_lock_action' into add-consistency-check 2023-03-03 16:43:03 +08:00
Andrea Bedini
3b0acac2c3 Drop the shell tools because nothing works 2023-03-03 16:40:42 +08:00
Andrea Bedini
2e5acb44df Bump again 2023-03-03 15:13:16 +08:00
Andrea Bedini
2c7342d3d0 Fixes 2023-03-03 15:13:13 +08:00
Andrea Bedini
164217b7fb Dance around compiler versions 2023-03-03 14:14:52 +08:00
Andrea Bedini
3e99be2211 Better diagnostics
- Fold most of getPackageVersions into preparePackageVersion

  We pass to preparePackageVersion the metadata file we are dealing with
  so it can be mentioned in case of errors.

- Replace `fail` by `error`. Shake uses exceptions to signal build
  failures. It turns out `error` gets displayed slightly better when
  caught by shake. Also we can use it in pure code.
2023-03-03 12:30:37 +08:00
Andrea Bedini
899a79cd53 Parsing the cabal file should go in preparePackageVersion 2023-03-03 08:51:33 +08:00
Andrea Bedini
5a3d546bdc Add more comments 2023-03-03 08:46:07 +08:00
Andrea Bedini
7ec1fb6ef2 Use NonEmpty to avoid partiality 2023-03-03 08:23:01 +08:00
Andrea Bedini
9a4d097cde Rework internals and add consistency check
The function preparePackageVersion is now responsible for doing
everything we need to do to be able to include the package in the index.

The function also returns a denormalised view of the package information
which can be taken as a proof that everything is consistent.
2023-03-03 08:15:19 +08:00
Andrea Bedini
4b6fed5d6a Drop PackageVersionMeta
It's not the right abstraction
2023-03-03 08:15:19 +08:00
Andrea Bedini
eaff46e671 Whitespace 2023-03-03 08:15:19 +08:00
Andrea Bedini
b35bbd26c9 More resiliant code 2023-03-03 08:15:19 +08:00
Andrea Bedini
945d48176b Fix CI 2023-03-02 15:26:44 +08:00
Andrea Bedini
49edf56a9e
Merge pull request #36 from bgamari/wip/T35
Don't use lazy IO when reading .cabal files
2023-03-02 05:41:22 +08:00
Ben Gamari
e3e34324ff Don't use lazy IO when reading .cabal files
Lazy IO tends to keep file handles open until the entire file is read,
which in this case may never happen. This leads to the process exceeding
the system's file descriptor limit, resulting in #35.
2023-03-01 13:42:52 -05:00
github-actions[bot]
e8fa66a8e9 flake.lock: Update
Flake lock file updates:

• Updated input 'haskell-nix':
    'github:input-output-hk/haskell.nix/f5da0a34b5dbbeb57e6d7595f46a930cd62bcd77' (2023-01-08)
  → 'github:input-output-hk/haskell.nix/986ebab4075d4c1ecac1270a9304e65e7ef715bc' (2023-02-26)
• Updated input 'haskell-nix/cabal-34':
    'github:haskell/cabal/942639c18c0cd8ec53e0a6f8d120091af35312cd' (2021-12-24)
  → 'github:haskell/cabal/5ff598c67f53f7c4f48e31d722ba37172230c462' (2022-02-26)
• Updated input 'haskell-nix/cabal-36':
    'github:haskell/cabal/f27667f8ec360c475027dcaee0138c937477b070' (2022-01-08)
  → 'github:haskell/cabal/8fd619e33d34924a94e691c5fea2c42f0fc7f144' (2022-11-22)
• Updated input 'haskell-nix/flake-compat':
    'github:input-output-hk/flake-compat/eca47d3377946315596da653862d341ee5341318' (2021-11-02)
  → 'github:input-output-hk/flake-compat/45f2638735f8cdc40fe302742b79f248d23eb368' (2023-01-04)
• Updated input 'haskell-nix/flake-utils':
    'github:numtide/flake-utils/3cecb5b042f7f209c56ffd8371b2711a290ec797' (2022-02-07)
  → 'github:numtide/flake-utils/5aed5285a952e0b949eb3ba02c12fa4fcfef535f' (2022-11-02)
• Updated input 'haskell-nix/hackage':
    'github:input-output-hk/hackage.nix/5cc584651a4895c7abad166cf695a3ee8b873386' (2023-01-08)
  → 'github:input-output-hk/hackage.nix/6ee340fbe61f03ab2a440d83f29c802d7e494ba8' (2023-02-26)
• Updated input 'haskell-nix/hydra':
    'github:NixOS/hydra/28b682b85b7efc5cf7974065792a1f22203a5927' (2022-03-10)
  → 'github:NixOS/hydra/f48f00ee6d5727ae3e488cbf9ce157460853fea8' (2022-12-23)
• Updated input 'haskell-nix/hydra/nix':
    'github:NixOS/nix/a1cd7e58606a41fcf62bf8637804cf8306f17f62' (2022-01-24)
  → 'github:NixOS/nix/11e45768b34fdafdcf019ddbd337afa16127ff0f' (2022-08-27)
• Updated input 'haskell-nix/hydra/nix/nixpkgs':
    'github:NixOS/nixpkgs/82891b5e2c2359d7e58d08849e4c89511ab94234' (2021-09-28)
  → 'github:NixOS/nixpkgs/365e1b3a859281cf11b94f87231adeabbdd878a2' (2022-07-13)
• Updated input 'haskell-nix/iserv-proxy':
    'git+https://gitlab.haskell.org/ghc/iserv-proxy.git?rev=6e95df7be6dd29680f983db07a057fc2f34f81f6' (2021-12-10)
  → 'git+https://gitlab.haskell.org/hamishmack/iserv-proxy.git?ref=hkm%2fremote-iserv&rev=50d0abb3317ac439a4e7495b185a64af9b7b9300' (2022-12-14)
• Updated input 'haskell-nix/nixpkgs-2205':
    'github:NixOS/nixpkgs/309faedb8338d3ae8ad8f1043b3ccf48c9cc2970' (2022-09-24)
  → 'github:NixOS/nixpkgs/0874168639713f547c05947c76124f78441ea46c' (2023-01-01)
• Updated input 'haskell-nix/nixpkgs-2211':
    'github:NixOS/nixpkgs/6f87491a54d8d64d30af6663cb3bf5d2ee7db958' (2022-12-02)
  → 'github:NixOS/nixpkgs/b7ce17b1ebf600a72178f6302c77b6382d09323f' (2023-02-07)
• Updated input 'haskell-nix/nixpkgs-unstable':
    'github:NixOS/nixpkgs/e14f9fb57315f0d4abde222364f19f88c77d2b79' (2022-09-23)
  → 'github:NixOS/nixpkgs/747927516efcb5e31ba03b7ff32f61f6d47e7d87' (2023-02-07)
• Updated input 'haskell-nix/stackage':
    'github:input-output-hk/stackage.nix/46c3d80f024585ddf22a54f3c505799dca778865' (2023-01-07)
  → 'github:input-output-hk/stackage.nix/f6e0966f3dad73156035963a7d16c48521d8e4f2' (2023-02-26)
• Updated input 'haskell-nix/tullia':
    'github:input-output-hk/tullia/ead1f515c251f0e060060ef0e2356a51d3dfe4b0' (2022-11-17)
  → 'github:input-output-hk/tullia/621365f2c725608f381b3ad5b57afef389fd4c31' (2023-02-06)
• Updated input 'haskell-nix/tullia/std':
    'github:divnix/std/94a90eedb9cfc115b12ae8f6622d9904788559e4' (2022-10-11)
  → 'github:divnix/std/516387e3d8d059b50e742a2ff1909ed3c8f82826' (2023-01-24)
• Added input 'haskell-nix/tullia/std/arion':
    follows 'haskell-nix/tullia/std/blank'
• Added input 'haskell-nix/tullia/std/incl':
    'github:divnix/incl/ce7bebaee048e4cd7ebdb4cee7885e00c4e2abca' (2022-11-24)
• Added input 'haskell-nix/tullia/std/incl/nixlib':
    follows 'haskell-nix/tullia/std/nixpkgs'
• Removed input 'haskell-nix/tullia/std/mdbook-kroki-preprocessor'
• Updated input 'haskell-nix/tullia/std/n2c/flake-utils':
    'github:numtide/flake-utils/1ed9fb1935d260de5fe1c2f7ee0ebaae17ed2fa1' (2022-05-30)
  → follows 'haskell-nix/tullia/std/flake-utils'
• Added input 'haskell-nix/tullia/std/nosys':
    'github:divnix/nosys/2d0d5207f6a230e9d0f660903f8db9807b54814f' (2022-11-08)
• Updated input 'haskell-nix/tullia/std/yants':
    'github:divnix/yants/0b895ca02a8fa72bad50b454cb3e7d8a66407c96' (2022-08-14)
  → 'github:divnix/yants/d18f356ec25cb94dc9c275870c3a7927a10f8c3c' (2022-10-30)
2023-02-26 01:56:15 +00:00
Andrea Bedini
dff438ee43
Merge pull request #33 from andreabedini/metadata-output
Implement metadata output
2023-02-21 11:12:25 +08:00
Andrea Bedini
b12a27a984 Use dir query parameter to include subdir into url 2023-02-20 13:42:28 +08:00
Andrea Bedini
1e45bfc0fa List package name and version separately in metadata 2023-02-20 12:15:08 +08:00
Andrea Bedini
2631bf6067 Implement metadata output.
Implement a new flag "--write-metadata" which will create, in the output
directory, a file "foliage/packages.json" with metadata about the
package provenance.

The file package.json file looks like this

```
{
  "Win32-network-0.1.0.0": {
    "source": {
      "url": "github:input-output-hk/Win32-network/3825d3abf75f83f406c1f7161883c438dac7277d"
    },
    "timestamp": "2022-10-17T00:00:00Z"
  },
  "Win32-network-0.1.1.0": {
    ...
```

The idea is that tools fetching the repo can also fetch this file to
obtain information about the package provenance.
2023-02-14 10:29:16 +08:00
Andrea Bedini
25b2afaa7a Drop nix flake check
It evaluates check jobs for all systems, which require to be run on that
system given haskell.nix use of IFD.
2023-02-14 10:28:04 +08:00