Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/bogdanp/racksnaps
Daily snapshots of the Racket Package Catalog.
https://github.com/bogdanp/racksnaps
package-management racket
Last synced: about 2 months ago
JSON representation
Daily snapshots of the Racket Package Catalog.
- Host: GitHub
- URL: https://github.com/bogdanp/racksnaps
- Owner: Bogdanp
- License: bsd-3-clause
- Created: 2020-05-01T13:13:03.000Z (almost 5 years ago)
- Default Branch: master
- Last Pushed: 2024-08-15T11:02:01.000Z (6 months ago)
- Last Synced: 2024-10-28T20:09:30.414Z (3 months ago)
- Topics: package-management, racket
- Language: Racket
- Homepage: https://racksnaps.defn.io
- Size: 107 KB
- Stars: 12
- Watchers: 4
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# racksnaps
[![CI](https://github.com/Bogdanp/racksnaps/actions/workflows/push.yml/badge.svg)](https://github.com/Bogdanp/racksnaps/actions/workflows/push.yml)
This code builds daily snapshots of the official [Racket Package
Catalog]. The intent is to allow application developers to depend on
specific, unchanging sets of packages until they're ready to update
their apps.The snapshots are currently available at https://racksnaps.defn.io/snapshots/ .
To develop against the snapshot from November 16th, 2022, you might
run the following command:raco pkg config --set catalogs \
https://download.racket-lang.org/releases/8.7/catalog/ \
https://racksnaps.defn.io/snapshots/2022/11/16/catalog/ \
https://pkgs.racket-lang.org \
https://planet-compats.racket-lang.orgWhen building a web app in CI you might limit the catalog list to just
the release catalog (for packages in the main distribution) and the
snapshot:raco pkg config --set catalogs \
https://download.racket-lang.org/releases/8.7/catalog/ \
https://racksnaps.defn.io/snapshots/2022/11/16/catalog/## How it Works
Every day at 12am UTC, the service queries all the packages on
pkgs.racket-lang.org for metadata and source locations. It then
creates a source package archive for each package whose sources are
still valid.Snapshots are never modified once they succeed and a content
addressing scheme is used for the individual packages to avoid using
up too much disk space over time.The `snapshot.rkt` program creates the snapshots.
## Testing Changes
The code relies on [Docker] so you'll need a system that supports it.
To run a full build, you can invoke
./test.sh
in the root of the repository.
To run a build for a subset of packages, you can invoke `test.sh` with
whichever packages you want to build:./test.sh component component-lib component-doc
## License
racksnaps is licensed under the 3-Clause BSD license.
[Racket Package Catalog]: https://pkgs.racket-lang.org/
[Docker]: https://www.docker.com/