aboutsummaryrefslogtreecommitdiff
path: root/.github
AgeCommit message (Collapse)Author
2026-01-08update to the 2024 editionJack O'Connor
While we're taking this MSRV bump, we can also update `constant_time_eq`, which uses the 2024 edition in its most recent versions.
2025-08-13bump the MSRV in CI to 1.80.1Jack O'Connor
The current driver is `rayon-core` v1.13.0.
2025-06-01stop testing target-cpu=i386 on the i686 target tripleJack O'Connor
This started emitting warnings recently, and in the future those will be hard errors. See https://github.com/rust-lang/rust/issues/141848. The i586 target triple still works, and it's sufficient for exercising the non-SSE2 case. Fixes https://github.com/BLAKE3-team/BLAKE3/issues/489.
2025-04-17Add C++ std lib to pkg-configsilvanshade
2025-04-03Add CI tests for pkg-configsilvanshade
2025-03-21macOS-latest runners are now ARM CPUsJack O'Connor
2025-03-18add wasm tests to CIJack O'Connor
2025-03-15example_tbb.cJack O'Connor
2025-03-15cargo_xwin_build -> cargo_xwin_testJack O'Connor
2025-03-14add cargo_xwin_build to CIJack O'Connor
2025-03-14factor out an "msrv_build" job in CIJack O'Connor
This job uses `cargo build` instead of `cargo test`, to exclude dev dependencies.
2025-03-13tbb support in blake3_c_rust_bindingsJack O'Connor
2025-03-13Implement TBB-based parallelism for C libsilvanshade
2025-03-09update the MSRV in CI to 1.78Jack O'Connor
The "true" MSRV of the base crate is unchanged, 1.66. This bump is needed to run the `ignore` crate, a testing-only dependency.
2025-03-02ci(cmake): test the minimum required versionHenrik Steffen Gaßmann
We only test on Ubuntu due to the fact that CMake 3.9.6 does not recognize modern MSVC versions and the main use case for these ancient CMake versions are extremely conservative Linux distributions. Note that CMake 3.9.6 does not support the modern convenience commandline interface.
2024-08-19delete the guts crate for nowJack O'Connor
I haven't developed this experimental code any further since I pushed it, and it's not good for unused code to sit around. If I ever get back to this project I might revert this deletion.
2024-08-18make xof_many fall back to compress_xof instead of portable codeJack O'Connor
2024-07-09bump the MSRV in CIJack O'Connor
This is currently driven by dependencies of ciborium, which is itself a dev dependency. It's not really a crate MSRV bump.
2024-07-09bump the MSRV to 1.67.1Jack O'Connor
This is the current MSRV of `cc`.
2024-03-12version 1.5.11.5.1Jack O'Connor
Changes since 1.5.0: - The Rust crate is now compatible with Miri. - ~1% performance improvement on Arm NEON contributed by @divinity76 (#384). - Various fixes and improvements in the CMake build. - The MSRV of b3sum is now 1.74.1. (The MSRV of the library crate is unchanged, 1.66.1.)
2024-03-10test_miri_smoketestJack O'Connor
2024-01-21add guts testing to CIJack O'Connor
2023-12-30replace unmaintained actions-rs/toolchain action in CIDirk Stolle
Basically all of the `actions-rs/*` actions are unmaintained. See <https://github.com/actions-rs/toolchain/issues/216> for more information. Due to their age they generate several warnings in CI runs. To get rid of those warnings the occurrences of `actions-rs/toolchain` are replaced by `dtolnay/rust-toolchain`.
2023-12-28update actions/checkout in GitHub Actions to v4Dirk Stolle
2023-11-05add the compiler name to CMake CI jobsJack O'Connor
2023-09-19add a test for the new serde featureJack O'Connor
2023-09-16replace the new file module with inherent methods on HasherJack O'Connor
New methods: - update_reader - update_mmap - update_mmap_rayon These are more discoverable, more convenient, and safer. There are two problems I want to avoid by taking a `Path` instead of a `File`. First, exposing `Mmap` objects to the caller is fundamentally unsafe, and making `maybe_mmap_file` private avoids that issue. Second, taking a `File` raises questions about whether memory mapped reads should behave like regular file reads. (Should they respect the current seek position? Should they update the seek position?) Taking a `Path` from the caller and opening the `File` internally avoids these questions.
2023-09-10stop using MIPS for big-endian testingJack O'Connor
https://twitter.com/burntsushi5/status/1695483429997945092 https://github.com/rust-lang/compiler-team/issues/648
2023-09-10update the MSRV for b3sum to 1.70.0Jack O'Connor
As usual, the driver here is the MSRV of clap. I should've checked this when I updated the Cargo.lock file.
2023-07-16Add tests for ZeroizeElichai Turkel
2023-07-06update constant_time_eq to v0.3.0Jack O'Connor
This bumps the MSRV of both `blake3` and `b3sum` to 1.66.1.
2023-06-08factor out b3sum tests in ci.yml, to support a different MSRVJack O'Connor
2023-05-23Refactor CMake buildsystem to be portable and modernHenrik S. Gaßmann
Aggreggate source files directly in the target instead of a proxy variable. Install CMake package config files in order to allow the project to be found via `find_package()` by dependents. Replace hard coded SIMD compiler flags with configurable options. Retain the current GCC/Clang flags as defaults for these compilers. Add default SIMD compiler flags for MSVC. Remove hard coded compiler flags (including -fPIC). These are not portable and should be set by the toolchain file or on the CLI. - Guard ASM sources with triplet compatibility checks. - Remove the `BLAKE3_STATIC` option in favor of [`BUILD_SHARED_LIBS`]. [`BUILD_SHARED_LIBS`]: https://cmake.org/cmake/help/v3.9/variable/BUILD_SHARED_LIBS.html
2023-05-01Fixed CI for CMake.SteveGremory
2023-05-01Added CI Support for the CMake build, Linux/macOS only (for now)SteveGremory
2022-11-22add GCC 5.4 to CIJack O'Connor
2022-11-20add another retry loop to upload_github_release_asset.pyJack O'Connor
While we're at it, black format the .py files in this directory.
2022-11-20add the MSRV toolchain (currently 1.60.0) to CIJack O'Connor
2022-10-12Add missing sudo in ci.ymlGiovanni
2022-10-03Support portable build without intrinsicswargio
2022-01-18add a RAYON_NUM_THREADS=1 run to CIJack O'Connor
2021-10-21add aarch64-apple-darwin builds to GitHub CIJack O'Connor
I'm not sure how to build for Apple Silicon from a Linux host, but it seems to work as-is from an x86_64 macOS host. Alas, GitHub doesn't yet provide Apple Silicon hosts to run these binaries, and Cross doesn't yet support virtualizing them either.
2021-10-12Disable no_neon feature for C bindings as we can't propagate from cargo buildrsdy
2021-10-08Add no_neon feature tests to CIrsdy
2021-03-21get rid of the standalone "*_rayon" functionsJack O'Connor
These clutter the toplevel API, and their prominence might lead callers to prefer them as a first resort, which probably isn't a good idea. Restricting multithreading to `Hasher::update_rayon` feels better, similar to what we've done with `Hasher::finalize_xof`. (But I think `update_rayon` is still an improvement over the trait-based interface that it replaced.)
2021-03-21gate digest and crypto-mac implementations behind "traits-preview"Jack O'Connor
This approach was suggested by @tarcieri at https://github.com/BLAKE3-team/BLAKE3/pull/157.
2020-10-20include example.cJack O'Connor
2020-09-29add cross_test.sh for the C bindingsJack O'Connor
This will let us add big endian testing to CI for our C code. (We were already doing it for our Rust code.) This is adapted from test_vectors/cross_test.sh. It works around the limitation that the `cross` tool can't reach parent directories. It's an unfortunate hack, but at least it's only for testing. It might've been less hacky to use symlinks for this somehow, but I worry that would break things on Windows, and I don't want to have to add workarounds for my workarounds.
2020-09-02cover the no_sse2 flags in CI testingJack O'Connor
2020-08-31add i586-unknown-linux-musl as a test targetJack O'Connor
Samuel noticed that rustc seems to assume (incorrectly?) that all i686 targets support SSE2, but it doesn't make that assumption for i586.