diff --git a/.github/workflows/push.yaml b/.github/workflows/push.yaml new file mode 100644 index 0000000..7e8a6b1 --- /dev/null +++ b/.github/workflows/push.yaml @@ -0,0 +1,21 @@ +name: Push +on: + push: + branches: + - main + +jobs: + test: + name: Lint and test + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v6 + + - name: Install Nix + uses: nixbuild/nix-quick-install-action@v34 + + - run: nix flake check + - run: nix develop --command mix deps.get + - run: nix develop --command mix credo --mute-exit-status -a + - run: nix develop --command mix test diff --git a/README.md b/README.md index 2a71f56..8cfc7e7 100644 --- a/README.md +++ b/README.md @@ -10,12 +10,12 @@ IPFS/IPLD ecosystem while remaining minimal and self-contained. This library provides: -- `DASL.CID`: — content identifiers, a compact, self-describing pointer to a +- `DASL.CID`: content identifiers, a compact, self-describing pointer to a piece of data. -- `DASL.DRISL`: — deterministic CBOR serialization. -- `DASL.CAR`: — Content-Addressable aRchive encoding and decoding, as well as a +- `DASL.DRISL`: deterministic CBOR serialization. +- `DASL.CAR`: Content-Addressable aRchive encoding and decoding, as well as a stream decoder. -- `DASL.CAR.DRISL`: — a higher-level CAR variant where block values are Elixir +- `DASL.CAR.DRISL`: a higher-level CAR variant where block values are Elixir terms rather than raw binaries, and are encoded/decoded via DRISL transparently.