aboutsummaryrefslogtreecommitdiff
path: root/.github
AgeCommit message (Collapse)Author
2020-10-02add the default CodeQL workflowcodeqlJack 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.
2020-08-31fix a build break on x86 targets without guaranteed SSE2 supportJack O'Connor
This is quite hard to trigger, because SSE2 has been guaranteed for a long time. But you could trigger it this way: rustup target add i686-unknown-linux-musl RUSTFLAGS="-C target-cpu=i386" cargo build --target i686-unknown-linux-musl Note a relevant gotcha though: The `cross` tool will not forward environment variables like RUSTFLAGS to the container by default, so if you're testing with `cross` you'll need to use the `rustc` command to explicitly pass the flag, as I've done here in ci.yml. (Or you could create a `Cross.toml` file, but I don't want to commit one of those if I can avoid it.)
2020-07-20rename the C Makefile to Makefile.testingJack O'Connor
2020-05-05add newline and backslash escaping to b3sum outputJack O'Connor
As proposed in https://github.com/BLAKE3-team/BLAKE3/issues/33#issuecomment-623153164 This brings b3sum behavior close to md5sum. All occurrences of backslash are replaced with "\\", and all occurrences of (Unix) newline are replaced with "\n". In addition, any line containing these escapes has a single "\" prepended to the front. Filepaths were already being converted to UTF-8 with to_string_lossy(), but this commit adds an extra warning when that conversion is in fact lossy (because the path is not valid Unicode). This new warning is printed to stdout, with the goal of deliberately breaking --check (which is not yet implemented) in this case.
2020-04-28build b3sum binaries in CI for new tagsJack O'Connor
These configs and code are adapted from the CI workflow in https://github.com/oconnor663/blake3-py, especially the upload_github_release_asset.py script, which is copied verbatim.
2020-04-11print the compiler version in CI, for help with debuggingJack O'Connor
2020-04-02only run CI on branches and PRs, not tagsJack O'Connor
2020-04-01automatically fall back to the pure Rust buildJack O'Connor
There are two scenarios where compiling AVX-512 C or assembly code might not work: 1. There might not be a C compiler installed at all. Most commonly this is either in cross-compiling situations, or with the Windows GNU target. 2. The installed C compiler might not support e.g. -mavx512f, because it's too old. In both of these cases, print a relevant warning, and then automatically fall back to using the pure Rust intrinsics build. Note that this only affects x86 targets. Other targets always use pure Rust, unless the "neon" feature is enabled.
2020-03-31turn all compiler warnings into errors in CIJack O'Connor
2020-03-29add testing-only flags to disable individual instruction setsJack O'Connor
This lets CI test a wider range of possible SIMD support settings.
2020-03-29refactor the Cargo feature setJack O'Connor
The biggest change here is that assembly implementations are enabled by default. Added features: - "pure" (Pure Rust, with no C or assembly implementations.) Removed features: - "c" (Now basically the default.) Renamed features; - "c_prefer_intrinsics" -> "prefer_intrinsics" - "c_neon" -> "neon" Unchanged: - "rayon" - "std" (Still the only feature on by default.)
2020-03-29add more --release mode testingJack O'Connor
2020-03-28print instruction set support quietlyJack O'Connor
2020-03-28print out instruction set support in CIJack O'Connor
2020-03-28add release assembly testsJack O'Connor
2020-03-24disable fail-fast for cross tests tooJack O'Connor
2020-02-12more file renaming, use underscores more consistentlyJack O'Connor
2020-02-12Rename assembly files (blake3-* -> blake3_*)Erik Johansson
This gives the assembly files the same prefix as the intrinsics files which simplifies building when the build system should pick between the assembly and the intrinsics files.
2020-02-12add test_asm to the C Makefileasm_integration2Jack O'Connor
2020-02-12integrate assembly implementations into blake3_c_rust_bindingsJack O'Connor
2020-02-12integrate assembly implementations into the blake3 crateJack O'Connor
2020-02-11add cross testing on i686 to CIJack O'Connor
2020-02-07add the Windows GNU toolchain to CIJack O'Connor
2020-02-06stop skipping all other builds when one CI build failsJack O'Connor
2020-01-20add the reference impl doc test to CIJack O'Connor
2020-01-20test the BLAKE3_NO_* vars in CIJack O'Connor
2020-01-16add blake3_c_rust_bindings for testing and benchmarkingJack O'Connor
2020-01-10enable CI on pull requestsJack O'Connor
As per instructions at: https://help.github.com/en/actions/automating-your-workflow-with-github-actions/events-that-trigger-workflows
2020-01-09merge the C code's ci.yml into the top level oneJack O'Connor
CI is not currently working due to quota issues, so I'll need to check that this is actually working later.
2019-12-13test release mode in CIJack O'Connor
As part of this, get rid of the BLAKE3_FUZZ_ITERATIONS variable. I wasn't using it anywhere, and it was leading to some compiler warnings in --no-default-features mode.
2019-12-12make the "c_avx512" feature a no-op on non-x86Jack O'Connor
This lets us enable it by default in b3sum.
2019-12-12initial version of b3sumJack O'Connor
2019-12-11fix syntax errors in ci.ymlJack O'Connor
2019-12-11run the test vectors on cross tests (ARM, MIPS) on CIJack O'Connor
2019-12-11fix bench tests running in the wrong directoryJack O'Connor
2019-12-11run test vectors and bench tests in the regular CI test matrixJack O'Connor
2019-12-11test against test_vectors.json in CIJack O'Connor
2019-12-10add `cargo +nightly test --benches` to CIJack O'Connor
2019-12-09typo in ci.ymlJack O'Connor
2019-12-09set ARMv7 NEON compiler flags automaticallyJack O'Connor
2019-12-09fix a syntax error in ci.ymlJack O'Connor
2019-12-09add ci.ymlJack O'Connor