Skip to content

Commit

Permalink
CI: replace apt-fast by apt-get + Nim v2.2.x in CI as Nim v2.0.10 is …
Browse files Browse the repository at this point in the history
…broken. (#473)

* CI: replace apt-fast by apt-get

* CI: also test 2.2.x instead of 2.0.x due to #471

* docs: update README with compatible Nim versions
  • Loading branch information
mratsim authored Oct 4, 2024
1 parent c5e88a9 commit 4a2dd28
Show file tree
Hide file tree
Showing 2 changed files with 27 additions and 24 deletions.
10 changes: 5 additions & 5 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ jobs:
fail-fast: false
max-parallel: 20
matrix:
nim_version: [version-1-6, version-2-0]
nim_version: [version-1-6, version-2-2] # version-2-0] is crashing due to https://github.com/mratsim/constantine/issues/471
rust_toolchain: [stable] # [beta, nightly]
go_toolchain: [stable]
target:
Expand Down Expand Up @@ -158,7 +158,7 @@ jobs:
- name: Install test dependencies (Linux amd64)
if: runner.os == 'Linux' && matrix.target.cpu == 'amd64'
run: |
sudo DEBIAN_FRONTEND='noninteractive' apt-fast install \
sudo DEBIAN_FRONTEND='noninteractive' apt-get install \
--no-install-recommends -yq \
libgmp-dev \
llvm
Expand All @@ -168,12 +168,12 @@ jobs:
# We don't install LLVM as the Rust libraries that call Constantine are 64-bit only.
run: |
sudo dpkg --add-architecture i386
sudo apt-fast update -qq
sudo apt-get update -qq
# Try to fix "E: Unable to correct problems, you have held broken packages."
sudo apt-fast clean
sudo apt-get clean
sudo DEBIAN_FRONTEND='noninteractive' apt-fast install \
sudo DEBIAN_FRONTEND='noninteractive' apt-get install \
--no-install-recommends -yq \
gcc-multilib g++-multilib \
libssl-dev:i386 libgmp-dev:i386
Expand Down
41 changes: 22 additions & 19 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,24 +16,24 @@ with a particular focus on cryptography used in blockchains and zero-knowledge p
<!-- TOC -->

- [Constantine](#constantine)
- [Public API: Curves & Protocols](#public-api-curves--protocols)
- [Protocols](#protocols)
- [Elliptic Curves](#elliptic-curves)
- [General cryptography](#general-cryptography)
- [Threadpool](#threadpool)
- [Installation](#installation)
- [From Rust](#from-rust)
- [From Go](#from-go)
- [From C](#from-c)
- [From Nim](#from-nim)
- [Dependencies & Requirements](#dependencies--requirements)
- [Performance](#performance)
- [Assembly & Hardware acceleration](#assembly--hardware-acceleration)
- [Security](#security)
- [Disclaimer](#disclaimer)
- [Security disclosure](#security-disclosure)
- [Why Nim](#why-nim)
- [License](#license)
- [Public API: Curves \& Protocols](#public-api-curves--protocols)
- [Protocols](#protocols)
- [Elliptic Curves](#elliptic-curves)
- [General cryptography](#general-cryptography)
- [Threadpool](#threadpool)
- [Installation](#installation)
- [From Rust](#from-rust)
- [From Go](#from-go)
- [From C](#from-c)
- [From Nim](#from-nim)
- [Dependencies \& Requirements](#dependencies--requirements)
- [Performance](#performance)
- [Assembly \& Hardware acceleration](#assembly--hardware-acceleration)
- [Security](#security)
- [Disclaimer](#disclaimer)
- [Security disclosure](#security-disclosure)
- [Why Nim](#why-nim)
- [License](#license)

<!-- /TOC -->
The library aims to be a fast, compact and hardened library for elliptic curve cryptography needs, in particular for blockchain protocols and zero-knowledge proofs system.
Expand Down Expand Up @@ -136,7 +136,10 @@ See the following documents on the threadpool performance details, design and re
## Installation

> [!IMPORTANT]
> Constantine can be compiled by Nim v1.6.x, v2.0.2 and v2.0.4 but not Nim v2.0.0 (due to a compile-time evaluation crash)
> Constantine can be compiled with:
> - Nim v1.6.x,
> - Nim v2.0.2 to v2.0.8 but not Nim v2.0.0 and Nim 2.0.10 (due to compile-time evaluation crashes)
> - Nim v2.2.0
### From Rust

Expand Down

0 comments on commit 4a2dd28

Please sign in to comment.