diff --git a/.clang-tidy b/.clang-tidy deleted file mode 100644 index 47c70740..00000000 --- a/.clang-tidy +++ /dev/null @@ -1,295 +0,0 @@ ---- -Checks: '*,-llvm-header-guard,-hicpp-*,-readability-function-size,-google-readability-todo,-google-readability-casting,-readability-magic-numbers,-cppcoreguidelines-avoid-magic-numbers,-cppcoreguidelines-init-variables,-readability-isolate-declaration,-readability-uppercase-literal-suffix,-clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling,-clang-analyzer-valist.*,-llvmlibc-*,-bugprone-reserved-identifier,-cert-dcl37-c,-cert-dcl51-cpp' -WarningsAsErrors: '*' -HeaderFilterRegex: '.*' -AnalyzeTemporaryDtors: false -FormatStyle: file -User: thom -CheckOptions: - - key: abseil-string-find-startswith.AbseilStringsMatchHeader - value: absl/strings/match.h - - key: abseil-string-find-startswith.IncludeStyle - value: llvm - - key: abseil-string-find-startswith.StringLikeClasses - value: '::std::basic_string' - - key: bugprone-argument-comment.StrictMode - value: '0' - - key: bugprone-assert-side-effect.AssertMacros - value: assert - - key: bugprone-assert-side-effect.CheckFunctionCalls - value: '0' - - key: bugprone-dangling-handle.HandleClasses - value: 'std::basic_string_view;std::experimental::basic_string_view' - - key: bugprone-exception-escape.FunctionsThatShouldNotThrow - value: '' - - key: bugprone-exception-escape.IgnoredExceptions - value: '' - - key: bugprone-misplaced-widening-cast.CheckImplicitCasts - value: '0' - - key: bugprone-sizeof-expression.WarnOnSizeOfCompareToConstant - value: '1' - - key: bugprone-sizeof-expression.WarnOnSizeOfConstant - value: '1' - - key: bugprone-sizeof-expression.WarnOnSizeOfIntegerExpression - value: '0' - - key: bugprone-sizeof-expression.WarnOnSizeOfThis - value: '1' - - key: bugprone-string-constructor.LargeLengthThreshold - value: '8388608' - - key: bugprone-string-constructor.WarnOnLargeLength - value: '1' - - key: bugprone-suspicious-enum-usage.StrictMode - value: '0' - - key: bugprone-suspicious-missing-comma.MaxConcatenatedTokens - value: '5' - - key: bugprone-suspicious-missing-comma.RatioThreshold - value: '0.200000' - - key: bugprone-suspicious-missing-comma.SizeThreshold - value: '5' - - key: bugprone-suspicious-string-compare.StringCompareLikeFunctions - value: '' - - key: bugprone-suspicious-string-compare.WarnOnImplicitComparison - value: '1' - - key: bugprone-suspicious-string-compare.WarnOnLogicalNotComparison - value: '0' - - key: bugprone-unused-return-value.CheckedFunctions - value: '::std::async;::std::launder;::std::remove;::std::remove_if;::std::unique;::std::unique_ptr::release;::std::basic_string::empty;::std::vector::empty' - - key: cert-dcl59-cpp.HeaderFileExtensions - value: ',h,hh,hpp,hxx' - - key: cert-err09-cpp.CheckThrowTemporaries - value: '1' - - key: cert-err61-cpp.CheckThrowTemporaries - value: '1' - - key: cert-msc32-c.DisallowedSeedTypes - value: 'time_t,std::time_t' - - key: cert-msc51-cpp.DisallowedSeedTypes - value: 'time_t,std::time_t' - - key: cert-oop11-cpp.IncludeStyle - value: llvm - - key: cppcoreguidelines-no-malloc.Allocations - value: '::malloc;::calloc' - - key: cppcoreguidelines-no-malloc.Deallocations - value: '::free' - - key: cppcoreguidelines-no-malloc.Reallocations - value: '::realloc' - - key: cppcoreguidelines-owning-memory.LegacyResourceConsumers - value: '::free;::realloc;::freopen;::fclose' - - key: cppcoreguidelines-owning-memory.LegacyResourceProducers - value: '::malloc;::aligned_alloc;::realloc;::calloc;::fopen;::freopen;::tmpfile' - - key: cppcoreguidelines-pro-bounds-constant-array-index.GslHeader - value: '' - - key: cppcoreguidelines-pro-bounds-constant-array-index.IncludeStyle - value: '0' - - key: cppcoreguidelines-pro-type-member-init.IgnoreArrays - value: '0' - - key: cppcoreguidelines-special-member-functions.AllowMissingMoveFunctions - value: '0' - - key: cppcoreguidelines-special-member-functions.AllowSoleDefaultDtor - value: '0' - - key: fuchsia-header-anon-namespaces.HeaderFileExtensions - value: ',h,hh,hpp,hxx' - - key: fuchsia-restrict-system-includes.Includes - value: '*' - - key: google-build-namespaces.HeaderFileExtensions - value: ',h,hh,hpp,hxx' - - key: google-global-names-in-headers.HeaderFileExtensions - value: ',h,hh,hpp,hxx' - - key: google-readability-braces-around-statements.ShortStatementLines - value: '1' - - key: google-readability-function-size.BranchThreshold - value: '4294967295' - - key: google-readability-function-size.LineThreshold - value: '4294967295' - - key: google-readability-function-size.NestingThreshold - value: '4294967295' - - key: google-readability-function-size.ParameterThreshold - value: '4294967295' - - key: google-readability-function-size.StatementThreshold - value: '1000' - - key: google-readability-function-size.VariableThreshold - value: '4294967295' - - key: google-readability-namespace-comments.ShortNamespaceLines - value: '10' - - key: google-readability-namespace-comments.SpacesBeforeComments - value: '2' - - key: google-runtime-int.SignedTypePrefix - value: int - - key: google-runtime-int.TypeSuffix - value: '' - - key: google-runtime-int.UnsignedTypePrefix - value: uint - - key: google-runtime-references.WhiteListTypes - value: '' - - key: hicpp-braces-around-statements.ShortStatementLines - value: '0' - - key: hicpp-member-init.IgnoreArrays - value: '0' - - key: hicpp-move-const-arg.CheckTriviallyCopyableMove - value: '1' - - key: hicpp-multiway-paths-covered.WarnOnMissingElse - value: '0' - - key: hicpp-named-parameter.IgnoreFailedSplit - value: '0' - - key: hicpp-no-malloc.Allocations - value: '::malloc;::calloc' - - key: hicpp-no-malloc.Deallocations - value: '::free' - - key: hicpp-no-malloc.Reallocations - value: '::realloc' - - key: hicpp-special-member-functions.AllowMissingMoveFunctions - value: '0' - - key: hicpp-special-member-functions.AllowSoleDefaultDtor - value: '0' - - key: hicpp-use-auto.MinTypeNameLength - value: '5' - - key: hicpp-use-auto.RemoveStars - value: '0' - - key: hicpp-use-emplace.ContainersWithPushBack - value: '::std::vector;::std::list;::std::deque' - - key: hicpp-use-emplace.SmartPointers - value: '::std::shared_ptr;::std::unique_ptr;::std::auto_ptr;::std::weak_ptr' - - key: hicpp-use-emplace.TupleMakeFunctions - value: '::std::make_pair;::std::make_tuple' - - key: hicpp-use-emplace.TupleTypes - value: '::std::pair;::std::tuple' - - key: hicpp-use-equals-default.IgnoreMacros - value: '1' - - key: hicpp-use-noexcept.ReplacementString - value: '' - - key: hicpp-use-noexcept.UseNoexceptFalse - value: '1' - - key: hicpp-use-nullptr.NullMacros - value: '' - - key: llvm-namespace-comment.ShortNamespaceLines - value: '1' - - key: llvm-namespace-comment.SpacesBeforeComments - value: '1' - - key: misc-definitions-in-headers.HeaderFileExtensions - value: ',h,hh,hpp,hxx' - - key: misc-definitions-in-headers.UseHeaderFileExtension - value: '1' - - key: misc-throw-by-value-catch-by-reference.CheckThrowTemporaries - value: '1' - - key: misc-unused-parameters.StrictMode - value: '0' - - key: modernize-loop-convert.MaxCopySize - value: '16' - - key: modernize-loop-convert.MinConfidence - value: reasonable - - key: modernize-loop-convert.NamingStyle - value: CamelCase - - key: modernize-make-shared.IgnoreMacros - value: '1' - - key: modernize-make-shared.IncludeStyle - value: '0' - - key: modernize-make-shared.MakeSmartPtrFunction - value: 'std::make_shared' - - key: modernize-make-shared.MakeSmartPtrFunctionHeader - value: memory - - key: modernize-make-unique.IgnoreMacros - value: '1' - - key: modernize-make-unique.IncludeStyle - value: '0' - - key: modernize-make-unique.MakeSmartPtrFunction - value: 'std::make_unique' - - key: modernize-make-unique.MakeSmartPtrFunctionHeader - value: memory - - key: modernize-pass-by-value.IncludeStyle - value: llvm - - key: modernize-pass-by-value.ValuesOnly - value: '0' - - key: modernize-raw-string-literal.ReplaceShorterLiterals - value: '0' - - key: modernize-replace-auto-ptr.IncludeStyle - value: llvm - - key: modernize-replace-random-shuffle.IncludeStyle - value: llvm - - key: modernize-use-auto.MinTypeNameLength - value: '5' - - key: modernize-use-auto.RemoveStars - value: '0' - - key: modernize-use-default-member-init.IgnoreMacros - value: '1' - - key: modernize-use-default-member-init.UseAssignment - value: '0' - - key: modernize-use-emplace.ContainersWithPushBack - value: '::std::vector;::std::list;::std::deque' - - key: modernize-use-emplace.SmartPointers - value: '::std::shared_ptr;::std::unique_ptr;::std::auto_ptr;::std::weak_ptr' - - key: modernize-use-emplace.TupleMakeFunctions - value: '::std::make_pair;::std::make_tuple' - - key: modernize-use-emplace.TupleTypes - value: '::std::pair;::std::tuple' - - key: modernize-use-equals-default.IgnoreMacros - value: '1' - - key: modernize-use-noexcept.ReplacementString - value: '' - - key: modernize-use-noexcept.UseNoexceptFalse - value: '1' - - key: modernize-use-nullptr.NullMacros - value: 'NULL' - - key: modernize-use-transparent-functors.SafeMode - value: '0' - - key: modernize-use-using.IgnoreMacros - value: '1' - - key: objc-forbidden-subclassing.ForbiddenSuperClassNames - value: 'ABNewPersonViewController;ABPeoplePickerNavigationController;ABPersonViewController;ABUnknownPersonViewController;NSHashTable;NSMapTable;NSPointerArray;NSPointerFunctions;NSTimer;UIActionSheet;UIAlertView;UIImagePickerController;UITextInputMode;UIWebView' - - key: objc-property-declaration.Acronyms - value: '' - - key: objc-property-declaration.IncludeDefaultAcronyms - value: '1' - - key: performance-faster-string-find.StringLikeClasses - value: 'std::basic_string' - - key: performance-for-range-copy.WarnOnAllAutoCopies - value: '0' - - key: performance-inefficient-string-concatenation.StrictMode - value: '0' - - key: performance-inefficient-vector-operation.VectorLikeClasses - value: '::std::vector' - - key: performance-move-const-arg.CheckTriviallyCopyableMove - value: '1' - - key: performance-move-constructor-init.IncludeStyle - value: llvm - - key: performance-type-promotion-in-math-fn.IncludeStyle - value: llvm - - key: performance-unnecessary-value-param.IncludeStyle - value: llvm - - key: portability-simd-intrinsics.Std - value: '' - - key: portability-simd-intrinsics.Suggest - value: '0' - - key: readability-braces-around-statements.ShortStatementLines - value: '0' - - key: readability-function-size.BranchThreshold - value: '4294967295' - - key: readability-function-size.LineThreshold - value: '4294967295' - - key: readability-function-size.NestingThreshold - value: '4294967295' - - key: readability-function-size.ParameterThreshold - value: '4294967295' - - key: readability-function-size.StatementThreshold - value: '800' - - key: readability-function-size.VariableThreshold - value: '4294967295' - - key: readability-identifier-naming.IgnoreFailedSplit - value: '0' - - key: readability-implicit-bool-conversion.AllowIntegerConditions - value: '0' - - key: readability-implicit-bool-conversion.AllowPointerConditions - value: '0' - - key: readability-inconsistent-declaration-parameter-name.IgnoreMacros - value: '1' - - key: readability-inconsistent-declaration-parameter-name.Strict - value: '0' - - key: readability-inconsistent-declaration-parameter-name.Strict - value: '0' - - key: readability-simplify-boolean-expr.ChainedConditionalReturn - value: '0' - - key: readability-simplify-subscript-expr.Types - value: '::std::basic_string;::std::basic_string_view;::std::vector;::std::array' - - key: readability-static-accessed-through-instance.NameSpecifierNestingThreshold - value: '3' - - key: zircon-temporary-objects.Names - value: '' -... diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md deleted file mode 100644 index 8a6ef673..00000000 --- a/.github/pull_request_template.md +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - -#### Manually checked properties -* [ ] Generated Github workflow (run ``.github/workflows/generate_workflows.py``) (new schemes) -* [ ] No stringification macros -* [ ] Output-parameter pointers in functions are on the left -* [ ] Negative return values on failure of API functions (within restrictions of FO transform). -* [ ] variable declarations at the beginning (except in `for (size_t i=...`) -* Optional: - * [ ] All integer types are of fixed size, using `stdint.h` types (including `uint8_t` instead of `unsigned char`) - * [ ] Integers used for indexing are of size `size_t` diff --git a/.github/workflows/BADGES.md b/.github/workflows/BADGES.md deleted file mode 100644 index 4f8bc542..00000000 --- a/.github/workflows/BADGES.md +++ /dev/null @@ -1,91 +0,0 @@ -![Test sphincs-haraka-128f-robust](https://github.com/PQClean/PQClean/workflows/Test%20sphincs-haraka-128f-robust/badge.svg?branch=master) -![Test rainbowV-circumzenithal](https://github.com/PQClean/PQClean/workflows/Test%20rainbowV-circumzenithal/badge.svg?branch=master) -![Test rainbowIII-circumzenithal](https://github.com/PQClean/PQClean/workflows/Test%20rainbowIII-circumzenithal/badge.svg?branch=master) -![Test sphincs-haraka-192f-simple](https://github.com/PQClean/PQClean/workflows/Test%20sphincs-haraka-192f-simple/badge.svg?branch=master) -![Test sphincs-sha256-128f-simple](https://github.com/PQClean/PQClean/workflows/Test%20sphincs-sha256-128f-simple/badge.svg?branch=master) -![Test rainbowIII-classic](https://github.com/PQClean/PQClean/workflows/Test%20rainbowIII-classic/badge.svg?branch=master) -![Test sphincs-shake256-192s-simple](https://github.com/PQClean/PQClean/workflows/Test%20sphincs-shake256-192s-simple/badge.svg?branch=master) -![Test rainbowI-circumzenithal](https://github.com/PQClean/PQClean/workflows/Test%20rainbowI-circumzenithal/badge.svg?branch=master) -![Test rainbowI-classic](https://github.com/PQClean/PQClean/workflows/Test%20rainbowI-classic/badge.svg?branch=master) -![Test sphincs-haraka-256f-robust](https://github.com/PQClean/PQClean/workflows/Test%20sphincs-haraka-256f-robust/badge.svg?branch=master) -![Test sphincs-sha256-192f-simple](https://github.com/PQClean/PQClean/workflows/Test%20sphincs-sha256-192f-simple/badge.svg?branch=master) -![Test sphincs-haraka-192f-robust](https://github.com/PQClean/PQClean/workflows/Test%20sphincs-haraka-192f-robust/badge.svg?branch=master) -![Test sphincs-haraka-256s-robust](https://github.com/PQClean/PQClean/workflows/Test%20sphincs-haraka-256s-robust/badge.svg?branch=master) -![Test sphincs-shake256-192s-robust](https://github.com/PQClean/PQClean/workflows/Test%20sphincs-shake256-192s-robust/badge.svg?branch=master) -![Test sphincs-haraka-192s-simple](https://github.com/PQClean/PQClean/workflows/Test%20sphincs-haraka-192s-simple/badge.svg?branch=master) -![Test sphincs-haraka-256s-simple](https://github.com/PQClean/PQClean/workflows/Test%20sphincs-haraka-256s-simple/badge.svg?branch=master) -![Test sphincs-sha256-128s-robust](https://github.com/PQClean/PQClean/workflows/Test%20sphincs-sha256-128s-robust/badge.svg?branch=master) -![Test sphincs-shake256-256f-simple](https://github.com/PQClean/PQClean/workflows/Test%20sphincs-shake256-256f-simple/badge.svg?branch=master) -![Test sphincs-sha256-192f-robust](https://github.com/PQClean/PQClean/workflows/Test%20sphincs-sha256-192f-robust/badge.svg?branch=master) -![Test dilithium3](https://github.com/PQClean/PQClean/workflows/Test%20dilithium3/badge.svg?branch=master) -![Test rainbowI-compressed](https://github.com/PQClean/PQClean/workflows/Test%20rainbowI-compressed/badge.svg?branch=master) -![Test dilithium2](https://github.com/PQClean/PQClean/workflows/Test%20dilithium2/badge.svg?branch=master) -![Test sphincs-sha256-256s-robust](https://github.com/PQClean/PQClean/workflows/Test%20sphincs-sha256-256s-robust/badge.svg?branch=master) -![Test sphincs-shake256-256s-robust](https://github.com/PQClean/PQClean/workflows/Test%20sphincs-shake256-256s-robust/badge.svg?branch=master) -![Test dilithium5](https://github.com/PQClean/PQClean/workflows/Test%20dilithium5/badge.svg?branch=master) -![Test sphincs-haraka-256f-simple](https://github.com/PQClean/PQClean/workflows/Test%20sphincs-haraka-256f-simple/badge.svg?branch=master) -![Test sphincs-haraka-128s-robust](https://github.com/PQClean/PQClean/workflows/Test%20sphincs-haraka-128s-robust/badge.svg?branch=master) -![Test sphincs-shake256-128s-simple](https://github.com/PQClean/PQClean/workflows/Test%20sphincs-shake256-128s-simple/badge.svg?branch=master) -![Test sphincs-sha256-256f-simple](https://github.com/PQClean/PQClean/workflows/Test%20sphincs-sha256-256f-simple/badge.svg?branch=master) -![Test sphincs-shake256-128f-robust](https://github.com/PQClean/PQClean/workflows/Test%20sphincs-shake256-128f-robust/badge.svg?branch=master) -![Test sphincs-shake256-192f-simple](https://github.com/PQClean/PQClean/workflows/Test%20sphincs-shake256-192f-simple/badge.svg?branch=master) -![Test rainbowV-classic](https://github.com/PQClean/PQClean/workflows/Test%20rainbowV-classic/badge.svg?branch=master) -![Test sphincs-sha256-192s-robust](https://github.com/PQClean/PQClean/workflows/Test%20sphincs-sha256-192s-robust/badge.svg?branch=master) -![Test sphincs-shake256-256s-simple](https://github.com/PQClean/PQClean/workflows/Test%20sphincs-shake256-256s-simple/badge.svg?branch=master) -![Test rainbowV-compressed](https://github.com/PQClean/PQClean/workflows/Test%20rainbowV-compressed/badge.svg?branch=master) -![Test sphincs-sha256-256s-simple](https://github.com/PQClean/PQClean/workflows/Test%20sphincs-sha256-256s-simple/badge.svg?branch=master) -![Test dilithium5aes](https://github.com/PQClean/PQClean/workflows/Test%20dilithium5aes/badge.svg?branch=master) -![Test dilithium2aes](https://github.com/PQClean/PQClean/workflows/Test%20dilithium2aes/badge.svg?branch=master) -![Test sphincs-sha256-128s-simple](https://github.com/PQClean/PQClean/workflows/Test%20sphincs-sha256-128s-simple/badge.svg?branch=master) -![Test sphincs-sha256-192s-simple](https://github.com/PQClean/PQClean/workflows/Test%20sphincs-sha256-192s-simple/badge.svg?branch=master) -![Test rainbowIII-compressed](https://github.com/PQClean/PQClean/workflows/Test%20rainbowIII-compressed/badge.svg?branch=master) -![Test sphincs-sha256-256f-robust](https://github.com/PQClean/PQClean/workflows/Test%20sphincs-sha256-256f-robust/badge.svg?branch=master) -![Test falcon-512](https://github.com/PQClean/PQClean/workflows/Test%20falcon-512/badge.svg?branch=master) -![Test sphincs-shake256-192f-robust](https://github.com/PQClean/PQClean/workflows/Test%20sphincs-shake256-192f-robust/badge.svg?branch=master) -![Test falcon-1024](https://github.com/PQClean/PQClean/workflows/Test%20falcon-1024/badge.svg?branch=master) -![Test sphincs-haraka-128s-simple](https://github.com/PQClean/PQClean/workflows/Test%20sphincs-haraka-128s-simple/badge.svg?branch=master) -![Test sphincs-shake256-256f-robust](https://github.com/PQClean/PQClean/workflows/Test%20sphincs-shake256-256f-robust/badge.svg?branch=master) -![Test sphincs-shake256-128f-simple](https://github.com/PQClean/PQClean/workflows/Test%20sphincs-shake256-128f-simple/badge.svg?branch=master) -![Test sphincs-shake256-128s-robust](https://github.com/PQClean/PQClean/workflows/Test%20sphincs-shake256-128s-robust/badge.svg?branch=master) -![Test sphincs-haraka-192s-robust](https://github.com/PQClean/PQClean/workflows/Test%20sphincs-haraka-192s-robust/badge.svg?branch=master) -![Test sphincs-sha256-128f-robust](https://github.com/PQClean/PQClean/workflows/Test%20sphincs-sha256-128f-robust/badge.svg?branch=master) -![Test sphincs-haraka-128f-simple](https://github.com/PQClean/PQClean/workflows/Test%20sphincs-haraka-128f-simple/badge.svg?branch=master) -![Test dilithium3aes](https://github.com/PQClean/PQClean/workflows/Test%20dilithium3aes/badge.svg?branch=master) -![Test kyber512-90s](https://github.com/PQClean/PQClean/workflows/Test%20kyber512-90s/badge.svg?branch=master) -![Test firesaber](https://github.com/PQClean/PQClean/workflows/Test%20firesaber/badge.svg?branch=master) -![Test frodokem1344aes](https://github.com/PQClean/PQClean/workflows/Test%20frodokem1344aes/badge.svg?branch=master) -![Test sntrup653](https://github.com/PQClean/PQClean/workflows/Test%20sntrup653/badge.svg?branch=master) -![Test mceliece6688128](https://github.com/PQClean/PQClean/workflows/Test%20mceliece6688128/badge.svg?branch=master) -![Test ntrulpr761](https://github.com/PQClean/PQClean/workflows/Test%20ntrulpr761/badge.svg?branch=master) -![Test frodokem976aes](https://github.com/PQClean/PQClean/workflows/Test%20frodokem976aes/badge.svg?branch=master) -![Test hqc-rmrs-192](https://github.com/PQClean/PQClean/workflows/Test%20hqc-rmrs-192/badge.svg?branch=master) -![Test sntrup857](https://github.com/PQClean/PQClean/workflows/Test%20sntrup857/badge.svg?branch=master) -![Test frodokem640aes](https://github.com/PQClean/PQClean/workflows/Test%20frodokem640aes/badge.svg?branch=master) -![Test hqc-rmrs-128](https://github.com/PQClean/PQClean/workflows/Test%20hqc-rmrs-128/badge.svg?branch=master) -![Test mceliece6960119](https://github.com/PQClean/PQClean/workflows/Test%20mceliece6960119/badge.svg?branch=master) -![Test frodokem1344shake](https://github.com/PQClean/PQClean/workflows/Test%20frodokem1344shake/badge.svg?branch=master) -![Test mceliece6688128f](https://github.com/PQClean/PQClean/workflows/Test%20mceliece6688128f/badge.svg?branch=master) -![Test mceliece8192128f](https://github.com/PQClean/PQClean/workflows/Test%20mceliece8192128f/badge.svg?branch=master) -![Test kyber1024](https://github.com/PQClean/PQClean/workflows/Test%20kyber1024/badge.svg?branch=master) -![Test mceliece348864f](https://github.com/PQClean/PQClean/workflows/Test%20mceliece348864f/badge.svg?branch=master) -![Test sntrup761](https://github.com/PQClean/PQClean/workflows/Test%20sntrup761/badge.svg?branch=master) -![Test ntruhps4096821](https://github.com/PQClean/PQClean/workflows/Test%20ntruhps4096821/badge.svg?branch=master) -![Test ntruhrss701](https://github.com/PQClean/PQClean/workflows/Test%20ntruhrss701/badge.svg?branch=master) -![Test mceliece348864](https://github.com/PQClean/PQClean/workflows/Test%20mceliece348864/badge.svg?branch=master) -![Test ntrulpr653](https://github.com/PQClean/PQClean/workflows/Test%20ntrulpr653/badge.svg?branch=master) -![Test kyber1024-90s](https://github.com/PQClean/PQClean/workflows/Test%20kyber1024-90s/badge.svg?branch=master) -![Test ntruhps2048509](https://github.com/PQClean/PQClean/workflows/Test%20ntruhps2048509/badge.svg?branch=master) -![Test kyber768-90s](https://github.com/PQClean/PQClean/workflows/Test%20kyber768-90s/badge.svg?branch=master) -![Test mceliece6960119f](https://github.com/PQClean/PQClean/workflows/Test%20mceliece6960119f/badge.svg?branch=master) -![Test saber](https://github.com/PQClean/PQClean/workflows/Test%20saber/badge.svg?branch=master) -![Test kyber768](https://github.com/PQClean/PQClean/workflows/Test%20kyber768/badge.svg?branch=master) -![Test kyber512](https://github.com/PQClean/PQClean/workflows/Test%20kyber512/badge.svg?branch=master) -![Test lightsaber](https://github.com/PQClean/PQClean/workflows/Test%20lightsaber/badge.svg?branch=master) -![Test mceliece460896f](https://github.com/PQClean/PQClean/workflows/Test%20mceliece460896f/badge.svg?branch=master) -![Test mceliece8192128](https://github.com/PQClean/PQClean/workflows/Test%20mceliece8192128/badge.svg?branch=master) -![Test mceliece460896](https://github.com/PQClean/PQClean/workflows/Test%20mceliece460896/badge.svg?branch=master) -![Test ntruhps2048677](https://github.com/PQClean/PQClean/workflows/Test%20ntruhps2048677/badge.svg?branch=master) -![Test ntrulpr857](https://github.com/PQClean/PQClean/workflows/Test%20ntrulpr857/badge.svg?branch=master) -![Test hqc-rmrs-256](https://github.com/PQClean/PQClean/workflows/Test%20hqc-rmrs-256/badge.svg?branch=master) -![Test frodokem976shake](https://github.com/PQClean/PQClean/workflows/Test%20frodokem976shake/badge.svg?branch=master) -![Test frodokem640shake](https://github.com/PQClean/PQClean/workflows/Test%20frodokem640shake/badge.svg?branch=master) diff --git a/.github/workflows/common.yml b/.github/workflows/common.yml deleted file mode 100644 index ac1eb284..00000000 --- a/.github/workflows/common.yml +++ /dev/null @@ -1,152 +0,0 @@ -on: ['push', 'pull_request'] - -name: Test common files and sanity checks - -jobs: - test-native: - runs-on: ubuntu-latest - container: - image: pqclean/ci-container:${{ matrix.arch }} - env: - CC: ccache ${{ matrix.cc }} - CCACHE_NOSTATS: 1 - CCACHE_DIR: /ccache - CCACHE_SLOPPINESS: include_file_mtime - strategy: - matrix: - arch: - - amd64 - - i386 - cc: - - gcc - - clang - steps: - - uses: actions/checkout@v2 - with: - submodules: true - - name: Cache ccache - uses: actions/cache@v2 - env: - cache-name: cache-ccache - with: - path: /ccache - key: v1-${{ runner.os }}-build-${{ env.cache-name }}-${{ matrix.cc }}-${{ env.GITHUB_WORKFLOW }}-${{ matrix.arch }} - - name: Cache pip - uses: actions/cache@v2 - env: - cache-name: cache-python - with: - path: ~/.cache/pip - key: v1-python-pip - - name: Install python dependencies - run: | - python3 -m pip install -r requirements.txt - - name: Run tests - run: | - cd test - python3 test_common.py --numprocesses=auto - python3 test_workflows.py - test-emulated: - runs-on: ubuntu-latest - strategy: - matrix: - arch: - - armhf - - unstable-ppc - cc: - - gcc - - clang - env: - CC: ${{ matrix.cc }} - steps: - - name: Register qemu-user-static - run: | - docker run --rm --privileged multiarch/qemu-user-static:register --reset - - uses: actions/checkout@v2 - with: - submodules: true - - name: Cache ccache - uses: actions/cache@v2 - env: - cache-name: cache-ccache - with: - path: ~/ccache - key: v1-${{ runner.os }}-build-${{ env.cache-name }}-${{ matrix.cc }}-${{ env.GITHUB_WORKFLOW }}-${{ matrix.arch }} - - name: Cache pip - uses: actions/cache@v2 - env: - cache-name: cache-python - with: - path: ~/.cache/pip - key: v1-python-pip - - name: Run tests in container - run: | - docker run --rm -e CI -e CC -v $PWD:$PWD -w $PWD -v ~/ccache:/ccache pqclean/ci-container:${{ matrix.arch }} /bin/bash -c "\ - export CCACHE_NOSTATS=1 && \ - export CCACHE_DIR=/ccache && \ - export CCACHE_SLOPPINESS=include_file_mtime && \ - export CC=\"ccache $CC\" && \ - pip3 install -U -r requirements.txt && \ - cd test && \ - python3 test_common.py --numprocesses=auto" - test-windows: - strategy: - matrix: - bits: - - 64 - - 32 - runs-on: windows-latest - steps: - - uses: actions/checkout@v2 - with: - submodules: true - - name: Setup astyle - run: | - # Setup strong crypto - Set-ItemProperty -Path "HKLM:\\SOFTWARE\\Wow6432Node\\Microsoft\\.NetFramework\\v4.0.30319" -Name 'SchUseStrongCrypto' -Value '1' -Type DWord - Set-ItemProperty -Path "HKLM:\\SOFTWARE\\Microsoft\\.NetFramework\\v4.0.30319" -Name "SchUseStrongCrypto" -Value '1' -Type DWord - Invoke-WebRequest -OutFile "test\\astyle.exe" "https://rded.nl/pqclean/AStyle.exe" - shell: powershell - - name: Setup Python - uses: actions/setup-python@main - with: - python-version: "3.x" - - name: Install python requirements - run: python -m pip install -r requirements.txt - - name: Run tests - run: | - call "C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Enterprise\\VC\\Auxiliary\\Build\\vcvars${{ matrix.bits }}.bat" - cd test - python -m pytest --verbose --numprocesses=auto - python test_common.py --numprocesses=auto - shell: cmd - test-macos: - env: - CCACHE_NOSTATS: 1 - CCACHE_SLOPPINESS: include_file_mtime - # XCode version - DEVELOPER_DIR: /Applications/Xcode_11.5.app/Contents/Developer - strategy: - matrix: - compiler: - - clang # XCode (Apple LLVM/Clang) - - gcc9 # GNU (Homebrew) - runs-on: macos-latest - steps: - - uses: actions/checkout@v2 - with: - submodules: true - - name: Set up GCC9 compiler - run: 'export PATH="/usr/local/bin:$PATH" && export CC=gcc-9' - if: ${{ matrix.compiler == 'gcc9' }} - - name: Setup Python - uses: actions/setup-python@main - with: - python-version: "3.x" - - name: Install Python dependencies - run: python -m pip install -r requirements.txt - - name: Run tests - run: | - cd test - python test_common.py --numprocesses=auto - diff --git a/.github/workflows/generate_workflows.py b/.github/workflows/generate_workflows.py deleted file mode 100644 index 68762774..00000000 --- a/.github/workflows/generate_workflows.py +++ /dev/null @@ -1,62 +0,0 @@ -#!/usr/bin/env python3 -import sys -import difflib - -from pathlib import Path - -import jinja2 - - -def render_workflow(scheme_path): - result = 0 - scheme_name = scheme_path.name - scheme_type = str(scheme_path.parent.name).split("_")[1] - target_name = f"{scheme_type}_{scheme_name}.yml" - - tpl = TPL_ENV.get_template("template.yml.j2") - new_contents = tpl.render(scheme_type=scheme_type, scheme_name=scheme_name) - if not TEST_MODE: - with open(target_name, "w") as f: - f.write(new_contents) - with open("BADGES.md", "a") as f: - f.write( - f"![Test {scheme_name}]" - f"(https://github.com/PQClean/PQClean/workflows/Test%20{scheme_name}/badge.svg?branch=master)\n") - else: - if (Path(".") / target_name).exists(): - with open(target_name, "r") as f: - file_contents = f.read() - else: - file_contents = "" - - if file_contents != new_contents: - sys.stdout.writelines(difflib.unified_diff( - file_contents.splitlines(keepends=True), new_contents.splitlines(keepends=True), - fromfile=f"old/{target_name}", tofile=f"new/{target_name}") - ) - result = 1 - - return result - - -if __name__ == "__main__": - TEST_MODE = len(sys.argv) > 1 and sys.argv[1] == "test" - - loader = jinja2.FileSystemLoader(".") - TPL_ENV = jinja2.Environment( - loader=loader, variable_start_string="{-", variable_end_string="-}" - ) - - if not TEST_MODE: - with open("BADGES.md", "w") as f: - f.truncate() - - with open("template.yml.j2") as f: - TEMPLATE = f.read() - root = Path("../..") - - paths = root.glob("crypto_*/*") - for path in paths: - result = render_workflow(path) - - sys.exit(result) diff --git a/.github/workflows/kem_firesaber.yml b/.github/workflows/kem_firesaber.yml deleted file mode 100644 index 99a10786..00000000 --- a/.github/workflows/kem_firesaber.yml +++ /dev/null @@ -1,204 +0,0 @@ -on: - push: - paths: - # build if tests change - - 'test/**' - # do not build if other schemes duplicate_consistency files change - - '!test/duplicate_consistency/*.yml' - - 'test/duplicate_consistency/firesaber*.yml' - # build if common files change - - 'common/**' - # build if scheme changed - - 'crypto_kem/firesaber/**' - # build if workflow file changed - - '.github/workflows/kem_firesaber.yml' - # Build if any files in the root change, except .md files - - '*' - - '!*.md' - pull_request: - paths: - # build if tests change - - 'test/**' - # do not build if other schemes duplicate_consistency files change - - '!test/duplicate_consistency/*.yml' - - 'test/duplicate_consistency/firesaber*.yml' - # build if common files change - - 'common/**' - # build if scheme changed - - 'crypto_kem/firesaber/**' - # build if workflow file changed - - '.github/workflows/kem_firesaber.yml' - # Build if any files in the root change, except .md files - - '*' - - '!*.md' - schedule: - - cron: '5 4 * * *' - -name: Test firesaber - -jobs: - test-native: - runs-on: ubuntu-latest - container: - image: pqclean/ci-container:${{ matrix.arch }} - env: - PQCLEAN_ONLY_SCHEMES: firesaber - CC: ccache ${{ matrix.cc }} - CCACHE_NOSTATS: 1 - CCACHE_DIR: /ccache - CCACHE_SLOPPINESS: include_file_mtime - strategy: - matrix: - arch: - - amd64 - - i386 - cc: - - gcc - - clang - steps: - - name: Cancel Previous Runs - uses: thomwiggers/cancel-workflow-action@all_but_latest - with: - all_but_latest: true - access_token: ${{ github.token }} - continue-on-error: true - if: matrix.arch == 'amd64' && matrix.cc == 'gcc' - - uses: actions/checkout@v2 - with: - submodules: true - - name: Cache ccache - uses: actions/cache@v2 - env: - cache-name: cache-ccache - with: - path: /ccache - key: v1-${{ runner.os }}-build-${{ env.cache-name }}-${{ matrix.cc }}-${{ env.GITHUB_WORKFLOW }}-${{ matrix.arch }} - - name: Cache pip - uses: actions/cache@v2 - env: - cache-name: cache-python-pip - with: - path: ~/.cache/pip - key: v1-python-pip - - name: Install python dependencies - run: | - python3 -m pip install -U -r requirements.txt - - name: Run tests - run: | - cd test - python3 -m pytest --verbose --numprocesses=auto - test-emulated: - needs: - - test-native - runs-on: ubuntu-latest - strategy: - matrix: - arch: - - armhf - - unstable-ppc - cc: - - gcc - - clang - env: - CC: ${{ matrix.cc }} - steps: - - name: Register qemu-user-static - run: | - docker run --rm --privileged multiarch/qemu-user-static:register --reset - - uses: actions/checkout@v2 - with: - submodules: true - - name: Cache ccache - uses: actions/cache@v2 - env: - cache-name: cache-ccache - with: - path: ~/ccache - key: v1-${{ runner.os }}-build-${{ env.cache-name }}-${{ matrix.cc }}-${{ env.GITHUB_WORKFLOW }}-${{ matrix.arch }} - - name: Cache pip - uses: actions/cache@v2 - env: - cache-name: cache-python-pip - with: - path: ~/.cache/pip - key: v1-python-pip - - name: Run tests in container - run: | - docker run --rm -e CI -e CC -e PQCLEAN_ONLY_SCHEMES=firesaber -v $PWD:$PWD -w $PWD -v ~/ccache:/ccache pqclean/ci-container:${{ matrix.arch }} /bin/bash -c "\ - export CCACHE_NOSTATS=1 && \ - export CCACHE_DIR=/ccache && \ - export CCACHE_SLOPPINESS=include_file_mtime && \ - export CC=\"ccache $CC\" && \ - pip3 install -U -r requirements.txt && \ - cd test && \ - python3 -m pytest --verbose --numprocesses=auto" - test-windows: - needs: - - test-native - strategy: - matrix: - bits: - - 64 - - 32 - env: - PQCLEAN_ONLY_SCHEMES: firesaber - runs-on: windows-latest - steps: - - uses: actions/checkout@v2 - with: - submodules: true - - name: Setup astyle - run: | - # Setup strong crypto - Set-ItemProperty -Path "HKLM:\\SOFTWARE\\Wow6432Node\\Microsoft\\.NetFramework\\v4.0.30319" -Name 'SchUseStrongCrypto' -Value '1' -Type DWord - Set-ItemProperty -Path "HKLM:\\SOFTWARE\\Microsoft\\.NetFramework\\v4.0.30319" -Name "SchUseStrongCrypto" -Value '1' -Type DWord - Invoke-WebRequest -OutFile "test\\astyle.exe" "https://rded.nl/pqclean/AStyle.exe" - shell: powershell - - name: Setup Python - uses: actions/setup-python@main - with: - python-version: "3.x" - - name: Install python requirements - run: python -m pip install -U -r requirements.txt - - name: Run tests - run: | - call "C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Enterprise\\VC\\Auxiliary\\Build\\vcvars${{ matrix.bits }}.bat" - cd test - python -m pytest --verbose --numprocesses=auto - shell: cmd - test-macos: - needs: - - test-native - env: - PQCLEAN_ONLY_SCHEMES: firesaber - CCACHE_NOSTATS: 1 - CCACHE_SLOPPINESS: include_file_mtime - # XCode version - DEVELOPER_DIR: /Applications/Xcode_11.5.app/Contents/Developer - strategy: - matrix: - compiler: - - clang # XCode (Apple LLVM/Clang) - - gcc9 # GNU (Homebrew) - runs-on: macos-latest - steps: - - uses: actions/checkout@v2 - with: - submodules: true - - name: Install astyle - run: | - brew install astyle - - name: Set up GCC9 compiler - run: 'export PATH="/usr/local/bin:$PATH" && export CC=gcc-9' - if: matrix.compiler == 'gcc9' - - name: Setup Python - uses: actions/setup-python@main - with: - python-version: "3.x" - - name: Install Python dependencies - run: python -m pip install -U -r requirements.txt - - name: Run tests - run: | - cd test - python -m pytest --verbose --numprocesses=auto - diff --git a/.github/workflows/kem_frodokem1344aes.yml b/.github/workflows/kem_frodokem1344aes.yml deleted file mode 100644 index 50291c2d..00000000 --- a/.github/workflows/kem_frodokem1344aes.yml +++ /dev/null @@ -1,204 +0,0 @@ -on: - push: - paths: - # build if tests change - - 'test/**' - # do not build if other schemes duplicate_consistency files change - - '!test/duplicate_consistency/*.yml' - - 'test/duplicate_consistency/frodokem1344aes*.yml' - # build if common files change - - 'common/**' - # build if scheme changed - - 'crypto_kem/frodokem1344aes/**' - # build if workflow file changed - - '.github/workflows/kem_frodokem1344aes.yml' - # Build if any files in the root change, except .md files - - '*' - - '!*.md' - pull_request: - paths: - # build if tests change - - 'test/**' - # do not build if other schemes duplicate_consistency files change - - '!test/duplicate_consistency/*.yml' - - 'test/duplicate_consistency/frodokem1344aes*.yml' - # build if common files change - - 'common/**' - # build if scheme changed - - 'crypto_kem/frodokem1344aes/**' - # build if workflow file changed - - '.github/workflows/kem_frodokem1344aes.yml' - # Build if any files in the root change, except .md files - - '*' - - '!*.md' - schedule: - - cron: '5 4 * * *' - -name: Test frodokem1344aes - -jobs: - test-native: - runs-on: ubuntu-latest - container: - image: pqclean/ci-container:${{ matrix.arch }} - env: - PQCLEAN_ONLY_SCHEMES: frodokem1344aes - CC: ccache ${{ matrix.cc }} - CCACHE_NOSTATS: 1 - CCACHE_DIR: /ccache - CCACHE_SLOPPINESS: include_file_mtime - strategy: - matrix: - arch: - - amd64 - - i386 - cc: - - gcc - - clang - steps: - - name: Cancel Previous Runs - uses: thomwiggers/cancel-workflow-action@all_but_latest - with: - all_but_latest: true - access_token: ${{ github.token }} - continue-on-error: true - if: matrix.arch == 'amd64' && matrix.cc == 'gcc' - - uses: actions/checkout@v2 - with: - submodules: true - - name: Cache ccache - uses: actions/cache@v2 - env: - cache-name: cache-ccache - with: - path: /ccache - key: v1-${{ runner.os }}-build-${{ env.cache-name }}-${{ matrix.cc }}-${{ env.GITHUB_WORKFLOW }}-${{ matrix.arch }} - - name: Cache pip - uses: actions/cache@v2 - env: - cache-name: cache-python-pip - with: - path: ~/.cache/pip - key: v1-python-pip - - name: Install python dependencies - run: | - python3 -m pip install -U -r requirements.txt - - name: Run tests - run: | - cd test - python3 -m pytest --verbose --numprocesses=auto - test-emulated: - needs: - - test-native - runs-on: ubuntu-latest - strategy: - matrix: - arch: - - armhf - - unstable-ppc - cc: - - gcc - - clang - env: - CC: ${{ matrix.cc }} - steps: - - name: Register qemu-user-static - run: | - docker run --rm --privileged multiarch/qemu-user-static:register --reset - - uses: actions/checkout@v2 - with: - submodules: true - - name: Cache ccache - uses: actions/cache@v2 - env: - cache-name: cache-ccache - with: - path: ~/ccache - key: v1-${{ runner.os }}-build-${{ env.cache-name }}-${{ matrix.cc }}-${{ env.GITHUB_WORKFLOW }}-${{ matrix.arch }} - - name: Cache pip - uses: actions/cache@v2 - env: - cache-name: cache-python-pip - with: - path: ~/.cache/pip - key: v1-python-pip - - name: Run tests in container - run: | - docker run --rm -e CI -e CC -e PQCLEAN_ONLY_SCHEMES=frodokem1344aes -v $PWD:$PWD -w $PWD -v ~/ccache:/ccache pqclean/ci-container:${{ matrix.arch }} /bin/bash -c "\ - export CCACHE_NOSTATS=1 && \ - export CCACHE_DIR=/ccache && \ - export CCACHE_SLOPPINESS=include_file_mtime && \ - export CC=\"ccache $CC\" && \ - pip3 install -U -r requirements.txt && \ - cd test && \ - python3 -m pytest --verbose --numprocesses=auto" - test-windows: - needs: - - test-native - strategy: - matrix: - bits: - - 64 - - 32 - env: - PQCLEAN_ONLY_SCHEMES: frodokem1344aes - runs-on: windows-latest - steps: - - uses: actions/checkout@v2 - with: - submodules: true - - name: Setup astyle - run: | - # Setup strong crypto - Set-ItemProperty -Path "HKLM:\\SOFTWARE\\Wow6432Node\\Microsoft\\.NetFramework\\v4.0.30319" -Name 'SchUseStrongCrypto' -Value '1' -Type DWord - Set-ItemProperty -Path "HKLM:\\SOFTWARE\\Microsoft\\.NetFramework\\v4.0.30319" -Name "SchUseStrongCrypto" -Value '1' -Type DWord - Invoke-WebRequest -OutFile "test\\astyle.exe" "https://rded.nl/pqclean/AStyle.exe" - shell: powershell - - name: Setup Python - uses: actions/setup-python@main - with: - python-version: "3.x" - - name: Install python requirements - run: python -m pip install -U -r requirements.txt - - name: Run tests - run: | - call "C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Enterprise\\VC\\Auxiliary\\Build\\vcvars${{ matrix.bits }}.bat" - cd test - python -m pytest --verbose --numprocesses=auto - shell: cmd - test-macos: - needs: - - test-native - env: - PQCLEAN_ONLY_SCHEMES: frodokem1344aes - CCACHE_NOSTATS: 1 - CCACHE_SLOPPINESS: include_file_mtime - # XCode version - DEVELOPER_DIR: /Applications/Xcode_11.5.app/Contents/Developer - strategy: - matrix: - compiler: - - clang # XCode (Apple LLVM/Clang) - - gcc9 # GNU (Homebrew) - runs-on: macos-latest - steps: - - uses: actions/checkout@v2 - with: - submodules: true - - name: Install astyle - run: | - brew install astyle - - name: Set up GCC9 compiler - run: 'export PATH="/usr/local/bin:$PATH" && export CC=gcc-9' - if: matrix.compiler == 'gcc9' - - name: Setup Python - uses: actions/setup-python@main - with: - python-version: "3.x" - - name: Install Python dependencies - run: python -m pip install -U -r requirements.txt - - name: Run tests - run: | - cd test - python -m pytest --verbose --numprocesses=auto - diff --git a/.github/workflows/kem_frodokem1344shake.yml b/.github/workflows/kem_frodokem1344shake.yml deleted file mode 100644 index 1ab756ca..00000000 --- a/.github/workflows/kem_frodokem1344shake.yml +++ /dev/null @@ -1,204 +0,0 @@ -on: - push: - paths: - # build if tests change - - 'test/**' - # do not build if other schemes duplicate_consistency files change - - '!test/duplicate_consistency/*.yml' - - 'test/duplicate_consistency/frodokem1344shake*.yml' - # build if common files change - - 'common/**' - # build if scheme changed - - 'crypto_kem/frodokem1344shake/**' - # build if workflow file changed - - '.github/workflows/kem_frodokem1344shake.yml' - # Build if any files in the root change, except .md files - - '*' - - '!*.md' - pull_request: - paths: - # build if tests change - - 'test/**' - # do not build if other schemes duplicate_consistency files change - - '!test/duplicate_consistency/*.yml' - - 'test/duplicate_consistency/frodokem1344shake*.yml' - # build if common files change - - 'common/**' - # build if scheme changed - - 'crypto_kem/frodokem1344shake/**' - # build if workflow file changed - - '.github/workflows/kem_frodokem1344shake.yml' - # Build if any files in the root change, except .md files - - '*' - - '!*.md' - schedule: - - cron: '5 4 * * *' - -name: Test frodokem1344shake - -jobs: - test-native: - runs-on: ubuntu-latest - container: - image: pqclean/ci-container:${{ matrix.arch }} - env: - PQCLEAN_ONLY_SCHEMES: frodokem1344shake - CC: ccache ${{ matrix.cc }} - CCACHE_NOSTATS: 1 - CCACHE_DIR: /ccache - CCACHE_SLOPPINESS: include_file_mtime - strategy: - matrix: - arch: - - amd64 - - i386 - cc: - - gcc - - clang - steps: - - name: Cancel Previous Runs - uses: thomwiggers/cancel-workflow-action@all_but_latest - with: - all_but_latest: true - access_token: ${{ github.token }} - continue-on-error: true - if: matrix.arch == 'amd64' && matrix.cc == 'gcc' - - uses: actions/checkout@v2 - with: - submodules: true - - name: Cache ccache - uses: actions/cache@v2 - env: - cache-name: cache-ccache - with: - path: /ccache - key: v1-${{ runner.os }}-build-${{ env.cache-name }}-${{ matrix.cc }}-${{ env.GITHUB_WORKFLOW }}-${{ matrix.arch }} - - name: Cache pip - uses: actions/cache@v2 - env: - cache-name: cache-python-pip - with: - path: ~/.cache/pip - key: v1-python-pip - - name: Install python dependencies - run: | - python3 -m pip install -U -r requirements.txt - - name: Run tests - run: | - cd test - python3 -m pytest --verbose --numprocesses=auto - test-emulated: - needs: - - test-native - runs-on: ubuntu-latest - strategy: - matrix: - arch: - - armhf - - unstable-ppc - cc: - - gcc - - clang - env: - CC: ${{ matrix.cc }} - steps: - - name: Register qemu-user-static - run: | - docker run --rm --privileged multiarch/qemu-user-static:register --reset - - uses: actions/checkout@v2 - with: - submodules: true - - name: Cache ccache - uses: actions/cache@v2 - env: - cache-name: cache-ccache - with: - path: ~/ccache - key: v1-${{ runner.os }}-build-${{ env.cache-name }}-${{ matrix.cc }}-${{ env.GITHUB_WORKFLOW }}-${{ matrix.arch }} - - name: Cache pip - uses: actions/cache@v2 - env: - cache-name: cache-python-pip - with: - path: ~/.cache/pip - key: v1-python-pip - - name: Run tests in container - run: | - docker run --rm -e CI -e CC -e PQCLEAN_ONLY_SCHEMES=frodokem1344shake -v $PWD:$PWD -w $PWD -v ~/ccache:/ccache pqclean/ci-container:${{ matrix.arch }} /bin/bash -c "\ - export CCACHE_NOSTATS=1 && \ - export CCACHE_DIR=/ccache && \ - export CCACHE_SLOPPINESS=include_file_mtime && \ - export CC=\"ccache $CC\" && \ - pip3 install -U -r requirements.txt && \ - cd test && \ - python3 -m pytest --verbose --numprocesses=auto" - test-windows: - needs: - - test-native - strategy: - matrix: - bits: - - 64 - - 32 - env: - PQCLEAN_ONLY_SCHEMES: frodokem1344shake - runs-on: windows-latest - steps: - - uses: actions/checkout@v2 - with: - submodules: true - - name: Setup astyle - run: | - # Setup strong crypto - Set-ItemProperty -Path "HKLM:\\SOFTWARE\\Wow6432Node\\Microsoft\\.NetFramework\\v4.0.30319" -Name 'SchUseStrongCrypto' -Value '1' -Type DWord - Set-ItemProperty -Path "HKLM:\\SOFTWARE\\Microsoft\\.NetFramework\\v4.0.30319" -Name "SchUseStrongCrypto" -Value '1' -Type DWord - Invoke-WebRequest -OutFile "test\\astyle.exe" "https://rded.nl/pqclean/AStyle.exe" - shell: powershell - - name: Setup Python - uses: actions/setup-python@main - with: - python-version: "3.x" - - name: Install python requirements - run: python -m pip install -U -r requirements.txt - - name: Run tests - run: | - call "C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Enterprise\\VC\\Auxiliary\\Build\\vcvars${{ matrix.bits }}.bat" - cd test - python -m pytest --verbose --numprocesses=auto - shell: cmd - test-macos: - needs: - - test-native - env: - PQCLEAN_ONLY_SCHEMES: frodokem1344shake - CCACHE_NOSTATS: 1 - CCACHE_SLOPPINESS: include_file_mtime - # XCode version - DEVELOPER_DIR: /Applications/Xcode_11.5.app/Contents/Developer - strategy: - matrix: - compiler: - - clang # XCode (Apple LLVM/Clang) - - gcc9 # GNU (Homebrew) - runs-on: macos-latest - steps: - - uses: actions/checkout@v2 - with: - submodules: true - - name: Install astyle - run: | - brew install astyle - - name: Set up GCC9 compiler - run: 'export PATH="/usr/local/bin:$PATH" && export CC=gcc-9' - if: matrix.compiler == 'gcc9' - - name: Setup Python - uses: actions/setup-python@main - with: - python-version: "3.x" - - name: Install Python dependencies - run: python -m pip install -U -r requirements.txt - - name: Run tests - run: | - cd test - python -m pytest --verbose --numprocesses=auto - diff --git a/.github/workflows/kem_frodokem640aes.yml b/.github/workflows/kem_frodokem640aes.yml deleted file mode 100644 index bafea94d..00000000 --- a/.github/workflows/kem_frodokem640aes.yml +++ /dev/null @@ -1,204 +0,0 @@ -on: - push: - paths: - # build if tests change - - 'test/**' - # do not build if other schemes duplicate_consistency files change - - '!test/duplicate_consistency/*.yml' - - 'test/duplicate_consistency/frodokem640aes*.yml' - # build if common files change - - 'common/**' - # build if scheme changed - - 'crypto_kem/frodokem640aes/**' - # build if workflow file changed - - '.github/workflows/kem_frodokem640aes.yml' - # Build if any files in the root change, except .md files - - '*' - - '!*.md' - pull_request: - paths: - # build if tests change - - 'test/**' - # do not build if other schemes duplicate_consistency files change - - '!test/duplicate_consistency/*.yml' - - 'test/duplicate_consistency/frodokem640aes*.yml' - # build if common files change - - 'common/**' - # build if scheme changed - - 'crypto_kem/frodokem640aes/**' - # build if workflow file changed - - '.github/workflows/kem_frodokem640aes.yml' - # Build if any files in the root change, except .md files - - '*' - - '!*.md' - schedule: - - cron: '5 4 * * *' - -name: Test frodokem640aes - -jobs: - test-native: - runs-on: ubuntu-latest - container: - image: pqclean/ci-container:${{ matrix.arch }} - env: - PQCLEAN_ONLY_SCHEMES: frodokem640aes - CC: ccache ${{ matrix.cc }} - CCACHE_NOSTATS: 1 - CCACHE_DIR: /ccache - CCACHE_SLOPPINESS: include_file_mtime - strategy: - matrix: - arch: - - amd64 - - i386 - cc: - - gcc - - clang - steps: - - name: Cancel Previous Runs - uses: thomwiggers/cancel-workflow-action@all_but_latest - with: - all_but_latest: true - access_token: ${{ github.token }} - continue-on-error: true - if: matrix.arch == 'amd64' && matrix.cc == 'gcc' - - uses: actions/checkout@v2 - with: - submodules: true - - name: Cache ccache - uses: actions/cache@v2 - env: - cache-name: cache-ccache - with: - path: /ccache - key: v1-${{ runner.os }}-build-${{ env.cache-name }}-${{ matrix.cc }}-${{ env.GITHUB_WORKFLOW }}-${{ matrix.arch }} - - name: Cache pip - uses: actions/cache@v2 - env: - cache-name: cache-python-pip - with: - path: ~/.cache/pip - key: v1-python-pip - - name: Install python dependencies - run: | - python3 -m pip install -U -r requirements.txt - - name: Run tests - run: | - cd test - python3 -m pytest --verbose --numprocesses=auto - test-emulated: - needs: - - test-native - runs-on: ubuntu-latest - strategy: - matrix: - arch: - - armhf - - unstable-ppc - cc: - - gcc - - clang - env: - CC: ${{ matrix.cc }} - steps: - - name: Register qemu-user-static - run: | - docker run --rm --privileged multiarch/qemu-user-static:register --reset - - uses: actions/checkout@v2 - with: - submodules: true - - name: Cache ccache - uses: actions/cache@v2 - env: - cache-name: cache-ccache - with: - path: ~/ccache - key: v1-${{ runner.os }}-build-${{ env.cache-name }}-${{ matrix.cc }}-${{ env.GITHUB_WORKFLOW }}-${{ matrix.arch }} - - name: Cache pip - uses: actions/cache@v2 - env: - cache-name: cache-python-pip - with: - path: ~/.cache/pip - key: v1-python-pip - - name: Run tests in container - run: | - docker run --rm -e CI -e CC -e PQCLEAN_ONLY_SCHEMES=frodokem640aes -v $PWD:$PWD -w $PWD -v ~/ccache:/ccache pqclean/ci-container:${{ matrix.arch }} /bin/bash -c "\ - export CCACHE_NOSTATS=1 && \ - export CCACHE_DIR=/ccache && \ - export CCACHE_SLOPPINESS=include_file_mtime && \ - export CC=\"ccache $CC\" && \ - pip3 install -U -r requirements.txt && \ - cd test && \ - python3 -m pytest --verbose --numprocesses=auto" - test-windows: - needs: - - test-native - strategy: - matrix: - bits: - - 64 - - 32 - env: - PQCLEAN_ONLY_SCHEMES: frodokem640aes - runs-on: windows-latest - steps: - - uses: actions/checkout@v2 - with: - submodules: true - - name: Setup astyle - run: | - # Setup strong crypto - Set-ItemProperty -Path "HKLM:\\SOFTWARE\\Wow6432Node\\Microsoft\\.NetFramework\\v4.0.30319" -Name 'SchUseStrongCrypto' -Value '1' -Type DWord - Set-ItemProperty -Path "HKLM:\\SOFTWARE\\Microsoft\\.NetFramework\\v4.0.30319" -Name "SchUseStrongCrypto" -Value '1' -Type DWord - Invoke-WebRequest -OutFile "test\\astyle.exe" "https://rded.nl/pqclean/AStyle.exe" - shell: powershell - - name: Setup Python - uses: actions/setup-python@main - with: - python-version: "3.x" - - name: Install python requirements - run: python -m pip install -U -r requirements.txt - - name: Run tests - run: | - call "C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Enterprise\\VC\\Auxiliary\\Build\\vcvars${{ matrix.bits }}.bat" - cd test - python -m pytest --verbose --numprocesses=auto - shell: cmd - test-macos: - needs: - - test-native - env: - PQCLEAN_ONLY_SCHEMES: frodokem640aes - CCACHE_NOSTATS: 1 - CCACHE_SLOPPINESS: include_file_mtime - # XCode version - DEVELOPER_DIR: /Applications/Xcode_11.5.app/Contents/Developer - strategy: - matrix: - compiler: - - clang # XCode (Apple LLVM/Clang) - - gcc9 # GNU (Homebrew) - runs-on: macos-latest - steps: - - uses: actions/checkout@v2 - with: - submodules: true - - name: Install astyle - run: | - brew install astyle - - name: Set up GCC9 compiler - run: 'export PATH="/usr/local/bin:$PATH" && export CC=gcc-9' - if: matrix.compiler == 'gcc9' - - name: Setup Python - uses: actions/setup-python@main - with: - python-version: "3.x" - - name: Install Python dependencies - run: python -m pip install -U -r requirements.txt - - name: Run tests - run: | - cd test - python -m pytest --verbose --numprocesses=auto - diff --git a/.github/workflows/kem_frodokem640shake.yml b/.github/workflows/kem_frodokem640shake.yml deleted file mode 100644 index 020328cf..00000000 --- a/.github/workflows/kem_frodokem640shake.yml +++ /dev/null @@ -1,204 +0,0 @@ -on: - push: - paths: - # build if tests change - - 'test/**' - # do not build if other schemes duplicate_consistency files change - - '!test/duplicate_consistency/*.yml' - - 'test/duplicate_consistency/frodokem640shake*.yml' - # build if common files change - - 'common/**' - # build if scheme changed - - 'crypto_kem/frodokem640shake/**' - # build if workflow file changed - - '.github/workflows/kem_frodokem640shake.yml' - # Build if any files in the root change, except .md files - - '*' - - '!*.md' - pull_request: - paths: - # build if tests change - - 'test/**' - # do not build if other schemes duplicate_consistency files change - - '!test/duplicate_consistency/*.yml' - - 'test/duplicate_consistency/frodokem640shake*.yml' - # build if common files change - - 'common/**' - # build if scheme changed - - 'crypto_kem/frodokem640shake/**' - # build if workflow file changed - - '.github/workflows/kem_frodokem640shake.yml' - # Build if any files in the root change, except .md files - - '*' - - '!*.md' - schedule: - - cron: '5 4 * * *' - -name: Test frodokem640shake - -jobs: - test-native: - runs-on: ubuntu-latest - container: - image: pqclean/ci-container:${{ matrix.arch }} - env: - PQCLEAN_ONLY_SCHEMES: frodokem640shake - CC: ccache ${{ matrix.cc }} - CCACHE_NOSTATS: 1 - CCACHE_DIR: /ccache - CCACHE_SLOPPINESS: include_file_mtime - strategy: - matrix: - arch: - - amd64 - - i386 - cc: - - gcc - - clang - steps: - - name: Cancel Previous Runs - uses: thomwiggers/cancel-workflow-action@all_but_latest - with: - all_but_latest: true - access_token: ${{ github.token }} - continue-on-error: true - if: matrix.arch == 'amd64' && matrix.cc == 'gcc' - - uses: actions/checkout@v2 - with: - submodules: true - - name: Cache ccache - uses: actions/cache@v2 - env: - cache-name: cache-ccache - with: - path: /ccache - key: v1-${{ runner.os }}-build-${{ env.cache-name }}-${{ matrix.cc }}-${{ env.GITHUB_WORKFLOW }}-${{ matrix.arch }} - - name: Cache pip - uses: actions/cache@v2 - env: - cache-name: cache-python-pip - with: - path: ~/.cache/pip - key: v1-python-pip - - name: Install python dependencies - run: | - python3 -m pip install -U -r requirements.txt - - name: Run tests - run: | - cd test - python3 -m pytest --verbose --numprocesses=auto - test-emulated: - needs: - - test-native - runs-on: ubuntu-latest - strategy: - matrix: - arch: - - armhf - - unstable-ppc - cc: - - gcc - - clang - env: - CC: ${{ matrix.cc }} - steps: - - name: Register qemu-user-static - run: | - docker run --rm --privileged multiarch/qemu-user-static:register --reset - - uses: actions/checkout@v2 - with: - submodules: true - - name: Cache ccache - uses: actions/cache@v2 - env: - cache-name: cache-ccache - with: - path: ~/ccache - key: v1-${{ runner.os }}-build-${{ env.cache-name }}-${{ matrix.cc }}-${{ env.GITHUB_WORKFLOW }}-${{ matrix.arch }} - - name: Cache pip - uses: actions/cache@v2 - env: - cache-name: cache-python-pip - with: - path: ~/.cache/pip - key: v1-python-pip - - name: Run tests in container - run: | - docker run --rm -e CI -e CC -e PQCLEAN_ONLY_SCHEMES=frodokem640shake -v $PWD:$PWD -w $PWD -v ~/ccache:/ccache pqclean/ci-container:${{ matrix.arch }} /bin/bash -c "\ - export CCACHE_NOSTATS=1 && \ - export CCACHE_DIR=/ccache && \ - export CCACHE_SLOPPINESS=include_file_mtime && \ - export CC=\"ccache $CC\" && \ - pip3 install -U -r requirements.txt && \ - cd test && \ - python3 -m pytest --verbose --numprocesses=auto" - test-windows: - needs: - - test-native - strategy: - matrix: - bits: - - 64 - - 32 - env: - PQCLEAN_ONLY_SCHEMES: frodokem640shake - runs-on: windows-latest - steps: - - uses: actions/checkout@v2 - with: - submodules: true - - name: Setup astyle - run: | - # Setup strong crypto - Set-ItemProperty -Path "HKLM:\\SOFTWARE\\Wow6432Node\\Microsoft\\.NetFramework\\v4.0.30319" -Name 'SchUseStrongCrypto' -Value '1' -Type DWord - Set-ItemProperty -Path "HKLM:\\SOFTWARE\\Microsoft\\.NetFramework\\v4.0.30319" -Name "SchUseStrongCrypto" -Value '1' -Type DWord - Invoke-WebRequest -OutFile "test\\astyle.exe" "https://rded.nl/pqclean/AStyle.exe" - shell: powershell - - name: Setup Python - uses: actions/setup-python@main - with: - python-version: "3.x" - - name: Install python requirements - run: python -m pip install -U -r requirements.txt - - name: Run tests - run: | - call "C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Enterprise\\VC\\Auxiliary\\Build\\vcvars${{ matrix.bits }}.bat" - cd test - python -m pytest --verbose --numprocesses=auto - shell: cmd - test-macos: - needs: - - test-native - env: - PQCLEAN_ONLY_SCHEMES: frodokem640shake - CCACHE_NOSTATS: 1 - CCACHE_SLOPPINESS: include_file_mtime - # XCode version - DEVELOPER_DIR: /Applications/Xcode_11.5.app/Contents/Developer - strategy: - matrix: - compiler: - - clang # XCode (Apple LLVM/Clang) - - gcc9 # GNU (Homebrew) - runs-on: macos-latest - steps: - - uses: actions/checkout@v2 - with: - submodules: true - - name: Install astyle - run: | - brew install astyle - - name: Set up GCC9 compiler - run: 'export PATH="/usr/local/bin:$PATH" && export CC=gcc-9' - if: matrix.compiler == 'gcc9' - - name: Setup Python - uses: actions/setup-python@main - with: - python-version: "3.x" - - name: Install Python dependencies - run: python -m pip install -U -r requirements.txt - - name: Run tests - run: | - cd test - python -m pytest --verbose --numprocesses=auto - diff --git a/.github/workflows/kem_frodokem976aes.yml b/.github/workflows/kem_frodokem976aes.yml deleted file mode 100644 index 8abdcda5..00000000 --- a/.github/workflows/kem_frodokem976aes.yml +++ /dev/null @@ -1,204 +0,0 @@ -on: - push: - paths: - # build if tests change - - 'test/**' - # do not build if other schemes duplicate_consistency files change - - '!test/duplicate_consistency/*.yml' - - 'test/duplicate_consistency/frodokem976aes*.yml' - # build if common files change - - 'common/**' - # build if scheme changed - - 'crypto_kem/frodokem976aes/**' - # build if workflow file changed - - '.github/workflows/kem_frodokem976aes.yml' - # Build if any files in the root change, except .md files - - '*' - - '!*.md' - pull_request: - paths: - # build if tests change - - 'test/**' - # do not build if other schemes duplicate_consistency files change - - '!test/duplicate_consistency/*.yml' - - 'test/duplicate_consistency/frodokem976aes*.yml' - # build if common files change - - 'common/**' - # build if scheme changed - - 'crypto_kem/frodokem976aes/**' - # build if workflow file changed - - '.github/workflows/kem_frodokem976aes.yml' - # Build if any files in the root change, except .md files - - '*' - - '!*.md' - schedule: - - cron: '5 4 * * *' - -name: Test frodokem976aes - -jobs: - test-native: - runs-on: ubuntu-latest - container: - image: pqclean/ci-container:${{ matrix.arch }} - env: - PQCLEAN_ONLY_SCHEMES: frodokem976aes - CC: ccache ${{ matrix.cc }} - CCACHE_NOSTATS: 1 - CCACHE_DIR: /ccache - CCACHE_SLOPPINESS: include_file_mtime - strategy: - matrix: - arch: - - amd64 - - i386 - cc: - - gcc - - clang - steps: - - name: Cancel Previous Runs - uses: thomwiggers/cancel-workflow-action@all_but_latest - with: - all_but_latest: true - access_token: ${{ github.token }} - continue-on-error: true - if: matrix.arch == 'amd64' && matrix.cc == 'gcc' - - uses: actions/checkout@v2 - with: - submodules: true - - name: Cache ccache - uses: actions/cache@v2 - env: - cache-name: cache-ccache - with: - path: /ccache - key: v1-${{ runner.os }}-build-${{ env.cache-name }}-${{ matrix.cc }}-${{ env.GITHUB_WORKFLOW }}-${{ matrix.arch }} - - name: Cache pip - uses: actions/cache@v2 - env: - cache-name: cache-python-pip - with: - path: ~/.cache/pip - key: v1-python-pip - - name: Install python dependencies - run: | - python3 -m pip install -U -r requirements.txt - - name: Run tests - run: | - cd test - python3 -m pytest --verbose --numprocesses=auto - test-emulated: - needs: - - test-native - runs-on: ubuntu-latest - strategy: - matrix: - arch: - - armhf - - unstable-ppc - cc: - - gcc - - clang - env: - CC: ${{ matrix.cc }} - steps: - - name: Register qemu-user-static - run: | - docker run --rm --privileged multiarch/qemu-user-static:register --reset - - uses: actions/checkout@v2 - with: - submodules: true - - name: Cache ccache - uses: actions/cache@v2 - env: - cache-name: cache-ccache - with: - path: ~/ccache - key: v1-${{ runner.os }}-build-${{ env.cache-name }}-${{ matrix.cc }}-${{ env.GITHUB_WORKFLOW }}-${{ matrix.arch }} - - name: Cache pip - uses: actions/cache@v2 - env: - cache-name: cache-python-pip - with: - path: ~/.cache/pip - key: v1-python-pip - - name: Run tests in container - run: | - docker run --rm -e CI -e CC -e PQCLEAN_ONLY_SCHEMES=frodokem976aes -v $PWD:$PWD -w $PWD -v ~/ccache:/ccache pqclean/ci-container:${{ matrix.arch }} /bin/bash -c "\ - export CCACHE_NOSTATS=1 && \ - export CCACHE_DIR=/ccache && \ - export CCACHE_SLOPPINESS=include_file_mtime && \ - export CC=\"ccache $CC\" && \ - pip3 install -U -r requirements.txt && \ - cd test && \ - python3 -m pytest --verbose --numprocesses=auto" - test-windows: - needs: - - test-native - strategy: - matrix: - bits: - - 64 - - 32 - env: - PQCLEAN_ONLY_SCHEMES: frodokem976aes - runs-on: windows-latest - steps: - - uses: actions/checkout@v2 - with: - submodules: true - - name: Setup astyle - run: | - # Setup strong crypto - Set-ItemProperty -Path "HKLM:\\SOFTWARE\\Wow6432Node\\Microsoft\\.NetFramework\\v4.0.30319" -Name 'SchUseStrongCrypto' -Value '1' -Type DWord - Set-ItemProperty -Path "HKLM:\\SOFTWARE\\Microsoft\\.NetFramework\\v4.0.30319" -Name "SchUseStrongCrypto" -Value '1' -Type DWord - Invoke-WebRequest -OutFile "test\\astyle.exe" "https://rded.nl/pqclean/AStyle.exe" - shell: powershell - - name: Setup Python - uses: actions/setup-python@main - with: - python-version: "3.x" - - name: Install python requirements - run: python -m pip install -U -r requirements.txt - - name: Run tests - run: | - call "C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Enterprise\\VC\\Auxiliary\\Build\\vcvars${{ matrix.bits }}.bat" - cd test - python -m pytest --verbose --numprocesses=auto - shell: cmd - test-macos: - needs: - - test-native - env: - PQCLEAN_ONLY_SCHEMES: frodokem976aes - CCACHE_NOSTATS: 1 - CCACHE_SLOPPINESS: include_file_mtime - # XCode version - DEVELOPER_DIR: /Applications/Xcode_11.5.app/Contents/Developer - strategy: - matrix: - compiler: - - clang # XCode (Apple LLVM/Clang) - - gcc9 # GNU (Homebrew) - runs-on: macos-latest - steps: - - uses: actions/checkout@v2 - with: - submodules: true - - name: Install astyle - run: | - brew install astyle - - name: Set up GCC9 compiler - run: 'export PATH="/usr/local/bin:$PATH" && export CC=gcc-9' - if: matrix.compiler == 'gcc9' - - name: Setup Python - uses: actions/setup-python@main - with: - python-version: "3.x" - - name: Install Python dependencies - run: python -m pip install -U -r requirements.txt - - name: Run tests - run: | - cd test - python -m pytest --verbose --numprocesses=auto - diff --git a/.github/workflows/kem_frodokem976shake.yml b/.github/workflows/kem_frodokem976shake.yml deleted file mode 100644 index d4032f9e..00000000 --- a/.github/workflows/kem_frodokem976shake.yml +++ /dev/null @@ -1,204 +0,0 @@ -on: - push: - paths: - # build if tests change - - 'test/**' - # do not build if other schemes duplicate_consistency files change - - '!test/duplicate_consistency/*.yml' - - 'test/duplicate_consistency/frodokem976shake*.yml' - # build if common files change - - 'common/**' - # build if scheme changed - - 'crypto_kem/frodokem976shake/**' - # build if workflow file changed - - '.github/workflows/kem_frodokem976shake.yml' - # Build if any files in the root change, except .md files - - '*' - - '!*.md' - pull_request: - paths: - # build if tests change - - 'test/**' - # do not build if other schemes duplicate_consistency files change - - '!test/duplicate_consistency/*.yml' - - 'test/duplicate_consistency/frodokem976shake*.yml' - # build if common files change - - 'common/**' - # build if scheme changed - - 'crypto_kem/frodokem976shake/**' - # build if workflow file changed - - '.github/workflows/kem_frodokem976shake.yml' - # Build if any files in the root change, except .md files - - '*' - - '!*.md' - schedule: - - cron: '5 4 * * *' - -name: Test frodokem976shake - -jobs: - test-native: - runs-on: ubuntu-latest - container: - image: pqclean/ci-container:${{ matrix.arch }} - env: - PQCLEAN_ONLY_SCHEMES: frodokem976shake - CC: ccache ${{ matrix.cc }} - CCACHE_NOSTATS: 1 - CCACHE_DIR: /ccache - CCACHE_SLOPPINESS: include_file_mtime - strategy: - matrix: - arch: - - amd64 - - i386 - cc: - - gcc - - clang - steps: - - name: Cancel Previous Runs - uses: thomwiggers/cancel-workflow-action@all_but_latest - with: - all_but_latest: true - access_token: ${{ github.token }} - continue-on-error: true - if: matrix.arch == 'amd64' && matrix.cc == 'gcc' - - uses: actions/checkout@v2 - with: - submodules: true - - name: Cache ccache - uses: actions/cache@v2 - env: - cache-name: cache-ccache - with: - path: /ccache - key: v1-${{ runner.os }}-build-${{ env.cache-name }}-${{ matrix.cc }}-${{ env.GITHUB_WORKFLOW }}-${{ matrix.arch }} - - name: Cache pip - uses: actions/cache@v2 - env: - cache-name: cache-python-pip - with: - path: ~/.cache/pip - key: v1-python-pip - - name: Install python dependencies - run: | - python3 -m pip install -U -r requirements.txt - - name: Run tests - run: | - cd test - python3 -m pytest --verbose --numprocesses=auto - test-emulated: - needs: - - test-native - runs-on: ubuntu-latest - strategy: - matrix: - arch: - - armhf - - unstable-ppc - cc: - - gcc - - clang - env: - CC: ${{ matrix.cc }} - steps: - - name: Register qemu-user-static - run: | - docker run --rm --privileged multiarch/qemu-user-static:register --reset - - uses: actions/checkout@v2 - with: - submodules: true - - name: Cache ccache - uses: actions/cache@v2 - env: - cache-name: cache-ccache - with: - path: ~/ccache - key: v1-${{ runner.os }}-build-${{ env.cache-name }}-${{ matrix.cc }}-${{ env.GITHUB_WORKFLOW }}-${{ matrix.arch }} - - name: Cache pip - uses: actions/cache@v2 - env: - cache-name: cache-python-pip - with: - path: ~/.cache/pip - key: v1-python-pip - - name: Run tests in container - run: | - docker run --rm -e CI -e CC -e PQCLEAN_ONLY_SCHEMES=frodokem976shake -v $PWD:$PWD -w $PWD -v ~/ccache:/ccache pqclean/ci-container:${{ matrix.arch }} /bin/bash -c "\ - export CCACHE_NOSTATS=1 && \ - export CCACHE_DIR=/ccache && \ - export CCACHE_SLOPPINESS=include_file_mtime && \ - export CC=\"ccache $CC\" && \ - pip3 install -U -r requirements.txt && \ - cd test && \ - python3 -m pytest --verbose --numprocesses=auto" - test-windows: - needs: - - test-native - strategy: - matrix: - bits: - - 64 - - 32 - env: - PQCLEAN_ONLY_SCHEMES: frodokem976shake - runs-on: windows-latest - steps: - - uses: actions/checkout@v2 - with: - submodules: true - - name: Setup astyle - run: | - # Setup strong crypto - Set-ItemProperty -Path "HKLM:\\SOFTWARE\\Wow6432Node\\Microsoft\\.NetFramework\\v4.0.30319" -Name 'SchUseStrongCrypto' -Value '1' -Type DWord - Set-ItemProperty -Path "HKLM:\\SOFTWARE\\Microsoft\\.NetFramework\\v4.0.30319" -Name "SchUseStrongCrypto" -Value '1' -Type DWord - Invoke-WebRequest -OutFile "test\\astyle.exe" "https://rded.nl/pqclean/AStyle.exe" - shell: powershell - - name: Setup Python - uses: actions/setup-python@main - with: - python-version: "3.x" - - name: Install python requirements - run: python -m pip install -U -r requirements.txt - - name: Run tests - run: | - call "C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Enterprise\\VC\\Auxiliary\\Build\\vcvars${{ matrix.bits }}.bat" - cd test - python -m pytest --verbose --numprocesses=auto - shell: cmd - test-macos: - needs: - - test-native - env: - PQCLEAN_ONLY_SCHEMES: frodokem976shake - CCACHE_NOSTATS: 1 - CCACHE_SLOPPINESS: include_file_mtime - # XCode version - DEVELOPER_DIR: /Applications/Xcode_11.5.app/Contents/Developer - strategy: - matrix: - compiler: - - clang # XCode (Apple LLVM/Clang) - - gcc9 # GNU (Homebrew) - runs-on: macos-latest - steps: - - uses: actions/checkout@v2 - with: - submodules: true - - name: Install astyle - run: | - brew install astyle - - name: Set up GCC9 compiler - run: 'export PATH="/usr/local/bin:$PATH" && export CC=gcc-9' - if: matrix.compiler == 'gcc9' - - name: Setup Python - uses: actions/setup-python@main - with: - python-version: "3.x" - - name: Install Python dependencies - run: python -m pip install -U -r requirements.txt - - name: Run tests - run: | - cd test - python -m pytest --verbose --numprocesses=auto - diff --git a/.github/workflows/kem_hqc-128.yml b/.github/workflows/kem_hqc-128.yml deleted file mode 100644 index 671aa00e..00000000 --- a/.github/workflows/kem_hqc-128.yml +++ /dev/null @@ -1,204 +0,0 @@ -on: - push: - paths: - # build if tests change - - 'test/**' - # do not build if other schemes duplicate_consistency files change - - '!test/duplicate_consistency/*.yml' - - 'test/duplicate_consistency/hqc-128*.yml' - # build if common files change - - 'common/**' - # build if scheme changed - - 'crypto_kem/hqc-128/**' - # build if workflow file changed - - '.github/workflows/kem_hqc-128.yml' - # Build if any files in the root change, except .md files - - '*' - - '!*.md' - pull_request: - paths: - # build if tests change - - 'test/**' - # do not build if other schemes duplicate_consistency files change - - '!test/duplicate_consistency/*.yml' - - 'test/duplicate_consistency/hqc-128*.yml' - # build if common files change - - 'common/**' - # build if scheme changed - - 'crypto_kem/hqc-128/**' - # build if workflow file changed - - '.github/workflows/kem_hqc-128.yml' - # Build if any files in the root change, except .md files - - '*' - - '!*.md' - schedule: - - cron: '5 4 * * *' - -name: Test hqc-128 - -jobs: - test-native: - runs-on: ubuntu-latest - container: - image: pqclean/ci-container:${{ matrix.arch }} - env: - PQCLEAN_ONLY_SCHEMES: hqc-128 - CC: ccache ${{ matrix.cc }} - CCACHE_NOSTATS: 1 - CCACHE_DIR: /ccache - CCACHE_SLOPPINESS: include_file_mtime - strategy: - matrix: - arch: - - amd64 - - i386 - cc: - - gcc - - clang - steps: - - name: Cancel Previous Runs - uses: thomwiggers/cancel-workflow-action@all_but_latest - with: - all_but_latest: true - access_token: ${{ github.token }} - continue-on-error: true - if: matrix.arch == 'amd64' && matrix.cc == 'gcc' - - uses: actions/checkout@v2 - with: - submodules: true - - name: Cache ccache - uses: actions/cache@v2 - env: - cache-name: cache-ccache - with: - path: /ccache - key: v1-${{ runner.os }}-build-${{ env.cache-name }}-${{ matrix.cc }}-${{ env.GITHUB_WORKFLOW }}-${{ matrix.arch }} - - name: Cache pip - uses: actions/cache@v2 - env: - cache-name: cache-python-pip - with: - path: ~/.cache/pip - key: v1-python-pip - - name: Install python dependencies - run: | - python3 -m pip install -U -r requirements.txt - - name: Run tests - run: | - cd test - python3 -m pytest --verbose --numprocesses=auto - test-emulated: - needs: - - test-native - runs-on: ubuntu-latest - strategy: - matrix: - arch: - - armhf - - unstable-ppc - cc: - - gcc - - clang - env: - CC: ${{ matrix.cc }} - steps: - - name: Register qemu-user-static - run: | - docker run --rm --privileged multiarch/qemu-user-static:register --reset - - uses: actions/checkout@v2 - with: - submodules: true - - name: Cache ccache - uses: actions/cache@v2 - env: - cache-name: cache-ccache - with: - path: ~/ccache - key: v1-${{ runner.os }}-build-${{ env.cache-name }}-${{ matrix.cc }}-${{ env.GITHUB_WORKFLOW }}-${{ matrix.arch }} - - name: Cache pip - uses: actions/cache@v2 - env: - cache-name: cache-python-pip - with: - path: ~/.cache/pip - key: v1-python-pip - - name: Run tests in container - run: | - docker run --rm -e CI -e CC -e PQCLEAN_ONLY_SCHEMES=hqc-128 -v $PWD:$PWD -w $PWD -v ~/ccache:/ccache pqclean/ci-container:${{ matrix.arch }} /bin/bash -c "\ - export CCACHE_NOSTATS=1 && \ - export CCACHE_DIR=/ccache && \ - export CCACHE_SLOPPINESS=include_file_mtime && \ - export CC=\"ccache $CC\" && \ - pip3 install -U -r requirements.txt && \ - cd test && \ - python3 -m pytest --verbose --numprocesses=auto" - test-windows: - needs: - - test-native - strategy: - matrix: - bits: - - 64 - - 32 - env: - PQCLEAN_ONLY_SCHEMES: hqc-128 - runs-on: windows-latest - steps: - - uses: actions/checkout@v2 - with: - submodules: true - - name: Setup astyle - run: | - # Setup strong crypto - Set-ItemProperty -Path "HKLM:\\SOFTWARE\\Wow6432Node\\Microsoft\\.NetFramework\\v4.0.30319" -Name 'SchUseStrongCrypto' -Value '1' -Type DWord - Set-ItemProperty -Path "HKLM:\\SOFTWARE\\Microsoft\\.NetFramework\\v4.0.30319" -Name "SchUseStrongCrypto" -Value '1' -Type DWord - Invoke-WebRequest -OutFile "test\\astyle.exe" "https://rded.nl/pqclean/AStyle.exe" - shell: powershell - - name: Setup Python - uses: actions/setup-python@main - with: - python-version: "3.x" - - name: Install python requirements - run: python -m pip install -U -r requirements.txt - - name: Run tests - run: | - call "C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Enterprise\\VC\\Auxiliary\\Build\\vcvars${{ matrix.bits }}.bat" - cd test - python -m pytest --verbose --numprocesses=auto - shell: cmd - test-macos: - needs: - - test-native - env: - PQCLEAN_ONLY_SCHEMES: hqc-128 - CCACHE_NOSTATS: 1 - CCACHE_SLOPPINESS: include_file_mtime - # XCode version - DEVELOPER_DIR: /Applications/Xcode_11.5.app/Contents/Developer - strategy: - matrix: - compiler: - - clang # XCode (Apple LLVM/Clang) - - gcc9 # GNU (Homebrew) - runs-on: macos-latest - steps: - - uses: actions/checkout@v2 - with: - submodules: true - - name: Install astyle - run: | - brew install astyle - - name: Set up GCC9 compiler - run: 'export PATH="/usr/local/bin:$PATH" && export CC=gcc-9' - if: matrix.compiler == 'gcc9' - - name: Setup Python - uses: actions/setup-python@main - with: - python-version: "3.x" - - name: Install Python dependencies - run: python -m pip install -U -r requirements.txt - - name: Run tests - run: | - cd test - python -m pytest --verbose --numprocesses=auto - diff --git a/.github/workflows/kem_hqc-192.yml b/.github/workflows/kem_hqc-192.yml deleted file mode 100644 index 38b4a61a..00000000 --- a/.github/workflows/kem_hqc-192.yml +++ /dev/null @@ -1,204 +0,0 @@ -on: - push: - paths: - # build if tests change - - 'test/**' - # do not build if other schemes duplicate_consistency files change - - '!test/duplicate_consistency/*.yml' - - 'test/duplicate_consistency/hqc-192*.yml' - # build if common files change - - 'common/**' - # build if scheme changed - - 'crypto_kem/hqc-192/**' - # build if workflow file changed - - '.github/workflows/kem_hqc-192.yml' - # Build if any files in the root change, except .md files - - '*' - - '!*.md' - pull_request: - paths: - # build if tests change - - 'test/**' - # do not build if other schemes duplicate_consistency files change - - '!test/duplicate_consistency/*.yml' - - 'test/duplicate_consistency/hqc-192*.yml' - # build if common files change - - 'common/**' - # build if scheme changed - - 'crypto_kem/hqc-192/**' - # build if workflow file changed - - '.github/workflows/kem_hqc-192.yml' - # Build if any files in the root change, except .md files - - '*' - - '!*.md' - schedule: - - cron: '5 4 * * *' - -name: Test hqc-192 - -jobs: - test-native: - runs-on: ubuntu-latest - container: - image: pqclean/ci-container:${{ matrix.arch }} - env: - PQCLEAN_ONLY_SCHEMES: hqc-192 - CC: ccache ${{ matrix.cc }} - CCACHE_NOSTATS: 1 - CCACHE_DIR: /ccache - CCACHE_SLOPPINESS: include_file_mtime - strategy: - matrix: - arch: - - amd64 - - i386 - cc: - - gcc - - clang - steps: - - name: Cancel Previous Runs - uses: thomwiggers/cancel-workflow-action@all_but_latest - with: - all_but_latest: true - access_token: ${{ github.token }} - continue-on-error: true - if: matrix.arch == 'amd64' && matrix.cc == 'gcc' - - uses: actions/checkout@v2 - with: - submodules: true - - name: Cache ccache - uses: actions/cache@v2 - env: - cache-name: cache-ccache - with: - path: /ccache - key: v1-${{ runner.os }}-build-${{ env.cache-name }}-${{ matrix.cc }}-${{ env.GITHUB_WORKFLOW }}-${{ matrix.arch }} - - name: Cache pip - uses: actions/cache@v2 - env: - cache-name: cache-python-pip - with: - path: ~/.cache/pip - key: v1-python-pip - - name: Install python dependencies - run: | - python3 -m pip install -U -r requirements.txt - - name: Run tests - run: | - cd test - python3 -m pytest --verbose --numprocesses=auto - test-emulated: - needs: - - test-native - runs-on: ubuntu-latest - strategy: - matrix: - arch: - - armhf - - unstable-ppc - cc: - - gcc - - clang - env: - CC: ${{ matrix.cc }} - steps: - - name: Register qemu-user-static - run: | - docker run --rm --privileged multiarch/qemu-user-static:register --reset - - uses: actions/checkout@v2 - with: - submodules: true - - name: Cache ccache - uses: actions/cache@v2 - env: - cache-name: cache-ccache - with: - path: ~/ccache - key: v1-${{ runner.os }}-build-${{ env.cache-name }}-${{ matrix.cc }}-${{ env.GITHUB_WORKFLOW }}-${{ matrix.arch }} - - name: Cache pip - uses: actions/cache@v2 - env: - cache-name: cache-python-pip - with: - path: ~/.cache/pip - key: v1-python-pip - - name: Run tests in container - run: | - docker run --rm -e CI -e CC -e PQCLEAN_ONLY_SCHEMES=hqc-192 -v $PWD:$PWD -w $PWD -v ~/ccache:/ccache pqclean/ci-container:${{ matrix.arch }} /bin/bash -c "\ - export CCACHE_NOSTATS=1 && \ - export CCACHE_DIR=/ccache && \ - export CCACHE_SLOPPINESS=include_file_mtime && \ - export CC=\"ccache $CC\" && \ - pip3 install -U -r requirements.txt && \ - cd test && \ - python3 -m pytest --verbose --numprocesses=auto" - test-windows: - needs: - - test-native - strategy: - matrix: - bits: - - 64 - - 32 - env: - PQCLEAN_ONLY_SCHEMES: hqc-192 - runs-on: windows-latest - steps: - - uses: actions/checkout@v2 - with: - submodules: true - - name: Setup astyle - run: | - # Setup strong crypto - Set-ItemProperty -Path "HKLM:\\SOFTWARE\\Wow6432Node\\Microsoft\\.NetFramework\\v4.0.30319" -Name 'SchUseStrongCrypto' -Value '1' -Type DWord - Set-ItemProperty -Path "HKLM:\\SOFTWARE\\Microsoft\\.NetFramework\\v4.0.30319" -Name "SchUseStrongCrypto" -Value '1' -Type DWord - Invoke-WebRequest -OutFile "test\\astyle.exe" "https://rded.nl/pqclean/AStyle.exe" - shell: powershell - - name: Setup Python - uses: actions/setup-python@main - with: - python-version: "3.x" - - name: Install python requirements - run: python -m pip install -U -r requirements.txt - - name: Run tests - run: | - call "C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Enterprise\\VC\\Auxiliary\\Build\\vcvars${{ matrix.bits }}.bat" - cd test - python -m pytest --verbose --numprocesses=auto - shell: cmd - test-macos: - needs: - - test-native - env: - PQCLEAN_ONLY_SCHEMES: hqc-192 - CCACHE_NOSTATS: 1 - CCACHE_SLOPPINESS: include_file_mtime - # XCode version - DEVELOPER_DIR: /Applications/Xcode_11.5.app/Contents/Developer - strategy: - matrix: - compiler: - - clang # XCode (Apple LLVM/Clang) - - gcc9 # GNU (Homebrew) - runs-on: macos-latest - steps: - - uses: actions/checkout@v2 - with: - submodules: true - - name: Install astyle - run: | - brew install astyle - - name: Set up GCC9 compiler - run: 'export PATH="/usr/local/bin:$PATH" && export CC=gcc-9' - if: matrix.compiler == 'gcc9' - - name: Setup Python - uses: actions/setup-python@main - with: - python-version: "3.x" - - name: Install Python dependencies - run: python -m pip install -U -r requirements.txt - - name: Run tests - run: | - cd test - python -m pytest --verbose --numprocesses=auto - diff --git a/.github/workflows/kem_hqc-256.yml b/.github/workflows/kem_hqc-256.yml deleted file mode 100644 index cf123516..00000000 --- a/.github/workflows/kem_hqc-256.yml +++ /dev/null @@ -1,204 +0,0 @@ -on: - push: - paths: - # build if tests change - - 'test/**' - # do not build if other schemes duplicate_consistency files change - - '!test/duplicate_consistency/*.yml' - - 'test/duplicate_consistency/hqc-256*.yml' - # build if common files change - - 'common/**' - # build if scheme changed - - 'crypto_kem/hqc-256/**' - # build if workflow file changed - - '.github/workflows/kem_hqc-256.yml' - # Build if any files in the root change, except .md files - - '*' - - '!*.md' - pull_request: - paths: - # build if tests change - - 'test/**' - # do not build if other schemes duplicate_consistency files change - - '!test/duplicate_consistency/*.yml' - - 'test/duplicate_consistency/hqc-256*.yml' - # build if common files change - - 'common/**' - # build if scheme changed - - 'crypto_kem/hqc-256/**' - # build if workflow file changed - - '.github/workflows/kem_hqc-256.yml' - # Build if any files in the root change, except .md files - - '*' - - '!*.md' - schedule: - - cron: '5 4 * * *' - -name: Test hqc-256 - -jobs: - test-native: - runs-on: ubuntu-latest - container: - image: pqclean/ci-container:${{ matrix.arch }} - env: - PQCLEAN_ONLY_SCHEMES: hqc-256 - CC: ccache ${{ matrix.cc }} - CCACHE_NOSTATS: 1 - CCACHE_DIR: /ccache - CCACHE_SLOPPINESS: include_file_mtime - strategy: - matrix: - arch: - - amd64 - - i386 - cc: - - gcc - - clang - steps: - - name: Cancel Previous Runs - uses: thomwiggers/cancel-workflow-action@all_but_latest - with: - all_but_latest: true - access_token: ${{ github.token }} - continue-on-error: true - if: matrix.arch == 'amd64' && matrix.cc == 'gcc' - - uses: actions/checkout@v2 - with: - submodules: true - - name: Cache ccache - uses: actions/cache@v2 - env: - cache-name: cache-ccache - with: - path: /ccache - key: v1-${{ runner.os }}-build-${{ env.cache-name }}-${{ matrix.cc }}-${{ env.GITHUB_WORKFLOW }}-${{ matrix.arch }} - - name: Cache pip - uses: actions/cache@v2 - env: - cache-name: cache-python-pip - with: - path: ~/.cache/pip - key: v1-python-pip - - name: Install python dependencies - run: | - python3 -m pip install -U -r requirements.txt - - name: Run tests - run: | - cd test - python3 -m pytest --verbose --numprocesses=auto - test-emulated: - needs: - - test-native - runs-on: ubuntu-latest - strategy: - matrix: - arch: - - armhf - - unstable-ppc - cc: - - gcc - - clang - env: - CC: ${{ matrix.cc }} - steps: - - name: Register qemu-user-static - run: | - docker run --rm --privileged multiarch/qemu-user-static:register --reset - - uses: actions/checkout@v2 - with: - submodules: true - - name: Cache ccache - uses: actions/cache@v2 - env: - cache-name: cache-ccache - with: - path: ~/ccache - key: v1-${{ runner.os }}-build-${{ env.cache-name }}-${{ matrix.cc }}-${{ env.GITHUB_WORKFLOW }}-${{ matrix.arch }} - - name: Cache pip - uses: actions/cache@v2 - env: - cache-name: cache-python-pip - with: - path: ~/.cache/pip - key: v1-python-pip - - name: Run tests in container - run: | - docker run --rm -e CI -e CC -e PQCLEAN_ONLY_SCHEMES=hqc-256 -v $PWD:$PWD -w $PWD -v ~/ccache:/ccache pqclean/ci-container:${{ matrix.arch }} /bin/bash -c "\ - export CCACHE_NOSTATS=1 && \ - export CCACHE_DIR=/ccache && \ - export CCACHE_SLOPPINESS=include_file_mtime && \ - export CC=\"ccache $CC\" && \ - pip3 install -U -r requirements.txt && \ - cd test && \ - python3 -m pytest --verbose --numprocesses=auto" - test-windows: - needs: - - test-native - strategy: - matrix: - bits: - - 64 - - 32 - env: - PQCLEAN_ONLY_SCHEMES: hqc-256 - runs-on: windows-latest - steps: - - uses: actions/checkout@v2 - with: - submodules: true - - name: Setup astyle - run: | - # Setup strong crypto - Set-ItemProperty -Path "HKLM:\\SOFTWARE\\Wow6432Node\\Microsoft\\.NetFramework\\v4.0.30319" -Name 'SchUseStrongCrypto' -Value '1' -Type DWord - Set-ItemProperty -Path "HKLM:\\SOFTWARE\\Microsoft\\.NetFramework\\v4.0.30319" -Name "SchUseStrongCrypto" -Value '1' -Type DWord - Invoke-WebRequest -OutFile "test\\astyle.exe" "https://rded.nl/pqclean/AStyle.exe" - shell: powershell - - name: Setup Python - uses: actions/setup-python@main - with: - python-version: "3.x" - - name: Install python requirements - run: python -m pip install -U -r requirements.txt - - name: Run tests - run: | - call "C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Enterprise\\VC\\Auxiliary\\Build\\vcvars${{ matrix.bits }}.bat" - cd test - python -m pytest --verbose --numprocesses=auto - shell: cmd - test-macos: - needs: - - test-native - env: - PQCLEAN_ONLY_SCHEMES: hqc-256 - CCACHE_NOSTATS: 1 - CCACHE_SLOPPINESS: include_file_mtime - # XCode version - DEVELOPER_DIR: /Applications/Xcode_11.5.app/Contents/Developer - strategy: - matrix: - compiler: - - clang # XCode (Apple LLVM/Clang) - - gcc9 # GNU (Homebrew) - runs-on: macos-latest - steps: - - uses: actions/checkout@v2 - with: - submodules: true - - name: Install astyle - run: | - brew install astyle - - name: Set up GCC9 compiler - run: 'export PATH="/usr/local/bin:$PATH" && export CC=gcc-9' - if: matrix.compiler == 'gcc9' - - name: Setup Python - uses: actions/setup-python@main - with: - python-version: "3.x" - - name: Install Python dependencies - run: python -m pip install -U -r requirements.txt - - name: Run tests - run: | - cd test - python -m pytest --verbose --numprocesses=auto - diff --git a/.github/workflows/kem_hqc-rmrs-128.yml b/.github/workflows/kem_hqc-rmrs-128.yml deleted file mode 100644 index 22f65323..00000000 --- a/.github/workflows/kem_hqc-rmrs-128.yml +++ /dev/null @@ -1,204 +0,0 @@ -on: - push: - paths: - # build if tests change - - 'test/**' - # do not build if other schemes duplicate_consistency files change - - '!test/duplicate_consistency/*.yml' - - 'test/duplicate_consistency/hqc-rmrs-128*.yml' - # build if common files change - - 'common/**' - # build if scheme changed - - 'crypto_kem/hqc-rmrs-128/**' - # build if workflow file changed - - '.github/workflows/kem_hqc-rmrs-128.yml' - # Build if any files in the root change, except .md files - - '*' - - '!*.md' - pull_request: - paths: - # build if tests change - - 'test/**' - # do not build if other schemes duplicate_consistency files change - - '!test/duplicate_consistency/*.yml' - - 'test/duplicate_consistency/hqc-rmrs-128*.yml' - # build if common files change - - 'common/**' - # build if scheme changed - - 'crypto_kem/hqc-rmrs-128/**' - # build if workflow file changed - - '.github/workflows/kem_hqc-rmrs-128.yml' - # Build if any files in the root change, except .md files - - '*' - - '!*.md' - schedule: - - cron: '5 4 * * *' - -name: Test hqc-rmrs-128 - -jobs: - test-native: - runs-on: ubuntu-latest - container: - image: pqclean/ci-container:${{ matrix.arch }} - env: - PQCLEAN_ONLY_SCHEMES: hqc-rmrs-128 - CC: ccache ${{ matrix.cc }} - CCACHE_NOSTATS: 1 - CCACHE_DIR: /ccache - CCACHE_SLOPPINESS: include_file_mtime - strategy: - matrix: - arch: - - amd64 - - i386 - cc: - - gcc - - clang - steps: - - name: Cancel Previous Runs - uses: thomwiggers/cancel-workflow-action@all_but_latest - with: - all_but_latest: true - access_token: ${{ github.token }} - continue-on-error: true - if: matrix.arch == 'amd64' && matrix.cc == 'gcc' - - uses: actions/checkout@v2 - with: - submodules: true - - name: Cache ccache - uses: actions/cache@v2 - env: - cache-name: cache-ccache - with: - path: /ccache - key: v1-${{ runner.os }}-build-${{ env.cache-name }}-${{ matrix.cc }}-${{ env.GITHUB_WORKFLOW }}-${{ matrix.arch }} - - name: Cache pip - uses: actions/cache@v2 - env: - cache-name: cache-python-pip - with: - path: ~/.cache/pip - key: v1-python-pip - - name: Install python dependencies - run: | - python3 -m pip install -U -r requirements.txt - - name: Run tests - run: | - cd test - python3 -m pytest --verbose --numprocesses=auto - test-emulated: - needs: - - test-native - runs-on: ubuntu-latest - strategy: - matrix: - arch: - - armhf - - unstable-ppc - cc: - - gcc - - clang - env: - CC: ${{ matrix.cc }} - steps: - - name: Register qemu-user-static - run: | - docker run --rm --privileged multiarch/qemu-user-static:register --reset - - uses: actions/checkout@v2 - with: - submodules: true - - name: Cache ccache - uses: actions/cache@v2 - env: - cache-name: cache-ccache - with: - path: ~/ccache - key: v1-${{ runner.os }}-build-${{ env.cache-name }}-${{ matrix.cc }}-${{ env.GITHUB_WORKFLOW }}-${{ matrix.arch }} - - name: Cache pip - uses: actions/cache@v2 - env: - cache-name: cache-python-pip - with: - path: ~/.cache/pip - key: v1-python-pip - - name: Run tests in container - run: | - docker run --rm -e CI -e CC -e PQCLEAN_ONLY_SCHEMES=hqc-rmrs-128 -v $PWD:$PWD -w $PWD -v ~/ccache:/ccache pqclean/ci-container:${{ matrix.arch }} /bin/bash -c "\ - export CCACHE_NOSTATS=1 && \ - export CCACHE_DIR=/ccache && \ - export CCACHE_SLOPPINESS=include_file_mtime && \ - export CC=\"ccache $CC\" && \ - pip3 install -U -r requirements.txt && \ - cd test && \ - python3 -m pytest --verbose --numprocesses=auto" - test-windows: - needs: - - test-native - strategy: - matrix: - bits: - - 64 - - 32 - env: - PQCLEAN_ONLY_SCHEMES: hqc-rmrs-128 - runs-on: windows-latest - steps: - - uses: actions/checkout@v2 - with: - submodules: true - - name: Setup astyle - run: | - # Setup strong crypto - Set-ItemProperty -Path "HKLM:\\SOFTWARE\\Wow6432Node\\Microsoft\\.NetFramework\\v4.0.30319" -Name 'SchUseStrongCrypto' -Value '1' -Type DWord - Set-ItemProperty -Path "HKLM:\\SOFTWARE\\Microsoft\\.NetFramework\\v4.0.30319" -Name "SchUseStrongCrypto" -Value '1' -Type DWord - Invoke-WebRequest -OutFile "test\\astyle.exe" "https://rded.nl/pqclean/AStyle.exe" - shell: powershell - - name: Setup Python - uses: actions/setup-python@main - with: - python-version: "3.x" - - name: Install python requirements - run: python -m pip install -U -r requirements.txt - - name: Run tests - run: | - call "C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Enterprise\\VC\\Auxiliary\\Build\\vcvars${{ matrix.bits }}.bat" - cd test - python -m pytest --verbose --numprocesses=auto - shell: cmd - test-macos: - needs: - - test-native - env: - PQCLEAN_ONLY_SCHEMES: hqc-rmrs-128 - CCACHE_NOSTATS: 1 - CCACHE_SLOPPINESS: include_file_mtime - # XCode version - DEVELOPER_DIR: /Applications/Xcode_11.5.app/Contents/Developer - strategy: - matrix: - compiler: - - clang # XCode (Apple LLVM/Clang) - - gcc9 # GNU (Homebrew) - runs-on: macos-latest - steps: - - uses: actions/checkout@v2 - with: - submodules: true - - name: Install astyle - run: | - brew install astyle - - name: Set up GCC9 compiler - run: 'export PATH="/usr/local/bin:$PATH" && export CC=gcc-9' - if: matrix.compiler == 'gcc9' - - name: Setup Python - uses: actions/setup-python@main - with: - python-version: "3.x" - - name: Install Python dependencies - run: python -m pip install -U -r requirements.txt - - name: Run tests - run: | - cd test - python -m pytest --verbose --numprocesses=auto - diff --git a/.github/workflows/kem_hqc-rmrs-192.yml b/.github/workflows/kem_hqc-rmrs-192.yml deleted file mode 100644 index da68ddea..00000000 --- a/.github/workflows/kem_hqc-rmrs-192.yml +++ /dev/null @@ -1,204 +0,0 @@ -on: - push: - paths: - # build if tests change - - 'test/**' - # do not build if other schemes duplicate_consistency files change - - '!test/duplicate_consistency/*.yml' - - 'test/duplicate_consistency/hqc-rmrs-192*.yml' - # build if common files change - - 'common/**' - # build if scheme changed - - 'crypto_kem/hqc-rmrs-192/**' - # build if workflow file changed - - '.github/workflows/kem_hqc-rmrs-192.yml' - # Build if any files in the root change, except .md files - - '*' - - '!*.md' - pull_request: - paths: - # build if tests change - - 'test/**' - # do not build if other schemes duplicate_consistency files change - - '!test/duplicate_consistency/*.yml' - - 'test/duplicate_consistency/hqc-rmrs-192*.yml' - # build if common files change - - 'common/**' - # build if scheme changed - - 'crypto_kem/hqc-rmrs-192/**' - # build if workflow file changed - - '.github/workflows/kem_hqc-rmrs-192.yml' - # Build if any files in the root change, except .md files - - '*' - - '!*.md' - schedule: - - cron: '5 4 * * *' - -name: Test hqc-rmrs-192 - -jobs: - test-native: - runs-on: ubuntu-latest - container: - image: pqclean/ci-container:${{ matrix.arch }} - env: - PQCLEAN_ONLY_SCHEMES: hqc-rmrs-192 - CC: ccache ${{ matrix.cc }} - CCACHE_NOSTATS: 1 - CCACHE_DIR: /ccache - CCACHE_SLOPPINESS: include_file_mtime - strategy: - matrix: - arch: - - amd64 - - i386 - cc: - - gcc - - clang - steps: - - name: Cancel Previous Runs - uses: thomwiggers/cancel-workflow-action@all_but_latest - with: - all_but_latest: true - access_token: ${{ github.token }} - continue-on-error: true - if: matrix.arch == 'amd64' && matrix.cc == 'gcc' - - uses: actions/checkout@v2 - with: - submodules: true - - name: Cache ccache - uses: actions/cache@v2 - env: - cache-name: cache-ccache - with: - path: /ccache - key: v1-${{ runner.os }}-build-${{ env.cache-name }}-${{ matrix.cc }}-${{ env.GITHUB_WORKFLOW }}-${{ matrix.arch }} - - name: Cache pip - uses: actions/cache@v2 - env: - cache-name: cache-python-pip - with: - path: ~/.cache/pip - key: v1-python-pip - - name: Install python dependencies - run: | - python3 -m pip install -U -r requirements.txt - - name: Run tests - run: | - cd test - python3 -m pytest --verbose --numprocesses=auto - test-emulated: - needs: - - test-native - runs-on: ubuntu-latest - strategy: - matrix: - arch: - - armhf - - unstable-ppc - cc: - - gcc - - clang - env: - CC: ${{ matrix.cc }} - steps: - - name: Register qemu-user-static - run: | - docker run --rm --privileged multiarch/qemu-user-static:register --reset - - uses: actions/checkout@v2 - with: - submodules: true - - name: Cache ccache - uses: actions/cache@v2 - env: - cache-name: cache-ccache - with: - path: ~/ccache - key: v1-${{ runner.os }}-build-${{ env.cache-name }}-${{ matrix.cc }}-${{ env.GITHUB_WORKFLOW }}-${{ matrix.arch }} - - name: Cache pip - uses: actions/cache@v2 - env: - cache-name: cache-python-pip - with: - path: ~/.cache/pip - key: v1-python-pip - - name: Run tests in container - run: | - docker run --rm -e CI -e CC -e PQCLEAN_ONLY_SCHEMES=hqc-rmrs-192 -v $PWD:$PWD -w $PWD -v ~/ccache:/ccache pqclean/ci-container:${{ matrix.arch }} /bin/bash -c "\ - export CCACHE_NOSTATS=1 && \ - export CCACHE_DIR=/ccache && \ - export CCACHE_SLOPPINESS=include_file_mtime && \ - export CC=\"ccache $CC\" && \ - pip3 install -U -r requirements.txt && \ - cd test && \ - python3 -m pytest --verbose --numprocesses=auto" - test-windows: - needs: - - test-native - strategy: - matrix: - bits: - - 64 - - 32 - env: - PQCLEAN_ONLY_SCHEMES: hqc-rmrs-192 - runs-on: windows-latest - steps: - - uses: actions/checkout@v2 - with: - submodules: true - - name: Setup astyle - run: | - # Setup strong crypto - Set-ItemProperty -Path "HKLM:\\SOFTWARE\\Wow6432Node\\Microsoft\\.NetFramework\\v4.0.30319" -Name 'SchUseStrongCrypto' -Value '1' -Type DWord - Set-ItemProperty -Path "HKLM:\\SOFTWARE\\Microsoft\\.NetFramework\\v4.0.30319" -Name "SchUseStrongCrypto" -Value '1' -Type DWord - Invoke-WebRequest -OutFile "test\\astyle.exe" "https://rded.nl/pqclean/AStyle.exe" - shell: powershell - - name: Setup Python - uses: actions/setup-python@main - with: - python-version: "3.x" - - name: Install python requirements - run: python -m pip install -U -r requirements.txt - - name: Run tests - run: | - call "C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Enterprise\\VC\\Auxiliary\\Build\\vcvars${{ matrix.bits }}.bat" - cd test - python -m pytest --verbose --numprocesses=auto - shell: cmd - test-macos: - needs: - - test-native - env: - PQCLEAN_ONLY_SCHEMES: hqc-rmrs-192 - CCACHE_NOSTATS: 1 - CCACHE_SLOPPINESS: include_file_mtime - # XCode version - DEVELOPER_DIR: /Applications/Xcode_11.5.app/Contents/Developer - strategy: - matrix: - compiler: - - clang # XCode (Apple LLVM/Clang) - - gcc9 # GNU (Homebrew) - runs-on: macos-latest - steps: - - uses: actions/checkout@v2 - with: - submodules: true - - name: Install astyle - run: | - brew install astyle - - name: Set up GCC9 compiler - run: 'export PATH="/usr/local/bin:$PATH" && export CC=gcc-9' - if: matrix.compiler == 'gcc9' - - name: Setup Python - uses: actions/setup-python@main - with: - python-version: "3.x" - - name: Install Python dependencies - run: python -m pip install -U -r requirements.txt - - name: Run tests - run: | - cd test - python -m pytest --verbose --numprocesses=auto - diff --git a/.github/workflows/kem_hqc-rmrs-256.yml b/.github/workflows/kem_hqc-rmrs-256.yml deleted file mode 100644 index 04adfdb5..00000000 --- a/.github/workflows/kem_hqc-rmrs-256.yml +++ /dev/null @@ -1,204 +0,0 @@ -on: - push: - paths: - # build if tests change - - 'test/**' - # do not build if other schemes duplicate_consistency files change - - '!test/duplicate_consistency/*.yml' - - 'test/duplicate_consistency/hqc-rmrs-256*.yml' - # build if common files change - - 'common/**' - # build if scheme changed - - 'crypto_kem/hqc-rmrs-256/**' - # build if workflow file changed - - '.github/workflows/kem_hqc-rmrs-256.yml' - # Build if any files in the root change, except .md files - - '*' - - '!*.md' - pull_request: - paths: - # build if tests change - - 'test/**' - # do not build if other schemes duplicate_consistency files change - - '!test/duplicate_consistency/*.yml' - - 'test/duplicate_consistency/hqc-rmrs-256*.yml' - # build if common files change - - 'common/**' - # build if scheme changed - - 'crypto_kem/hqc-rmrs-256/**' - # build if workflow file changed - - '.github/workflows/kem_hqc-rmrs-256.yml' - # Build if any files in the root change, except .md files - - '*' - - '!*.md' - schedule: - - cron: '5 4 * * *' - -name: Test hqc-rmrs-256 - -jobs: - test-native: - runs-on: ubuntu-latest - container: - image: pqclean/ci-container:${{ matrix.arch }} - env: - PQCLEAN_ONLY_SCHEMES: hqc-rmrs-256 - CC: ccache ${{ matrix.cc }} - CCACHE_NOSTATS: 1 - CCACHE_DIR: /ccache - CCACHE_SLOPPINESS: include_file_mtime - strategy: - matrix: - arch: - - amd64 - - i386 - cc: - - gcc - - clang - steps: - - name: Cancel Previous Runs - uses: thomwiggers/cancel-workflow-action@all_but_latest - with: - all_but_latest: true - access_token: ${{ github.token }} - continue-on-error: true - if: matrix.arch == 'amd64' && matrix.cc == 'gcc' - - uses: actions/checkout@v2 - with: - submodules: true - - name: Cache ccache - uses: actions/cache@v2 - env: - cache-name: cache-ccache - with: - path: /ccache - key: v1-${{ runner.os }}-build-${{ env.cache-name }}-${{ matrix.cc }}-${{ env.GITHUB_WORKFLOW }}-${{ matrix.arch }} - - name: Cache pip - uses: actions/cache@v2 - env: - cache-name: cache-python-pip - with: - path: ~/.cache/pip - key: v1-python-pip - - name: Install python dependencies - run: | - python3 -m pip install -U -r requirements.txt - - name: Run tests - run: | - cd test - python3 -m pytest --verbose --numprocesses=auto - test-emulated: - needs: - - test-native - runs-on: ubuntu-latest - strategy: - matrix: - arch: - - armhf - - unstable-ppc - cc: - - gcc - - clang - env: - CC: ${{ matrix.cc }} - steps: - - name: Register qemu-user-static - run: | - docker run --rm --privileged multiarch/qemu-user-static:register --reset - - uses: actions/checkout@v2 - with: - submodules: true - - name: Cache ccache - uses: actions/cache@v2 - env: - cache-name: cache-ccache - with: - path: ~/ccache - key: v1-${{ runner.os }}-build-${{ env.cache-name }}-${{ matrix.cc }}-${{ env.GITHUB_WORKFLOW }}-${{ matrix.arch }} - - name: Cache pip - uses: actions/cache@v2 - env: - cache-name: cache-python-pip - with: - path: ~/.cache/pip - key: v1-python-pip - - name: Run tests in container - run: | - docker run --rm -e CI -e CC -e PQCLEAN_ONLY_SCHEMES=hqc-rmrs-256 -v $PWD:$PWD -w $PWD -v ~/ccache:/ccache pqclean/ci-container:${{ matrix.arch }} /bin/bash -c "\ - export CCACHE_NOSTATS=1 && \ - export CCACHE_DIR=/ccache && \ - export CCACHE_SLOPPINESS=include_file_mtime && \ - export CC=\"ccache $CC\" && \ - pip3 install -U -r requirements.txt && \ - cd test && \ - python3 -m pytest --verbose --numprocesses=auto" - test-windows: - needs: - - test-native - strategy: - matrix: - bits: - - 64 - - 32 - env: - PQCLEAN_ONLY_SCHEMES: hqc-rmrs-256 - runs-on: windows-latest - steps: - - uses: actions/checkout@v2 - with: - submodules: true - - name: Setup astyle - run: | - # Setup strong crypto - Set-ItemProperty -Path "HKLM:\\SOFTWARE\\Wow6432Node\\Microsoft\\.NetFramework\\v4.0.30319" -Name 'SchUseStrongCrypto' -Value '1' -Type DWord - Set-ItemProperty -Path "HKLM:\\SOFTWARE\\Microsoft\\.NetFramework\\v4.0.30319" -Name "SchUseStrongCrypto" -Value '1' -Type DWord - Invoke-WebRequest -OutFile "test\\astyle.exe" "https://rded.nl/pqclean/AStyle.exe" - shell: powershell - - name: Setup Python - uses: actions/setup-python@main - with: - python-version: "3.x" - - name: Install python requirements - run: python -m pip install -U -r requirements.txt - - name: Run tests - run: | - call "C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Enterprise\\VC\\Auxiliary\\Build\\vcvars${{ matrix.bits }}.bat" - cd test - python -m pytest --verbose --numprocesses=auto - shell: cmd - test-macos: - needs: - - test-native - env: - PQCLEAN_ONLY_SCHEMES: hqc-rmrs-256 - CCACHE_NOSTATS: 1 - CCACHE_SLOPPINESS: include_file_mtime - # XCode version - DEVELOPER_DIR: /Applications/Xcode_11.5.app/Contents/Developer - strategy: - matrix: - compiler: - - clang # XCode (Apple LLVM/Clang) - - gcc9 # GNU (Homebrew) - runs-on: macos-latest - steps: - - uses: actions/checkout@v2 - with: - submodules: true - - name: Install astyle - run: | - brew install astyle - - name: Set up GCC9 compiler - run: 'export PATH="/usr/local/bin:$PATH" && export CC=gcc-9' - if: matrix.compiler == 'gcc9' - - name: Setup Python - uses: actions/setup-python@main - with: - python-version: "3.x" - - name: Install Python dependencies - run: python -m pip install -U -r requirements.txt - - name: Run tests - run: | - cd test - python -m pytest --verbose --numprocesses=auto - diff --git a/.github/workflows/kem_kyber1024-90s.yml b/.github/workflows/kem_kyber1024-90s.yml deleted file mode 100644 index ecd207cb..00000000 --- a/.github/workflows/kem_kyber1024-90s.yml +++ /dev/null @@ -1,204 +0,0 @@ -on: - push: - paths: - # build if tests change - - 'test/**' - # do not build if other schemes duplicate_consistency files change - - '!test/duplicate_consistency/*.yml' - - 'test/duplicate_consistency/kyber1024-90s*.yml' - # build if common files change - - 'common/**' - # build if scheme changed - - 'crypto_kem/kyber1024-90s/**' - # build if workflow file changed - - '.github/workflows/kem_kyber1024-90s.yml' - # Build if any files in the root change, except .md files - - '*' - - '!*.md' - pull_request: - paths: - # build if tests change - - 'test/**' - # do not build if other schemes duplicate_consistency files change - - '!test/duplicate_consistency/*.yml' - - 'test/duplicate_consistency/kyber1024-90s*.yml' - # build if common files change - - 'common/**' - # build if scheme changed - - 'crypto_kem/kyber1024-90s/**' - # build if workflow file changed - - '.github/workflows/kem_kyber1024-90s.yml' - # Build if any files in the root change, except .md files - - '*' - - '!*.md' - schedule: - - cron: '5 4 * * *' - -name: Test kyber1024-90s - -jobs: - test-native: - runs-on: ubuntu-latest - container: - image: pqclean/ci-container:${{ matrix.arch }} - env: - PQCLEAN_ONLY_SCHEMES: kyber1024-90s - CC: ccache ${{ matrix.cc }} - CCACHE_NOSTATS: 1 - CCACHE_DIR: /ccache - CCACHE_SLOPPINESS: include_file_mtime - strategy: - matrix: - arch: - - amd64 - - i386 - cc: - - gcc - - clang - steps: - - name: Cancel Previous Runs - uses: thomwiggers/cancel-workflow-action@all_but_latest - with: - all_but_latest: true - access_token: ${{ github.token }} - continue-on-error: true - if: matrix.arch == 'amd64' && matrix.cc == 'gcc' - - uses: actions/checkout@v2 - with: - submodules: true - - name: Cache ccache - uses: actions/cache@v2 - env: - cache-name: cache-ccache - with: - path: /ccache - key: v1-${{ runner.os }}-build-${{ env.cache-name }}-${{ matrix.cc }}-${{ env.GITHUB_WORKFLOW }}-${{ matrix.arch }} - - name: Cache pip - uses: actions/cache@v2 - env: - cache-name: cache-python-pip - with: - path: ~/.cache/pip - key: v1-python-pip - - name: Install python dependencies - run: | - python3 -m pip install -U -r requirements.txt - - name: Run tests - run: | - cd test - python3 -m pytest --verbose --numprocesses=auto - test-emulated: - needs: - - test-native - runs-on: ubuntu-latest - strategy: - matrix: - arch: - - armhf - - unstable-ppc - cc: - - gcc - - clang - env: - CC: ${{ matrix.cc }} - steps: - - name: Register qemu-user-static - run: | - docker run --rm --privileged multiarch/qemu-user-static:register --reset - - uses: actions/checkout@v2 - with: - submodules: true - - name: Cache ccache - uses: actions/cache@v2 - env: - cache-name: cache-ccache - with: - path: ~/ccache - key: v1-${{ runner.os }}-build-${{ env.cache-name }}-${{ matrix.cc }}-${{ env.GITHUB_WORKFLOW }}-${{ matrix.arch }} - - name: Cache pip - uses: actions/cache@v2 - env: - cache-name: cache-python-pip - with: - path: ~/.cache/pip - key: v1-python-pip - - name: Run tests in container - run: | - docker run --rm -e CI -e CC -e PQCLEAN_ONLY_SCHEMES=kyber1024-90s -v $PWD:$PWD -w $PWD -v ~/ccache:/ccache pqclean/ci-container:${{ matrix.arch }} /bin/bash -c "\ - export CCACHE_NOSTATS=1 && \ - export CCACHE_DIR=/ccache && \ - export CCACHE_SLOPPINESS=include_file_mtime && \ - export CC=\"ccache $CC\" && \ - pip3 install -U -r requirements.txt && \ - cd test && \ - python3 -m pytest --verbose --numprocesses=auto" - test-windows: - needs: - - test-native - strategy: - matrix: - bits: - - 64 - - 32 - env: - PQCLEAN_ONLY_SCHEMES: kyber1024-90s - runs-on: windows-latest - steps: - - uses: actions/checkout@v2 - with: - submodules: true - - name: Setup astyle - run: | - # Setup strong crypto - Set-ItemProperty -Path "HKLM:\\SOFTWARE\\Wow6432Node\\Microsoft\\.NetFramework\\v4.0.30319" -Name 'SchUseStrongCrypto' -Value '1' -Type DWord - Set-ItemProperty -Path "HKLM:\\SOFTWARE\\Microsoft\\.NetFramework\\v4.0.30319" -Name "SchUseStrongCrypto" -Value '1' -Type DWord - Invoke-WebRequest -OutFile "test\\astyle.exe" "https://rded.nl/pqclean/AStyle.exe" - shell: powershell - - name: Setup Python - uses: actions/setup-python@main - with: - python-version: "3.x" - - name: Install python requirements - run: python -m pip install -U -r requirements.txt - - name: Run tests - run: | - call "C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Enterprise\\VC\\Auxiliary\\Build\\vcvars${{ matrix.bits }}.bat" - cd test - python -m pytest --verbose --numprocesses=auto - shell: cmd - test-macos: - needs: - - test-native - env: - PQCLEAN_ONLY_SCHEMES: kyber1024-90s - CCACHE_NOSTATS: 1 - CCACHE_SLOPPINESS: include_file_mtime - # XCode version - DEVELOPER_DIR: /Applications/Xcode_11.5.app/Contents/Developer - strategy: - matrix: - compiler: - - clang # XCode (Apple LLVM/Clang) - - gcc9 # GNU (Homebrew) - runs-on: macos-latest - steps: - - uses: actions/checkout@v2 - with: - submodules: true - - name: Install astyle - run: | - brew install astyle - - name: Set up GCC9 compiler - run: 'export PATH="/usr/local/bin:$PATH" && export CC=gcc-9' - if: matrix.compiler == 'gcc9' - - name: Setup Python - uses: actions/setup-python@main - with: - python-version: "3.x" - - name: Install Python dependencies - run: python -m pip install -U -r requirements.txt - - name: Run tests - run: | - cd test - python -m pytest --verbose --numprocesses=auto - diff --git a/.github/workflows/kem_kyber1024.yml b/.github/workflows/kem_kyber1024.yml deleted file mode 100644 index 8e563d2c..00000000 --- a/.github/workflows/kem_kyber1024.yml +++ /dev/null @@ -1,204 +0,0 @@ -on: - push: - paths: - # build if tests change - - 'test/**' - # do not build if other schemes duplicate_consistency files change - - '!test/duplicate_consistency/*.yml' - - 'test/duplicate_consistency/kyber1024*.yml' - # build if common files change - - 'common/**' - # build if scheme changed - - 'crypto_kem/kyber1024/**' - # build if workflow file changed - - '.github/workflows/kem_kyber1024.yml' - # Build if any files in the root change, except .md files - - '*' - - '!*.md' - pull_request: - paths: - # build if tests change - - 'test/**' - # do not build if other schemes duplicate_consistency files change - - '!test/duplicate_consistency/*.yml' - - 'test/duplicate_consistency/kyber1024*.yml' - # build if common files change - - 'common/**' - # build if scheme changed - - 'crypto_kem/kyber1024/**' - # build if workflow file changed - - '.github/workflows/kem_kyber1024.yml' - # Build if any files in the root change, except .md files - - '*' - - '!*.md' - schedule: - - cron: '5 4 * * *' - -name: Test kyber1024 - -jobs: - test-native: - runs-on: ubuntu-latest - container: - image: pqclean/ci-container:${{ matrix.arch }} - env: - PQCLEAN_ONLY_SCHEMES: kyber1024 - CC: ccache ${{ matrix.cc }} - CCACHE_NOSTATS: 1 - CCACHE_DIR: /ccache - CCACHE_SLOPPINESS: include_file_mtime - strategy: - matrix: - arch: - - amd64 - - i386 - cc: - - gcc - - clang - steps: - - name: Cancel Previous Runs - uses: thomwiggers/cancel-workflow-action@all_but_latest - with: - all_but_latest: true - access_token: ${{ github.token }} - continue-on-error: true - if: matrix.arch == 'amd64' && matrix.cc == 'gcc' - - uses: actions/checkout@v2 - with: - submodules: true - - name: Cache ccache - uses: actions/cache@v2 - env: - cache-name: cache-ccache - with: - path: /ccache - key: v1-${{ runner.os }}-build-${{ env.cache-name }}-${{ matrix.cc }}-${{ env.GITHUB_WORKFLOW }}-${{ matrix.arch }} - - name: Cache pip - uses: actions/cache@v2 - env: - cache-name: cache-python-pip - with: - path: ~/.cache/pip - key: v1-python-pip - - name: Install python dependencies - run: | - python3 -m pip install -U -r requirements.txt - - name: Run tests - run: | - cd test - python3 -m pytest --verbose --numprocesses=auto - test-emulated: - needs: - - test-native - runs-on: ubuntu-latest - strategy: - matrix: - arch: - - armhf - - unstable-ppc - cc: - - gcc - - clang - env: - CC: ${{ matrix.cc }} - steps: - - name: Register qemu-user-static - run: | - docker run --rm --privileged multiarch/qemu-user-static:register --reset - - uses: actions/checkout@v2 - with: - submodules: true - - name: Cache ccache - uses: actions/cache@v2 - env: - cache-name: cache-ccache - with: - path: ~/ccache - key: v1-${{ runner.os }}-build-${{ env.cache-name }}-${{ matrix.cc }}-${{ env.GITHUB_WORKFLOW }}-${{ matrix.arch }} - - name: Cache pip - uses: actions/cache@v2 - env: - cache-name: cache-python-pip - with: - path: ~/.cache/pip - key: v1-python-pip - - name: Run tests in container - run: | - docker run --rm -e CI -e CC -e PQCLEAN_ONLY_SCHEMES=kyber1024 -v $PWD:$PWD -w $PWD -v ~/ccache:/ccache pqclean/ci-container:${{ matrix.arch }} /bin/bash -c "\ - export CCACHE_NOSTATS=1 && \ - export CCACHE_DIR=/ccache && \ - export CCACHE_SLOPPINESS=include_file_mtime && \ - export CC=\"ccache $CC\" && \ - pip3 install -U -r requirements.txt && \ - cd test && \ - python3 -m pytest --verbose --numprocesses=auto" - test-windows: - needs: - - test-native - strategy: - matrix: - bits: - - 64 - - 32 - env: - PQCLEAN_ONLY_SCHEMES: kyber1024 - runs-on: windows-latest - steps: - - uses: actions/checkout@v2 - with: - submodules: true - - name: Setup astyle - run: | - # Setup strong crypto - Set-ItemProperty -Path "HKLM:\\SOFTWARE\\Wow6432Node\\Microsoft\\.NetFramework\\v4.0.30319" -Name 'SchUseStrongCrypto' -Value '1' -Type DWord - Set-ItemProperty -Path "HKLM:\\SOFTWARE\\Microsoft\\.NetFramework\\v4.0.30319" -Name "SchUseStrongCrypto" -Value '1' -Type DWord - Invoke-WebRequest -OutFile "test\\astyle.exe" "https://rded.nl/pqclean/AStyle.exe" - shell: powershell - - name: Setup Python - uses: actions/setup-python@main - with: - python-version: "3.x" - - name: Install python requirements - run: python -m pip install -U -r requirements.txt - - name: Run tests - run: | - call "C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Enterprise\\VC\\Auxiliary\\Build\\vcvars${{ matrix.bits }}.bat" - cd test - python -m pytest --verbose --numprocesses=auto - shell: cmd - test-macos: - needs: - - test-native - env: - PQCLEAN_ONLY_SCHEMES: kyber1024 - CCACHE_NOSTATS: 1 - CCACHE_SLOPPINESS: include_file_mtime - # XCode version - DEVELOPER_DIR: /Applications/Xcode_11.5.app/Contents/Developer - strategy: - matrix: - compiler: - - clang # XCode (Apple LLVM/Clang) - - gcc9 # GNU (Homebrew) - runs-on: macos-latest - steps: - - uses: actions/checkout@v2 - with: - submodules: true - - name: Install astyle - run: | - brew install astyle - - name: Set up GCC9 compiler - run: 'export PATH="/usr/local/bin:$PATH" && export CC=gcc-9' - if: matrix.compiler == 'gcc9' - - name: Setup Python - uses: actions/setup-python@main - with: - python-version: "3.x" - - name: Install Python dependencies - run: python -m pip install -U -r requirements.txt - - name: Run tests - run: | - cd test - python -m pytest --verbose --numprocesses=auto - diff --git a/.github/workflows/kem_kyber512-90s.yml b/.github/workflows/kem_kyber512-90s.yml deleted file mode 100644 index 8c0771d2..00000000 --- a/.github/workflows/kem_kyber512-90s.yml +++ /dev/null @@ -1,204 +0,0 @@ -on: - push: - paths: - # build if tests change - - 'test/**' - # do not build if other schemes duplicate_consistency files change - - '!test/duplicate_consistency/*.yml' - - 'test/duplicate_consistency/kyber512-90s*.yml' - # build if common files change - - 'common/**' - # build if scheme changed - - 'crypto_kem/kyber512-90s/**' - # build if workflow file changed - - '.github/workflows/kem_kyber512-90s.yml' - # Build if any files in the root change, except .md files - - '*' - - '!*.md' - pull_request: - paths: - # build if tests change - - 'test/**' - # do not build if other schemes duplicate_consistency files change - - '!test/duplicate_consistency/*.yml' - - 'test/duplicate_consistency/kyber512-90s*.yml' - # build if common files change - - 'common/**' - # build if scheme changed - - 'crypto_kem/kyber512-90s/**' - # build if workflow file changed - - '.github/workflows/kem_kyber512-90s.yml' - # Build if any files in the root change, except .md files - - '*' - - '!*.md' - schedule: - - cron: '5 4 * * *' - -name: Test kyber512-90s - -jobs: - test-native: - runs-on: ubuntu-latest - container: - image: pqclean/ci-container:${{ matrix.arch }} - env: - PQCLEAN_ONLY_SCHEMES: kyber512-90s - CC: ccache ${{ matrix.cc }} - CCACHE_NOSTATS: 1 - CCACHE_DIR: /ccache - CCACHE_SLOPPINESS: include_file_mtime - strategy: - matrix: - arch: - - amd64 - - i386 - cc: - - gcc - - clang - steps: - - name: Cancel Previous Runs - uses: thomwiggers/cancel-workflow-action@all_but_latest - with: - all_but_latest: true - access_token: ${{ github.token }} - continue-on-error: true - if: matrix.arch == 'amd64' && matrix.cc == 'gcc' - - uses: actions/checkout@v2 - with: - submodules: true - - name: Cache ccache - uses: actions/cache@v2 - env: - cache-name: cache-ccache - with: - path: /ccache - key: v1-${{ runner.os }}-build-${{ env.cache-name }}-${{ matrix.cc }}-${{ env.GITHUB_WORKFLOW }}-${{ matrix.arch }} - - name: Cache pip - uses: actions/cache@v2 - env: - cache-name: cache-python-pip - with: - path: ~/.cache/pip - key: v1-python-pip - - name: Install python dependencies - run: | - python3 -m pip install -U -r requirements.txt - - name: Run tests - run: | - cd test - python3 -m pytest --verbose --numprocesses=auto - test-emulated: - needs: - - test-native - runs-on: ubuntu-latest - strategy: - matrix: - arch: - - armhf - - unstable-ppc - cc: - - gcc - - clang - env: - CC: ${{ matrix.cc }} - steps: - - name: Register qemu-user-static - run: | - docker run --rm --privileged multiarch/qemu-user-static:register --reset - - uses: actions/checkout@v2 - with: - submodules: true - - name: Cache ccache - uses: actions/cache@v2 - env: - cache-name: cache-ccache - with: - path: ~/ccache - key: v1-${{ runner.os }}-build-${{ env.cache-name }}-${{ matrix.cc }}-${{ env.GITHUB_WORKFLOW }}-${{ matrix.arch }} - - name: Cache pip - uses: actions/cache@v2 - env: - cache-name: cache-python-pip - with: - path: ~/.cache/pip - key: v1-python-pip - - name: Run tests in container - run: | - docker run --rm -e CI -e CC -e PQCLEAN_ONLY_SCHEMES=kyber512-90s -v $PWD:$PWD -w $PWD -v ~/ccache:/ccache pqclean/ci-container:${{ matrix.arch }} /bin/bash -c "\ - export CCACHE_NOSTATS=1 && \ - export CCACHE_DIR=/ccache && \ - export CCACHE_SLOPPINESS=include_file_mtime && \ - export CC=\"ccache $CC\" && \ - pip3 install -U -r requirements.txt && \ - cd test && \ - python3 -m pytest --verbose --numprocesses=auto" - test-windows: - needs: - - test-native - strategy: - matrix: - bits: - - 64 - - 32 - env: - PQCLEAN_ONLY_SCHEMES: kyber512-90s - runs-on: windows-latest - steps: - - uses: actions/checkout@v2 - with: - submodules: true - - name: Setup astyle - run: | - # Setup strong crypto - Set-ItemProperty -Path "HKLM:\\SOFTWARE\\Wow6432Node\\Microsoft\\.NetFramework\\v4.0.30319" -Name 'SchUseStrongCrypto' -Value '1' -Type DWord - Set-ItemProperty -Path "HKLM:\\SOFTWARE\\Microsoft\\.NetFramework\\v4.0.30319" -Name "SchUseStrongCrypto" -Value '1' -Type DWord - Invoke-WebRequest -OutFile "test\\astyle.exe" "https://rded.nl/pqclean/AStyle.exe" - shell: powershell - - name: Setup Python - uses: actions/setup-python@main - with: - python-version: "3.x" - - name: Install python requirements - run: python -m pip install -U -r requirements.txt - - name: Run tests - run: | - call "C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Enterprise\\VC\\Auxiliary\\Build\\vcvars${{ matrix.bits }}.bat" - cd test - python -m pytest --verbose --numprocesses=auto - shell: cmd - test-macos: - needs: - - test-native - env: - PQCLEAN_ONLY_SCHEMES: kyber512-90s - CCACHE_NOSTATS: 1 - CCACHE_SLOPPINESS: include_file_mtime - # XCode version - DEVELOPER_DIR: /Applications/Xcode_11.5.app/Contents/Developer - strategy: - matrix: - compiler: - - clang # XCode (Apple LLVM/Clang) - - gcc9 # GNU (Homebrew) - runs-on: macos-latest - steps: - - uses: actions/checkout@v2 - with: - submodules: true - - name: Install astyle - run: | - brew install astyle - - name: Set up GCC9 compiler - run: 'export PATH="/usr/local/bin:$PATH" && export CC=gcc-9' - if: matrix.compiler == 'gcc9' - - name: Setup Python - uses: actions/setup-python@main - with: - python-version: "3.x" - - name: Install Python dependencies - run: python -m pip install -U -r requirements.txt - - name: Run tests - run: | - cd test - python -m pytest --verbose --numprocesses=auto - diff --git a/.github/workflows/kem_kyber512.yml b/.github/workflows/kem_kyber512.yml deleted file mode 100644 index 8917c722..00000000 --- a/.github/workflows/kem_kyber512.yml +++ /dev/null @@ -1,204 +0,0 @@ -on: - push: - paths: - # build if tests change - - 'test/**' - # do not build if other schemes duplicate_consistency files change - - '!test/duplicate_consistency/*.yml' - - 'test/duplicate_consistency/kyber512*.yml' - # build if common files change - - 'common/**' - # build if scheme changed - - 'crypto_kem/kyber512/**' - # build if workflow file changed - - '.github/workflows/kem_kyber512.yml' - # Build if any files in the root change, except .md files - - '*' - - '!*.md' - pull_request: - paths: - # build if tests change - - 'test/**' - # do not build if other schemes duplicate_consistency files change - - '!test/duplicate_consistency/*.yml' - - 'test/duplicate_consistency/kyber512*.yml' - # build if common files change - - 'common/**' - # build if scheme changed - - 'crypto_kem/kyber512/**' - # build if workflow file changed - - '.github/workflows/kem_kyber512.yml' - # Build if any files in the root change, except .md files - - '*' - - '!*.md' - schedule: - - cron: '5 4 * * *' - -name: Test kyber512 - -jobs: - test-native: - runs-on: ubuntu-latest - container: - image: pqclean/ci-container:${{ matrix.arch }} - env: - PQCLEAN_ONLY_SCHEMES: kyber512 - CC: ccache ${{ matrix.cc }} - CCACHE_NOSTATS: 1 - CCACHE_DIR: /ccache - CCACHE_SLOPPINESS: include_file_mtime - strategy: - matrix: - arch: - - amd64 - - i386 - cc: - - gcc - - clang - steps: - - name: Cancel Previous Runs - uses: thomwiggers/cancel-workflow-action@all_but_latest - with: - all_but_latest: true - access_token: ${{ github.token }} - continue-on-error: true - if: matrix.arch == 'amd64' && matrix.cc == 'gcc' - - uses: actions/checkout@v2 - with: - submodules: true - - name: Cache ccache - uses: actions/cache@v2 - env: - cache-name: cache-ccache - with: - path: /ccache - key: v1-${{ runner.os }}-build-${{ env.cache-name }}-${{ matrix.cc }}-${{ env.GITHUB_WORKFLOW }}-${{ matrix.arch }} - - name: Cache pip - uses: actions/cache@v2 - env: - cache-name: cache-python-pip - with: - path: ~/.cache/pip - key: v1-python-pip - - name: Install python dependencies - run: | - python3 -m pip install -U -r requirements.txt - - name: Run tests - run: | - cd test - python3 -m pytest --verbose --numprocesses=auto - test-emulated: - needs: - - test-native - runs-on: ubuntu-latest - strategy: - matrix: - arch: - - armhf - - unstable-ppc - cc: - - gcc - - clang - env: - CC: ${{ matrix.cc }} - steps: - - name: Register qemu-user-static - run: | - docker run --rm --privileged multiarch/qemu-user-static:register --reset - - uses: actions/checkout@v2 - with: - submodules: true - - name: Cache ccache - uses: actions/cache@v2 - env: - cache-name: cache-ccache - with: - path: ~/ccache - key: v1-${{ runner.os }}-build-${{ env.cache-name }}-${{ matrix.cc }}-${{ env.GITHUB_WORKFLOW }}-${{ matrix.arch }} - - name: Cache pip - uses: actions/cache@v2 - env: - cache-name: cache-python-pip - with: - path: ~/.cache/pip - key: v1-python-pip - - name: Run tests in container - run: | - docker run --rm -e CI -e CC -e PQCLEAN_ONLY_SCHEMES=kyber512 -v $PWD:$PWD -w $PWD -v ~/ccache:/ccache pqclean/ci-container:${{ matrix.arch }} /bin/bash -c "\ - export CCACHE_NOSTATS=1 && \ - export CCACHE_DIR=/ccache && \ - export CCACHE_SLOPPINESS=include_file_mtime && \ - export CC=\"ccache $CC\" && \ - pip3 install -U -r requirements.txt && \ - cd test && \ - python3 -m pytest --verbose --numprocesses=auto" - test-windows: - needs: - - test-native - strategy: - matrix: - bits: - - 64 - - 32 - env: - PQCLEAN_ONLY_SCHEMES: kyber512 - runs-on: windows-latest - steps: - - uses: actions/checkout@v2 - with: - submodules: true - - name: Setup astyle - run: | - # Setup strong crypto - Set-ItemProperty -Path "HKLM:\\SOFTWARE\\Wow6432Node\\Microsoft\\.NetFramework\\v4.0.30319" -Name 'SchUseStrongCrypto' -Value '1' -Type DWord - Set-ItemProperty -Path "HKLM:\\SOFTWARE\\Microsoft\\.NetFramework\\v4.0.30319" -Name "SchUseStrongCrypto" -Value '1' -Type DWord - Invoke-WebRequest -OutFile "test\\astyle.exe" "https://rded.nl/pqclean/AStyle.exe" - shell: powershell - - name: Setup Python - uses: actions/setup-python@main - with: - python-version: "3.x" - - name: Install python requirements - run: python -m pip install -U -r requirements.txt - - name: Run tests - run: | - call "C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Enterprise\\VC\\Auxiliary\\Build\\vcvars${{ matrix.bits }}.bat" - cd test - python -m pytest --verbose --numprocesses=auto - shell: cmd - test-macos: - needs: - - test-native - env: - PQCLEAN_ONLY_SCHEMES: kyber512 - CCACHE_NOSTATS: 1 - CCACHE_SLOPPINESS: include_file_mtime - # XCode version - DEVELOPER_DIR: /Applications/Xcode_11.5.app/Contents/Developer - strategy: - matrix: - compiler: - - clang # XCode (Apple LLVM/Clang) - - gcc9 # GNU (Homebrew) - runs-on: macos-latest - steps: - - uses: actions/checkout@v2 - with: - submodules: true - - name: Install astyle - run: | - brew install astyle - - name: Set up GCC9 compiler - run: 'export PATH="/usr/local/bin:$PATH" && export CC=gcc-9' - if: matrix.compiler == 'gcc9' - - name: Setup Python - uses: actions/setup-python@main - with: - python-version: "3.x" - - name: Install Python dependencies - run: python -m pip install -U -r requirements.txt - - name: Run tests - run: | - cd test - python -m pytest --verbose --numprocesses=auto - diff --git a/.github/workflows/kem_kyber768-90s.yml b/.github/workflows/kem_kyber768-90s.yml deleted file mode 100644 index 1f6657cb..00000000 --- a/.github/workflows/kem_kyber768-90s.yml +++ /dev/null @@ -1,204 +0,0 @@ -on: - push: - paths: - # build if tests change - - 'test/**' - # do not build if other schemes duplicate_consistency files change - - '!test/duplicate_consistency/*.yml' - - 'test/duplicate_consistency/kyber768-90s*.yml' - # build if common files change - - 'common/**' - # build if scheme changed - - 'crypto_kem/kyber768-90s/**' - # build if workflow file changed - - '.github/workflows/kem_kyber768-90s.yml' - # Build if any files in the root change, except .md files - - '*' - - '!*.md' - pull_request: - paths: - # build if tests change - - 'test/**' - # do not build if other schemes duplicate_consistency files change - - '!test/duplicate_consistency/*.yml' - - 'test/duplicate_consistency/kyber768-90s*.yml' - # build if common files change - - 'common/**' - # build if scheme changed - - 'crypto_kem/kyber768-90s/**' - # build if workflow file changed - - '.github/workflows/kem_kyber768-90s.yml' - # Build if any files in the root change, except .md files - - '*' - - '!*.md' - schedule: - - cron: '5 4 * * *' - -name: Test kyber768-90s - -jobs: - test-native: - runs-on: ubuntu-latest - container: - image: pqclean/ci-container:${{ matrix.arch }} - env: - PQCLEAN_ONLY_SCHEMES: kyber768-90s - CC: ccache ${{ matrix.cc }} - CCACHE_NOSTATS: 1 - CCACHE_DIR: /ccache - CCACHE_SLOPPINESS: include_file_mtime - strategy: - matrix: - arch: - - amd64 - - i386 - cc: - - gcc - - clang - steps: - - name: Cancel Previous Runs - uses: thomwiggers/cancel-workflow-action@all_but_latest - with: - all_but_latest: true - access_token: ${{ github.token }} - continue-on-error: true - if: matrix.arch == 'amd64' && matrix.cc == 'gcc' - - uses: actions/checkout@v2 - with: - submodules: true - - name: Cache ccache - uses: actions/cache@v2 - env: - cache-name: cache-ccache - with: - path: /ccache - key: v1-${{ runner.os }}-build-${{ env.cache-name }}-${{ matrix.cc }}-${{ env.GITHUB_WORKFLOW }}-${{ matrix.arch }} - - name: Cache pip - uses: actions/cache@v2 - env: - cache-name: cache-python-pip - with: - path: ~/.cache/pip - key: v1-python-pip - - name: Install python dependencies - run: | - python3 -m pip install -U -r requirements.txt - - name: Run tests - run: | - cd test - python3 -m pytest --verbose --numprocesses=auto - test-emulated: - needs: - - test-native - runs-on: ubuntu-latest - strategy: - matrix: - arch: - - armhf - - unstable-ppc - cc: - - gcc - - clang - env: - CC: ${{ matrix.cc }} - steps: - - name: Register qemu-user-static - run: | - docker run --rm --privileged multiarch/qemu-user-static:register --reset - - uses: actions/checkout@v2 - with: - submodules: true - - name: Cache ccache - uses: actions/cache@v2 - env: - cache-name: cache-ccache - with: - path: ~/ccache - key: v1-${{ runner.os }}-build-${{ env.cache-name }}-${{ matrix.cc }}-${{ env.GITHUB_WORKFLOW }}-${{ matrix.arch }} - - name: Cache pip - uses: actions/cache@v2 - env: - cache-name: cache-python-pip - with: - path: ~/.cache/pip - key: v1-python-pip - - name: Run tests in container - run: | - docker run --rm -e CI -e CC -e PQCLEAN_ONLY_SCHEMES=kyber768-90s -v $PWD:$PWD -w $PWD -v ~/ccache:/ccache pqclean/ci-container:${{ matrix.arch }} /bin/bash -c "\ - export CCACHE_NOSTATS=1 && \ - export CCACHE_DIR=/ccache && \ - export CCACHE_SLOPPINESS=include_file_mtime && \ - export CC=\"ccache $CC\" && \ - pip3 install -U -r requirements.txt && \ - cd test && \ - python3 -m pytest --verbose --numprocesses=auto" - test-windows: - needs: - - test-native - strategy: - matrix: - bits: - - 64 - - 32 - env: - PQCLEAN_ONLY_SCHEMES: kyber768-90s - runs-on: windows-latest - steps: - - uses: actions/checkout@v2 - with: - submodules: true - - name: Setup astyle - run: | - # Setup strong crypto - Set-ItemProperty -Path "HKLM:\\SOFTWARE\\Wow6432Node\\Microsoft\\.NetFramework\\v4.0.30319" -Name 'SchUseStrongCrypto' -Value '1' -Type DWord - Set-ItemProperty -Path "HKLM:\\SOFTWARE\\Microsoft\\.NetFramework\\v4.0.30319" -Name "SchUseStrongCrypto" -Value '1' -Type DWord - Invoke-WebRequest -OutFile "test\\astyle.exe" "https://rded.nl/pqclean/AStyle.exe" - shell: powershell - - name: Setup Python - uses: actions/setup-python@main - with: - python-version: "3.x" - - name: Install python requirements - run: python -m pip install -U -r requirements.txt - - name: Run tests - run: | - call "C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Enterprise\\VC\\Auxiliary\\Build\\vcvars${{ matrix.bits }}.bat" - cd test - python -m pytest --verbose --numprocesses=auto - shell: cmd - test-macos: - needs: - - test-native - env: - PQCLEAN_ONLY_SCHEMES: kyber768-90s - CCACHE_NOSTATS: 1 - CCACHE_SLOPPINESS: include_file_mtime - # XCode version - DEVELOPER_DIR: /Applications/Xcode_11.5.app/Contents/Developer - strategy: - matrix: - compiler: - - clang # XCode (Apple LLVM/Clang) - - gcc9 # GNU (Homebrew) - runs-on: macos-latest - steps: - - uses: actions/checkout@v2 - with: - submodules: true - - name: Install astyle - run: | - brew install astyle - - name: Set up GCC9 compiler - run: 'export PATH="/usr/local/bin:$PATH" && export CC=gcc-9' - if: matrix.compiler == 'gcc9' - - name: Setup Python - uses: actions/setup-python@main - with: - python-version: "3.x" - - name: Install Python dependencies - run: python -m pip install -U -r requirements.txt - - name: Run tests - run: | - cd test - python -m pytest --verbose --numprocesses=auto - diff --git a/.github/workflows/kem_kyber768.yml b/.github/workflows/kem_kyber768.yml deleted file mode 100644 index 517fbe17..00000000 --- a/.github/workflows/kem_kyber768.yml +++ /dev/null @@ -1,204 +0,0 @@ -on: - push: - paths: - # build if tests change - - 'test/**' - # do not build if other schemes duplicate_consistency files change - - '!test/duplicate_consistency/*.yml' - - 'test/duplicate_consistency/kyber768*.yml' - # build if common files change - - 'common/**' - # build if scheme changed - - 'crypto_kem/kyber768/**' - # build if workflow file changed - - '.github/workflows/kem_kyber768.yml' - # Build if any files in the root change, except .md files - - '*' - - '!*.md' - pull_request: - paths: - # build if tests change - - 'test/**' - # do not build if other schemes duplicate_consistency files change - - '!test/duplicate_consistency/*.yml' - - 'test/duplicate_consistency/kyber768*.yml' - # build if common files change - - 'common/**' - # build if scheme changed - - 'crypto_kem/kyber768/**' - # build if workflow file changed - - '.github/workflows/kem_kyber768.yml' - # Build if any files in the root change, except .md files - - '*' - - '!*.md' - schedule: - - cron: '5 4 * * *' - -name: Test kyber768 - -jobs: - test-native: - runs-on: ubuntu-latest - container: - image: pqclean/ci-container:${{ matrix.arch }} - env: - PQCLEAN_ONLY_SCHEMES: kyber768 - CC: ccache ${{ matrix.cc }} - CCACHE_NOSTATS: 1 - CCACHE_DIR: /ccache - CCACHE_SLOPPINESS: include_file_mtime - strategy: - matrix: - arch: - - amd64 - - i386 - cc: - - gcc - - clang - steps: - - name: Cancel Previous Runs - uses: thomwiggers/cancel-workflow-action@all_but_latest - with: - all_but_latest: true - access_token: ${{ github.token }} - continue-on-error: true - if: matrix.arch == 'amd64' && matrix.cc == 'gcc' - - uses: actions/checkout@v2 - with: - submodules: true - - name: Cache ccache - uses: actions/cache@v2 - env: - cache-name: cache-ccache - with: - path: /ccache - key: v1-${{ runner.os }}-build-${{ env.cache-name }}-${{ matrix.cc }}-${{ env.GITHUB_WORKFLOW }}-${{ matrix.arch }} - - name: Cache pip - uses: actions/cache@v2 - env: - cache-name: cache-python-pip - with: - path: ~/.cache/pip - key: v1-python-pip - - name: Install python dependencies - run: | - python3 -m pip install -U -r requirements.txt - - name: Run tests - run: | - cd test - python3 -m pytest --verbose --numprocesses=auto - test-emulated: - needs: - - test-native - runs-on: ubuntu-latest - strategy: - matrix: - arch: - - armhf - - unstable-ppc - cc: - - gcc - - clang - env: - CC: ${{ matrix.cc }} - steps: - - name: Register qemu-user-static - run: | - docker run --rm --privileged multiarch/qemu-user-static:register --reset - - uses: actions/checkout@v2 - with: - submodules: true - - name: Cache ccache - uses: actions/cache@v2 - env: - cache-name: cache-ccache - with: - path: ~/ccache - key: v1-${{ runner.os }}-build-${{ env.cache-name }}-${{ matrix.cc }}-${{ env.GITHUB_WORKFLOW }}-${{ matrix.arch }} - - name: Cache pip - uses: actions/cache@v2 - env: - cache-name: cache-python-pip - with: - path: ~/.cache/pip - key: v1-python-pip - - name: Run tests in container - run: | - docker run --rm -e CI -e CC -e PQCLEAN_ONLY_SCHEMES=kyber768 -v $PWD:$PWD -w $PWD -v ~/ccache:/ccache pqclean/ci-container:${{ matrix.arch }} /bin/bash -c "\ - export CCACHE_NOSTATS=1 && \ - export CCACHE_DIR=/ccache && \ - export CCACHE_SLOPPINESS=include_file_mtime && \ - export CC=\"ccache $CC\" && \ - pip3 install -U -r requirements.txt && \ - cd test && \ - python3 -m pytest --verbose --numprocesses=auto" - test-windows: - needs: - - test-native - strategy: - matrix: - bits: - - 64 - - 32 - env: - PQCLEAN_ONLY_SCHEMES: kyber768 - runs-on: windows-latest - steps: - - uses: actions/checkout@v2 - with: - submodules: true - - name: Setup astyle - run: | - # Setup strong crypto - Set-ItemProperty -Path "HKLM:\\SOFTWARE\\Wow6432Node\\Microsoft\\.NetFramework\\v4.0.30319" -Name 'SchUseStrongCrypto' -Value '1' -Type DWord - Set-ItemProperty -Path "HKLM:\\SOFTWARE\\Microsoft\\.NetFramework\\v4.0.30319" -Name "SchUseStrongCrypto" -Value '1' -Type DWord - Invoke-WebRequest -OutFile "test\\astyle.exe" "https://rded.nl/pqclean/AStyle.exe" - shell: powershell - - name: Setup Python - uses: actions/setup-python@main - with: - python-version: "3.x" - - name: Install python requirements - run: python -m pip install -U -r requirements.txt - - name: Run tests - run: | - call "C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Enterprise\\VC\\Auxiliary\\Build\\vcvars${{ matrix.bits }}.bat" - cd test - python -m pytest --verbose --numprocesses=auto - shell: cmd - test-macos: - needs: - - test-native - env: - PQCLEAN_ONLY_SCHEMES: kyber768 - CCACHE_NOSTATS: 1 - CCACHE_SLOPPINESS: include_file_mtime - # XCode version - DEVELOPER_DIR: /Applications/Xcode_11.5.app/Contents/Developer - strategy: - matrix: - compiler: - - clang # XCode (Apple LLVM/Clang) - - gcc9 # GNU (Homebrew) - runs-on: macos-latest - steps: - - uses: actions/checkout@v2 - with: - submodules: true - - name: Install astyle - run: | - brew install astyle - - name: Set up GCC9 compiler - run: 'export PATH="/usr/local/bin:$PATH" && export CC=gcc-9' - if: matrix.compiler == 'gcc9' - - name: Setup Python - uses: actions/setup-python@main - with: - python-version: "3.x" - - name: Install Python dependencies - run: python -m pip install -U -r requirements.txt - - name: Run tests - run: | - cd test - python -m pytest --verbose --numprocesses=auto - diff --git a/.github/workflows/kem_lightsaber.yml b/.github/workflows/kem_lightsaber.yml deleted file mode 100644 index 28cea1a4..00000000 --- a/.github/workflows/kem_lightsaber.yml +++ /dev/null @@ -1,204 +0,0 @@ -on: - push: - paths: - # build if tests change - - 'test/**' - # do not build if other schemes duplicate_consistency files change - - '!test/duplicate_consistency/*.yml' - - 'test/duplicate_consistency/lightsaber*.yml' - # build if common files change - - 'common/**' - # build if scheme changed - - 'crypto_kem/lightsaber/**' - # build if workflow file changed - - '.github/workflows/kem_lightsaber.yml' - # Build if any files in the root change, except .md files - - '*' - - '!*.md' - pull_request: - paths: - # build if tests change - - 'test/**' - # do not build if other schemes duplicate_consistency files change - - '!test/duplicate_consistency/*.yml' - - 'test/duplicate_consistency/lightsaber*.yml' - # build if common files change - - 'common/**' - # build if scheme changed - - 'crypto_kem/lightsaber/**' - # build if workflow file changed - - '.github/workflows/kem_lightsaber.yml' - # Build if any files in the root change, except .md files - - '*' - - '!*.md' - schedule: - - cron: '5 4 * * *' - -name: Test lightsaber - -jobs: - test-native: - runs-on: ubuntu-latest - container: - image: pqclean/ci-container:${{ matrix.arch }} - env: - PQCLEAN_ONLY_SCHEMES: lightsaber - CC: ccache ${{ matrix.cc }} - CCACHE_NOSTATS: 1 - CCACHE_DIR: /ccache - CCACHE_SLOPPINESS: include_file_mtime - strategy: - matrix: - arch: - - amd64 - - i386 - cc: - - gcc - - clang - steps: - - name: Cancel Previous Runs - uses: thomwiggers/cancel-workflow-action@all_but_latest - with: - all_but_latest: true - access_token: ${{ github.token }} - continue-on-error: true - if: matrix.arch == 'amd64' && matrix.cc == 'gcc' - - uses: actions/checkout@v2 - with: - submodules: true - - name: Cache ccache - uses: actions/cache@v2 - env: - cache-name: cache-ccache - with: - path: /ccache - key: v1-${{ runner.os }}-build-${{ env.cache-name }}-${{ matrix.cc }}-${{ env.GITHUB_WORKFLOW }}-${{ matrix.arch }} - - name: Cache pip - uses: actions/cache@v2 - env: - cache-name: cache-python-pip - with: - path: ~/.cache/pip - key: v1-python-pip - - name: Install python dependencies - run: | - python3 -m pip install -U -r requirements.txt - - name: Run tests - run: | - cd test - python3 -m pytest --verbose --numprocesses=auto - test-emulated: - needs: - - test-native - runs-on: ubuntu-latest - strategy: - matrix: - arch: - - armhf - - unstable-ppc - cc: - - gcc - - clang - env: - CC: ${{ matrix.cc }} - steps: - - name: Register qemu-user-static - run: | - docker run --rm --privileged multiarch/qemu-user-static:register --reset - - uses: actions/checkout@v2 - with: - submodules: true - - name: Cache ccache - uses: actions/cache@v2 - env: - cache-name: cache-ccache - with: - path: ~/ccache - key: v1-${{ runner.os }}-build-${{ env.cache-name }}-${{ matrix.cc }}-${{ env.GITHUB_WORKFLOW }}-${{ matrix.arch }} - - name: Cache pip - uses: actions/cache@v2 - env: - cache-name: cache-python-pip - with: - path: ~/.cache/pip - key: v1-python-pip - - name: Run tests in container - run: | - docker run --rm -e CI -e CC -e PQCLEAN_ONLY_SCHEMES=lightsaber -v $PWD:$PWD -w $PWD -v ~/ccache:/ccache pqclean/ci-container:${{ matrix.arch }} /bin/bash -c "\ - export CCACHE_NOSTATS=1 && \ - export CCACHE_DIR=/ccache && \ - export CCACHE_SLOPPINESS=include_file_mtime && \ - export CC=\"ccache $CC\" && \ - pip3 install -U -r requirements.txt && \ - cd test && \ - python3 -m pytest --verbose --numprocesses=auto" - test-windows: - needs: - - test-native - strategy: - matrix: - bits: - - 64 - - 32 - env: - PQCLEAN_ONLY_SCHEMES: lightsaber - runs-on: windows-latest - steps: - - uses: actions/checkout@v2 - with: - submodules: true - - name: Setup astyle - run: | - # Setup strong crypto - Set-ItemProperty -Path "HKLM:\\SOFTWARE\\Wow6432Node\\Microsoft\\.NetFramework\\v4.0.30319" -Name 'SchUseStrongCrypto' -Value '1' -Type DWord - Set-ItemProperty -Path "HKLM:\\SOFTWARE\\Microsoft\\.NetFramework\\v4.0.30319" -Name "SchUseStrongCrypto" -Value '1' -Type DWord - Invoke-WebRequest -OutFile "test\\astyle.exe" "https://rded.nl/pqclean/AStyle.exe" - shell: powershell - - name: Setup Python - uses: actions/setup-python@main - with: - python-version: "3.x" - - name: Install python requirements - run: python -m pip install -U -r requirements.txt - - name: Run tests - run: | - call "C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Enterprise\\VC\\Auxiliary\\Build\\vcvars${{ matrix.bits }}.bat" - cd test - python -m pytest --verbose --numprocesses=auto - shell: cmd - test-macos: - needs: - - test-native - env: - PQCLEAN_ONLY_SCHEMES: lightsaber - CCACHE_NOSTATS: 1 - CCACHE_SLOPPINESS: include_file_mtime - # XCode version - DEVELOPER_DIR: /Applications/Xcode_11.5.app/Contents/Developer - strategy: - matrix: - compiler: - - clang # XCode (Apple LLVM/Clang) - - gcc9 # GNU (Homebrew) - runs-on: macos-latest - steps: - - uses: actions/checkout@v2 - with: - submodules: true - - name: Install astyle - run: | - brew install astyle - - name: Set up GCC9 compiler - run: 'export PATH="/usr/local/bin:$PATH" && export CC=gcc-9' - if: matrix.compiler == 'gcc9' - - name: Setup Python - uses: actions/setup-python@main - with: - python-version: "3.x" - - name: Install Python dependencies - run: python -m pip install -U -r requirements.txt - - name: Run tests - run: | - cd test - python -m pytest --verbose --numprocesses=auto - diff --git a/.github/workflows/kem_mceliece348864.yml b/.github/workflows/kem_mceliece348864.yml deleted file mode 100644 index 679784ad..00000000 --- a/.github/workflows/kem_mceliece348864.yml +++ /dev/null @@ -1,204 +0,0 @@ -on: - push: - paths: - # build if tests change - - 'test/**' - # do not build if other schemes duplicate_consistency files change - - '!test/duplicate_consistency/*.yml' - - 'test/duplicate_consistency/mceliece348864*.yml' - # build if common files change - - 'common/**' - # build if scheme changed - - 'crypto_kem/mceliece348864/**' - # build if workflow file changed - - '.github/workflows/kem_mceliece348864.yml' - # Build if any files in the root change, except .md files - - '*' - - '!*.md' - pull_request: - paths: - # build if tests change - - 'test/**' - # do not build if other schemes duplicate_consistency files change - - '!test/duplicate_consistency/*.yml' - - 'test/duplicate_consistency/mceliece348864*.yml' - # build if common files change - - 'common/**' - # build if scheme changed - - 'crypto_kem/mceliece348864/**' - # build if workflow file changed - - '.github/workflows/kem_mceliece348864.yml' - # Build if any files in the root change, except .md files - - '*' - - '!*.md' - schedule: - - cron: '5 4 * * *' - -name: Test mceliece348864 - -jobs: - test-native: - runs-on: ubuntu-latest - container: - image: pqclean/ci-container:${{ matrix.arch }} - env: - PQCLEAN_ONLY_SCHEMES: mceliece348864 - CC: ccache ${{ matrix.cc }} - CCACHE_NOSTATS: 1 - CCACHE_DIR: /ccache - CCACHE_SLOPPINESS: include_file_mtime - strategy: - matrix: - arch: - - amd64 - - i386 - cc: - - gcc - - clang - steps: - - name: Cancel Previous Runs - uses: thomwiggers/cancel-workflow-action@all_but_latest - with: - all_but_latest: true - access_token: ${{ github.token }} - continue-on-error: true - if: matrix.arch == 'amd64' && matrix.cc == 'gcc' - - uses: actions/checkout@v2 - with: - submodules: true - - name: Cache ccache - uses: actions/cache@v2 - env: - cache-name: cache-ccache - with: - path: /ccache - key: v1-${{ runner.os }}-build-${{ env.cache-name }}-${{ matrix.cc }}-${{ env.GITHUB_WORKFLOW }}-${{ matrix.arch }} - - name: Cache pip - uses: actions/cache@v2 - env: - cache-name: cache-python-pip - with: - path: ~/.cache/pip - key: v1-python-pip - - name: Install python dependencies - run: | - python3 -m pip install -U -r requirements.txt - - name: Run tests - run: | - cd test - python3 -m pytest --verbose --numprocesses=auto - test-emulated: - needs: - - test-native - runs-on: ubuntu-latest - strategy: - matrix: - arch: - - armhf - - unstable-ppc - cc: - - gcc - - clang - env: - CC: ${{ matrix.cc }} - steps: - - name: Register qemu-user-static - run: | - docker run --rm --privileged multiarch/qemu-user-static:register --reset - - uses: actions/checkout@v2 - with: - submodules: true - - name: Cache ccache - uses: actions/cache@v2 - env: - cache-name: cache-ccache - with: - path: ~/ccache - key: v1-${{ runner.os }}-build-${{ env.cache-name }}-${{ matrix.cc }}-${{ env.GITHUB_WORKFLOW }}-${{ matrix.arch }} - - name: Cache pip - uses: actions/cache@v2 - env: - cache-name: cache-python-pip - with: - path: ~/.cache/pip - key: v1-python-pip - - name: Run tests in container - run: | - docker run --rm -e CI -e CC -e PQCLEAN_ONLY_SCHEMES=mceliece348864 -v $PWD:$PWD -w $PWD -v ~/ccache:/ccache pqclean/ci-container:${{ matrix.arch }} /bin/bash -c "\ - export CCACHE_NOSTATS=1 && \ - export CCACHE_DIR=/ccache && \ - export CCACHE_SLOPPINESS=include_file_mtime && \ - export CC=\"ccache $CC\" && \ - pip3 install -U -r requirements.txt && \ - cd test && \ - python3 -m pytest --verbose --numprocesses=auto" - test-windows: - needs: - - test-native - strategy: - matrix: - bits: - - 64 - - 32 - env: - PQCLEAN_ONLY_SCHEMES: mceliece348864 - runs-on: windows-latest - steps: - - uses: actions/checkout@v2 - with: - submodules: true - - name: Setup astyle - run: | - # Setup strong crypto - Set-ItemProperty -Path "HKLM:\\SOFTWARE\\Wow6432Node\\Microsoft\\.NetFramework\\v4.0.30319" -Name 'SchUseStrongCrypto' -Value '1' -Type DWord - Set-ItemProperty -Path "HKLM:\\SOFTWARE\\Microsoft\\.NetFramework\\v4.0.30319" -Name "SchUseStrongCrypto" -Value '1' -Type DWord - Invoke-WebRequest -OutFile "test\\astyle.exe" "https://rded.nl/pqclean/AStyle.exe" - shell: powershell - - name: Setup Python - uses: actions/setup-python@main - with: - python-version: "3.x" - - name: Install python requirements - run: python -m pip install -U -r requirements.txt - - name: Run tests - run: | - call "C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Enterprise\\VC\\Auxiliary\\Build\\vcvars${{ matrix.bits }}.bat" - cd test - python -m pytest --verbose --numprocesses=auto - shell: cmd - test-macos: - needs: - - test-native - env: - PQCLEAN_ONLY_SCHEMES: mceliece348864 - CCACHE_NOSTATS: 1 - CCACHE_SLOPPINESS: include_file_mtime - # XCode version - DEVELOPER_DIR: /Applications/Xcode_11.5.app/Contents/Developer - strategy: - matrix: - compiler: - - clang # XCode (Apple LLVM/Clang) - - gcc9 # GNU (Homebrew) - runs-on: macos-latest - steps: - - uses: actions/checkout@v2 - with: - submodules: true - - name: Install astyle - run: | - brew install astyle - - name: Set up GCC9 compiler - run: 'export PATH="/usr/local/bin:$PATH" && export CC=gcc-9' - if: matrix.compiler == 'gcc9' - - name: Setup Python - uses: actions/setup-python@main - with: - python-version: "3.x" - - name: Install Python dependencies - run: python -m pip install -U -r requirements.txt - - name: Run tests - run: | - cd test - python -m pytest --verbose --numprocesses=auto - diff --git a/.github/workflows/kem_mceliece348864f.yml b/.github/workflows/kem_mceliece348864f.yml deleted file mode 100644 index 85f48883..00000000 --- a/.github/workflows/kem_mceliece348864f.yml +++ /dev/null @@ -1,204 +0,0 @@ -on: - push: - paths: - # build if tests change - - 'test/**' - # do not build if other schemes duplicate_consistency files change - - '!test/duplicate_consistency/*.yml' - - 'test/duplicate_consistency/mceliece348864f*.yml' - # build if common files change - - 'common/**' - # build if scheme changed - - 'crypto_kem/mceliece348864f/**' - # build if workflow file changed - - '.github/workflows/kem_mceliece348864f.yml' - # Build if any files in the root change, except .md files - - '*' - - '!*.md' - pull_request: - paths: - # build if tests change - - 'test/**' - # do not build if other schemes duplicate_consistency files change - - '!test/duplicate_consistency/*.yml' - - 'test/duplicate_consistency/mceliece348864f*.yml' - # build if common files change - - 'common/**' - # build if scheme changed - - 'crypto_kem/mceliece348864f/**' - # build if workflow file changed - - '.github/workflows/kem_mceliece348864f.yml' - # Build if any files in the root change, except .md files - - '*' - - '!*.md' - schedule: - - cron: '5 4 * * *' - -name: Test mceliece348864f - -jobs: - test-native: - runs-on: ubuntu-latest - container: - image: pqclean/ci-container:${{ matrix.arch }} - env: - PQCLEAN_ONLY_SCHEMES: mceliece348864f - CC: ccache ${{ matrix.cc }} - CCACHE_NOSTATS: 1 - CCACHE_DIR: /ccache - CCACHE_SLOPPINESS: include_file_mtime - strategy: - matrix: - arch: - - amd64 - - i386 - cc: - - gcc - - clang - steps: - - name: Cancel Previous Runs - uses: thomwiggers/cancel-workflow-action@all_but_latest - with: - all_but_latest: true - access_token: ${{ github.token }} - continue-on-error: true - if: matrix.arch == 'amd64' && matrix.cc == 'gcc' - - uses: actions/checkout@v2 - with: - submodules: true - - name: Cache ccache - uses: actions/cache@v2 - env: - cache-name: cache-ccache - with: - path: /ccache - key: v1-${{ runner.os }}-build-${{ env.cache-name }}-${{ matrix.cc }}-${{ env.GITHUB_WORKFLOW }}-${{ matrix.arch }} - - name: Cache pip - uses: actions/cache@v2 - env: - cache-name: cache-python-pip - with: - path: ~/.cache/pip - key: v1-python-pip - - name: Install python dependencies - run: | - python3 -m pip install -U -r requirements.txt - - name: Run tests - run: | - cd test - python3 -m pytest --verbose --numprocesses=auto - test-emulated: - needs: - - test-native - runs-on: ubuntu-latest - strategy: - matrix: - arch: - - armhf - - unstable-ppc - cc: - - gcc - - clang - env: - CC: ${{ matrix.cc }} - steps: - - name: Register qemu-user-static - run: | - docker run --rm --privileged multiarch/qemu-user-static:register --reset - - uses: actions/checkout@v2 - with: - submodules: true - - name: Cache ccache - uses: actions/cache@v2 - env: - cache-name: cache-ccache - with: - path: ~/ccache - key: v1-${{ runner.os }}-build-${{ env.cache-name }}-${{ matrix.cc }}-${{ env.GITHUB_WORKFLOW }}-${{ matrix.arch }} - - name: Cache pip - uses: actions/cache@v2 - env: - cache-name: cache-python-pip - with: - path: ~/.cache/pip - key: v1-python-pip - - name: Run tests in container - run: | - docker run --rm -e CI -e CC -e PQCLEAN_ONLY_SCHEMES=mceliece348864f -v $PWD:$PWD -w $PWD -v ~/ccache:/ccache pqclean/ci-container:${{ matrix.arch }} /bin/bash -c "\ - export CCACHE_NOSTATS=1 && \ - export CCACHE_DIR=/ccache && \ - export CCACHE_SLOPPINESS=include_file_mtime && \ - export CC=\"ccache $CC\" && \ - pip3 install -U -r requirements.txt && \ - cd test && \ - python3 -m pytest --verbose --numprocesses=auto" - test-windows: - needs: - - test-native - strategy: - matrix: - bits: - - 64 - - 32 - env: - PQCLEAN_ONLY_SCHEMES: mceliece348864f - runs-on: windows-latest - steps: - - uses: actions/checkout@v2 - with: - submodules: true - - name: Setup astyle - run: | - # Setup strong crypto - Set-ItemProperty -Path "HKLM:\\SOFTWARE\\Wow6432Node\\Microsoft\\.NetFramework\\v4.0.30319" -Name 'SchUseStrongCrypto' -Value '1' -Type DWord - Set-ItemProperty -Path "HKLM:\\SOFTWARE\\Microsoft\\.NetFramework\\v4.0.30319" -Name "SchUseStrongCrypto" -Value '1' -Type DWord - Invoke-WebRequest -OutFile "test\\astyle.exe" "https://rded.nl/pqclean/AStyle.exe" - shell: powershell - - name: Setup Python - uses: actions/setup-python@main - with: - python-version: "3.x" - - name: Install python requirements - run: python -m pip install -U -r requirements.txt - - name: Run tests - run: | - call "C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Enterprise\\VC\\Auxiliary\\Build\\vcvars${{ matrix.bits }}.bat" - cd test - python -m pytest --verbose --numprocesses=auto - shell: cmd - test-macos: - needs: - - test-native - env: - PQCLEAN_ONLY_SCHEMES: mceliece348864f - CCACHE_NOSTATS: 1 - CCACHE_SLOPPINESS: include_file_mtime - # XCode version - DEVELOPER_DIR: /Applications/Xcode_11.5.app/Contents/Developer - strategy: - matrix: - compiler: - - clang # XCode (Apple LLVM/Clang) - - gcc9 # GNU (Homebrew) - runs-on: macos-latest - steps: - - uses: actions/checkout@v2 - with: - submodules: true - - name: Install astyle - run: | - brew install astyle - - name: Set up GCC9 compiler - run: 'export PATH="/usr/local/bin:$PATH" && export CC=gcc-9' - if: matrix.compiler == 'gcc9' - - name: Setup Python - uses: actions/setup-python@main - with: - python-version: "3.x" - - name: Install Python dependencies - run: python -m pip install -U -r requirements.txt - - name: Run tests - run: | - cd test - python -m pytest --verbose --numprocesses=auto - diff --git a/.github/workflows/kem_mceliece460896.yml b/.github/workflows/kem_mceliece460896.yml deleted file mode 100644 index ea9cacca..00000000 --- a/.github/workflows/kem_mceliece460896.yml +++ /dev/null @@ -1,204 +0,0 @@ -on: - push: - paths: - # build if tests change - - 'test/**' - # do not build if other schemes duplicate_consistency files change - - '!test/duplicate_consistency/*.yml' - - 'test/duplicate_consistency/mceliece460896*.yml' - # build if common files change - - 'common/**' - # build if scheme changed - - 'crypto_kem/mceliece460896/**' - # build if workflow file changed - - '.github/workflows/kem_mceliece460896.yml' - # Build if any files in the root change, except .md files - - '*' - - '!*.md' - pull_request: - paths: - # build if tests change - - 'test/**' - # do not build if other schemes duplicate_consistency files change - - '!test/duplicate_consistency/*.yml' - - 'test/duplicate_consistency/mceliece460896*.yml' - # build if common files change - - 'common/**' - # build if scheme changed - - 'crypto_kem/mceliece460896/**' - # build if workflow file changed - - '.github/workflows/kem_mceliece460896.yml' - # Build if any files in the root change, except .md files - - '*' - - '!*.md' - schedule: - - cron: '5 4 * * *' - -name: Test mceliece460896 - -jobs: - test-native: - runs-on: ubuntu-latest - container: - image: pqclean/ci-container:${{ matrix.arch }} - env: - PQCLEAN_ONLY_SCHEMES: mceliece460896 - CC: ccache ${{ matrix.cc }} - CCACHE_NOSTATS: 1 - CCACHE_DIR: /ccache - CCACHE_SLOPPINESS: include_file_mtime - strategy: - matrix: - arch: - - amd64 - - i386 - cc: - - gcc - - clang - steps: - - name: Cancel Previous Runs - uses: thomwiggers/cancel-workflow-action@all_but_latest - with: - all_but_latest: true - access_token: ${{ github.token }} - continue-on-error: true - if: matrix.arch == 'amd64' && matrix.cc == 'gcc' - - uses: actions/checkout@v2 - with: - submodules: true - - name: Cache ccache - uses: actions/cache@v2 - env: - cache-name: cache-ccache - with: - path: /ccache - key: v1-${{ runner.os }}-build-${{ env.cache-name }}-${{ matrix.cc }}-${{ env.GITHUB_WORKFLOW }}-${{ matrix.arch }} - - name: Cache pip - uses: actions/cache@v2 - env: - cache-name: cache-python-pip - with: - path: ~/.cache/pip - key: v1-python-pip - - name: Install python dependencies - run: | - python3 -m pip install -U -r requirements.txt - - name: Run tests - run: | - cd test - python3 -m pytest --verbose --numprocesses=auto - test-emulated: - needs: - - test-native - runs-on: ubuntu-latest - strategy: - matrix: - arch: - - armhf - - unstable-ppc - cc: - - gcc - - clang - env: - CC: ${{ matrix.cc }} - steps: - - name: Register qemu-user-static - run: | - docker run --rm --privileged multiarch/qemu-user-static:register --reset - - uses: actions/checkout@v2 - with: - submodules: true - - name: Cache ccache - uses: actions/cache@v2 - env: - cache-name: cache-ccache - with: - path: ~/ccache - key: v1-${{ runner.os }}-build-${{ env.cache-name }}-${{ matrix.cc }}-${{ env.GITHUB_WORKFLOW }}-${{ matrix.arch }} - - name: Cache pip - uses: actions/cache@v2 - env: - cache-name: cache-python-pip - with: - path: ~/.cache/pip - key: v1-python-pip - - name: Run tests in container - run: | - docker run --rm -e CI -e CC -e PQCLEAN_ONLY_SCHEMES=mceliece460896 -v $PWD:$PWD -w $PWD -v ~/ccache:/ccache pqclean/ci-container:${{ matrix.arch }} /bin/bash -c "\ - export CCACHE_NOSTATS=1 && \ - export CCACHE_DIR=/ccache && \ - export CCACHE_SLOPPINESS=include_file_mtime && \ - export CC=\"ccache $CC\" && \ - pip3 install -U -r requirements.txt && \ - cd test && \ - python3 -m pytest --verbose --numprocesses=auto" - test-windows: - needs: - - test-native - strategy: - matrix: - bits: - - 64 - - 32 - env: - PQCLEAN_ONLY_SCHEMES: mceliece460896 - runs-on: windows-latest - steps: - - uses: actions/checkout@v2 - with: - submodules: true - - name: Setup astyle - run: | - # Setup strong crypto - Set-ItemProperty -Path "HKLM:\\SOFTWARE\\Wow6432Node\\Microsoft\\.NetFramework\\v4.0.30319" -Name 'SchUseStrongCrypto' -Value '1' -Type DWord - Set-ItemProperty -Path "HKLM:\\SOFTWARE\\Microsoft\\.NetFramework\\v4.0.30319" -Name "SchUseStrongCrypto" -Value '1' -Type DWord - Invoke-WebRequest -OutFile "test\\astyle.exe" "https://rded.nl/pqclean/AStyle.exe" - shell: powershell - - name: Setup Python - uses: actions/setup-python@main - with: - python-version: "3.x" - - name: Install python requirements - run: python -m pip install -U -r requirements.txt - - name: Run tests - run: | - call "C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Enterprise\\VC\\Auxiliary\\Build\\vcvars${{ matrix.bits }}.bat" - cd test - python -m pytest --verbose --numprocesses=auto - shell: cmd - test-macos: - needs: - - test-native - env: - PQCLEAN_ONLY_SCHEMES: mceliece460896 - CCACHE_NOSTATS: 1 - CCACHE_SLOPPINESS: include_file_mtime - # XCode version - DEVELOPER_DIR: /Applications/Xcode_11.5.app/Contents/Developer - strategy: - matrix: - compiler: - - clang # XCode (Apple LLVM/Clang) - - gcc9 # GNU (Homebrew) - runs-on: macos-latest - steps: - - uses: actions/checkout@v2 - with: - submodules: true - - name: Install astyle - run: | - brew install astyle - - name: Set up GCC9 compiler - run: 'export PATH="/usr/local/bin:$PATH" && export CC=gcc-9' - if: matrix.compiler == 'gcc9' - - name: Setup Python - uses: actions/setup-python@main - with: - python-version: "3.x" - - name: Install Python dependencies - run: python -m pip install -U -r requirements.txt - - name: Run tests - run: | - cd test - python -m pytest --verbose --numprocesses=auto - diff --git a/.github/workflows/kem_mceliece460896f.yml b/.github/workflows/kem_mceliece460896f.yml deleted file mode 100644 index c1de6a86..00000000 --- a/.github/workflows/kem_mceliece460896f.yml +++ /dev/null @@ -1,204 +0,0 @@ -on: - push: - paths: - # build if tests change - - 'test/**' - # do not build if other schemes duplicate_consistency files change - - '!test/duplicate_consistency/*.yml' - - 'test/duplicate_consistency/mceliece460896f*.yml' - # build if common files change - - 'common/**' - # build if scheme changed - - 'crypto_kem/mceliece460896f/**' - # build if workflow file changed - - '.github/workflows/kem_mceliece460896f.yml' - # Build if any files in the root change, except .md files - - '*' - - '!*.md' - pull_request: - paths: - # build if tests change - - 'test/**' - # do not build if other schemes duplicate_consistency files change - - '!test/duplicate_consistency/*.yml' - - 'test/duplicate_consistency/mceliece460896f*.yml' - # build if common files change - - 'common/**' - # build if scheme changed - - 'crypto_kem/mceliece460896f/**' - # build if workflow file changed - - '.github/workflows/kem_mceliece460896f.yml' - # Build if any files in the root change, except .md files - - '*' - - '!*.md' - schedule: - - cron: '5 4 * * *' - -name: Test mceliece460896f - -jobs: - test-native: - runs-on: ubuntu-latest - container: - image: pqclean/ci-container:${{ matrix.arch }} - env: - PQCLEAN_ONLY_SCHEMES: mceliece460896f - CC: ccache ${{ matrix.cc }} - CCACHE_NOSTATS: 1 - CCACHE_DIR: /ccache - CCACHE_SLOPPINESS: include_file_mtime - strategy: - matrix: - arch: - - amd64 - - i386 - cc: - - gcc - - clang - steps: - - name: Cancel Previous Runs - uses: thomwiggers/cancel-workflow-action@all_but_latest - with: - all_but_latest: true - access_token: ${{ github.token }} - continue-on-error: true - if: matrix.arch == 'amd64' && matrix.cc == 'gcc' - - uses: actions/checkout@v2 - with: - submodules: true - - name: Cache ccache - uses: actions/cache@v2 - env: - cache-name: cache-ccache - with: - path: /ccache - key: v1-${{ runner.os }}-build-${{ env.cache-name }}-${{ matrix.cc }}-${{ env.GITHUB_WORKFLOW }}-${{ matrix.arch }} - - name: Cache pip - uses: actions/cache@v2 - env: - cache-name: cache-python-pip - with: - path: ~/.cache/pip - key: v1-python-pip - - name: Install python dependencies - run: | - python3 -m pip install -U -r requirements.txt - - name: Run tests - run: | - cd test - python3 -m pytest --verbose --numprocesses=auto - test-emulated: - needs: - - test-native - runs-on: ubuntu-latest - strategy: - matrix: - arch: - - armhf - - unstable-ppc - cc: - - gcc - - clang - env: - CC: ${{ matrix.cc }} - steps: - - name: Register qemu-user-static - run: | - docker run --rm --privileged multiarch/qemu-user-static:register --reset - - uses: actions/checkout@v2 - with: - submodules: true - - name: Cache ccache - uses: actions/cache@v2 - env: - cache-name: cache-ccache - with: - path: ~/ccache - key: v1-${{ runner.os }}-build-${{ env.cache-name }}-${{ matrix.cc }}-${{ env.GITHUB_WORKFLOW }}-${{ matrix.arch }} - - name: Cache pip - uses: actions/cache@v2 - env: - cache-name: cache-python-pip - with: - path: ~/.cache/pip - key: v1-python-pip - - name: Run tests in container - run: | - docker run --rm -e CI -e CC -e PQCLEAN_ONLY_SCHEMES=mceliece460896f -v $PWD:$PWD -w $PWD -v ~/ccache:/ccache pqclean/ci-container:${{ matrix.arch }} /bin/bash -c "\ - export CCACHE_NOSTATS=1 && \ - export CCACHE_DIR=/ccache && \ - export CCACHE_SLOPPINESS=include_file_mtime && \ - export CC=\"ccache $CC\" && \ - pip3 install -U -r requirements.txt && \ - cd test && \ - python3 -m pytest --verbose --numprocesses=auto" - test-windows: - needs: - - test-native - strategy: - matrix: - bits: - - 64 - - 32 - env: - PQCLEAN_ONLY_SCHEMES: mceliece460896f - runs-on: windows-latest - steps: - - uses: actions/checkout@v2 - with: - submodules: true - - name: Setup astyle - run: | - # Setup strong crypto - Set-ItemProperty -Path "HKLM:\\SOFTWARE\\Wow6432Node\\Microsoft\\.NetFramework\\v4.0.30319" -Name 'SchUseStrongCrypto' -Value '1' -Type DWord - Set-ItemProperty -Path "HKLM:\\SOFTWARE\\Microsoft\\.NetFramework\\v4.0.30319" -Name "SchUseStrongCrypto" -Value '1' -Type DWord - Invoke-WebRequest -OutFile "test\\astyle.exe" "https://rded.nl/pqclean/AStyle.exe" - shell: powershell - - name: Setup Python - uses: actions/setup-python@main - with: - python-version: "3.x" - - name: Install python requirements - run: python -m pip install -U -r requirements.txt - - name: Run tests - run: | - call "C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Enterprise\\VC\\Auxiliary\\Build\\vcvars${{ matrix.bits }}.bat" - cd test - python -m pytest --verbose --numprocesses=auto - shell: cmd - test-macos: - needs: - - test-native - env: - PQCLEAN_ONLY_SCHEMES: mceliece460896f - CCACHE_NOSTATS: 1 - CCACHE_SLOPPINESS: include_file_mtime - # XCode version - DEVELOPER_DIR: /Applications/Xcode_11.5.app/Contents/Developer - strategy: - matrix: - compiler: - - clang # XCode (Apple LLVM/Clang) - - gcc9 # GNU (Homebrew) - runs-on: macos-latest - steps: - - uses: actions/checkout@v2 - with: - submodules: true - - name: Install astyle - run: | - brew install astyle - - name: Set up GCC9 compiler - run: 'export PATH="/usr/local/bin:$PATH" && export CC=gcc-9' - if: matrix.compiler == 'gcc9' - - name: Setup Python - uses: actions/setup-python@main - with: - python-version: "3.x" - - name: Install Python dependencies - run: python -m pip install -U -r requirements.txt - - name: Run tests - run: | - cd test - python -m pytest --verbose --numprocesses=auto - diff --git a/.github/workflows/kem_mceliece6688128.yml b/.github/workflows/kem_mceliece6688128.yml deleted file mode 100644 index 214e1e4a..00000000 --- a/.github/workflows/kem_mceliece6688128.yml +++ /dev/null @@ -1,204 +0,0 @@ -on: - push: - paths: - # build if tests change - - 'test/**' - # do not build if other schemes duplicate_consistency files change - - '!test/duplicate_consistency/*.yml' - - 'test/duplicate_consistency/mceliece6688128*.yml' - # build if common files change - - 'common/**' - # build if scheme changed - - 'crypto_kem/mceliece6688128/**' - # build if workflow file changed - - '.github/workflows/kem_mceliece6688128.yml' - # Build if any files in the root change, except .md files - - '*' - - '!*.md' - pull_request: - paths: - # build if tests change - - 'test/**' - # do not build if other schemes duplicate_consistency files change - - '!test/duplicate_consistency/*.yml' - - 'test/duplicate_consistency/mceliece6688128*.yml' - # build if common files change - - 'common/**' - # build if scheme changed - - 'crypto_kem/mceliece6688128/**' - # build if workflow file changed - - '.github/workflows/kem_mceliece6688128.yml' - # Build if any files in the root change, except .md files - - '*' - - '!*.md' - schedule: - - cron: '5 4 * * *' - -name: Test mceliece6688128 - -jobs: - test-native: - runs-on: ubuntu-latest - container: - image: pqclean/ci-container:${{ matrix.arch }} - env: - PQCLEAN_ONLY_SCHEMES: mceliece6688128 - CC: ccache ${{ matrix.cc }} - CCACHE_NOSTATS: 1 - CCACHE_DIR: /ccache - CCACHE_SLOPPINESS: include_file_mtime - strategy: - matrix: - arch: - - amd64 - - i386 - cc: - - gcc - - clang - steps: - - name: Cancel Previous Runs - uses: thomwiggers/cancel-workflow-action@all_but_latest - with: - all_but_latest: true - access_token: ${{ github.token }} - continue-on-error: true - if: matrix.arch == 'amd64' && matrix.cc == 'gcc' - - uses: actions/checkout@v2 - with: - submodules: true - - name: Cache ccache - uses: actions/cache@v2 - env: - cache-name: cache-ccache - with: - path: /ccache - key: v1-${{ runner.os }}-build-${{ env.cache-name }}-${{ matrix.cc }}-${{ env.GITHUB_WORKFLOW }}-${{ matrix.arch }} - - name: Cache pip - uses: actions/cache@v2 - env: - cache-name: cache-python-pip - with: - path: ~/.cache/pip - key: v1-python-pip - - name: Install python dependencies - run: | - python3 -m pip install -U -r requirements.txt - - name: Run tests - run: | - cd test - python3 -m pytest --verbose --numprocesses=auto - test-emulated: - needs: - - test-native - runs-on: ubuntu-latest - strategy: - matrix: - arch: - - armhf - - unstable-ppc - cc: - - gcc - - clang - env: - CC: ${{ matrix.cc }} - steps: - - name: Register qemu-user-static - run: | - docker run --rm --privileged multiarch/qemu-user-static:register --reset - - uses: actions/checkout@v2 - with: - submodules: true - - name: Cache ccache - uses: actions/cache@v2 - env: - cache-name: cache-ccache - with: - path: ~/ccache - key: v1-${{ runner.os }}-build-${{ env.cache-name }}-${{ matrix.cc }}-${{ env.GITHUB_WORKFLOW }}-${{ matrix.arch }} - - name: Cache pip - uses: actions/cache@v2 - env: - cache-name: cache-python-pip - with: - path: ~/.cache/pip - key: v1-python-pip - - name: Run tests in container - run: | - docker run --rm -e CI -e CC -e PQCLEAN_ONLY_SCHEMES=mceliece6688128 -v $PWD:$PWD -w $PWD -v ~/ccache:/ccache pqclean/ci-container:${{ matrix.arch }} /bin/bash -c "\ - export CCACHE_NOSTATS=1 && \ - export CCACHE_DIR=/ccache && \ - export CCACHE_SLOPPINESS=include_file_mtime && \ - export CC=\"ccache $CC\" && \ - pip3 install -U -r requirements.txt && \ - cd test && \ - python3 -m pytest --verbose --numprocesses=auto" - test-windows: - needs: - - test-native - strategy: - matrix: - bits: - - 64 - - 32 - env: - PQCLEAN_ONLY_SCHEMES: mceliece6688128 - runs-on: windows-latest - steps: - - uses: actions/checkout@v2 - with: - submodules: true - - name: Setup astyle - run: | - # Setup strong crypto - Set-ItemProperty -Path "HKLM:\\SOFTWARE\\Wow6432Node\\Microsoft\\.NetFramework\\v4.0.30319" -Name 'SchUseStrongCrypto' -Value '1' -Type DWord - Set-ItemProperty -Path "HKLM:\\SOFTWARE\\Microsoft\\.NetFramework\\v4.0.30319" -Name "SchUseStrongCrypto" -Value '1' -Type DWord - Invoke-WebRequest -OutFile "test\\astyle.exe" "https://rded.nl/pqclean/AStyle.exe" - shell: powershell - - name: Setup Python - uses: actions/setup-python@main - with: - python-version: "3.x" - - name: Install python requirements - run: python -m pip install -U -r requirements.txt - - name: Run tests - run: | - call "C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Enterprise\\VC\\Auxiliary\\Build\\vcvars${{ matrix.bits }}.bat" - cd test - python -m pytest --verbose --numprocesses=auto - shell: cmd - test-macos: - needs: - - test-native - env: - PQCLEAN_ONLY_SCHEMES: mceliece6688128 - CCACHE_NOSTATS: 1 - CCACHE_SLOPPINESS: include_file_mtime - # XCode version - DEVELOPER_DIR: /Applications/Xcode_11.5.app/Contents/Developer - strategy: - matrix: - compiler: - - clang # XCode (Apple LLVM/Clang) - - gcc9 # GNU (Homebrew) - runs-on: macos-latest - steps: - - uses: actions/checkout@v2 - with: - submodules: true - - name: Install astyle - run: | - brew install astyle - - name: Set up GCC9 compiler - run: 'export PATH="/usr/local/bin:$PATH" && export CC=gcc-9' - if: matrix.compiler == 'gcc9' - - name: Setup Python - uses: actions/setup-python@main - with: - python-version: "3.x" - - name: Install Python dependencies - run: python -m pip install -U -r requirements.txt - - name: Run tests - run: | - cd test - python -m pytest --verbose --numprocesses=auto - diff --git a/.github/workflows/kem_mceliece6688128f.yml b/.github/workflows/kem_mceliece6688128f.yml deleted file mode 100644 index 0872ae32..00000000 --- a/.github/workflows/kem_mceliece6688128f.yml +++ /dev/null @@ -1,204 +0,0 @@ -on: - push: - paths: - # build if tests change - - 'test/**' - # do not build if other schemes duplicate_consistency files change - - '!test/duplicate_consistency/*.yml' - - 'test/duplicate_consistency/mceliece6688128f*.yml' - # build if common files change - - 'common/**' - # build if scheme changed - - 'crypto_kem/mceliece6688128f/**' - # build if workflow file changed - - '.github/workflows/kem_mceliece6688128f.yml' - # Build if any files in the root change, except .md files - - '*' - - '!*.md' - pull_request: - paths: - # build if tests change - - 'test/**' - # do not build if other schemes duplicate_consistency files change - - '!test/duplicate_consistency/*.yml' - - 'test/duplicate_consistency/mceliece6688128f*.yml' - # build if common files change - - 'common/**' - # build if scheme changed - - 'crypto_kem/mceliece6688128f/**' - # build if workflow file changed - - '.github/workflows/kem_mceliece6688128f.yml' - # Build if any files in the root change, except .md files - - '*' - - '!*.md' - schedule: - - cron: '5 4 * * *' - -name: Test mceliece6688128f - -jobs: - test-native: - runs-on: ubuntu-latest - container: - image: pqclean/ci-container:${{ matrix.arch }} - env: - PQCLEAN_ONLY_SCHEMES: mceliece6688128f - CC: ccache ${{ matrix.cc }} - CCACHE_NOSTATS: 1 - CCACHE_DIR: /ccache - CCACHE_SLOPPINESS: include_file_mtime - strategy: - matrix: - arch: - - amd64 - - i386 - cc: - - gcc - - clang - steps: - - name: Cancel Previous Runs - uses: thomwiggers/cancel-workflow-action@all_but_latest - with: - all_but_latest: true - access_token: ${{ github.token }} - continue-on-error: true - if: matrix.arch == 'amd64' && matrix.cc == 'gcc' - - uses: actions/checkout@v2 - with: - submodules: true - - name: Cache ccache - uses: actions/cache@v2 - env: - cache-name: cache-ccache - with: - path: /ccache - key: v1-${{ runner.os }}-build-${{ env.cache-name }}-${{ matrix.cc }}-${{ env.GITHUB_WORKFLOW }}-${{ matrix.arch }} - - name: Cache pip - uses: actions/cache@v2 - env: - cache-name: cache-python-pip - with: - path: ~/.cache/pip - key: v1-python-pip - - name: Install python dependencies - run: | - python3 -m pip install -U -r requirements.txt - - name: Run tests - run: | - cd test - python3 -m pytest --verbose --numprocesses=auto - test-emulated: - needs: - - test-native - runs-on: ubuntu-latest - strategy: - matrix: - arch: - - armhf - - unstable-ppc - cc: - - gcc - - clang - env: - CC: ${{ matrix.cc }} - steps: - - name: Register qemu-user-static - run: | - docker run --rm --privileged multiarch/qemu-user-static:register --reset - - uses: actions/checkout@v2 - with: - submodules: true - - name: Cache ccache - uses: actions/cache@v2 - env: - cache-name: cache-ccache - with: - path: ~/ccache - key: v1-${{ runner.os }}-build-${{ env.cache-name }}-${{ matrix.cc }}-${{ env.GITHUB_WORKFLOW }}-${{ matrix.arch }} - - name: Cache pip - uses: actions/cache@v2 - env: - cache-name: cache-python-pip - with: - path: ~/.cache/pip - key: v1-python-pip - - name: Run tests in container - run: | - docker run --rm -e CI -e CC -e PQCLEAN_ONLY_SCHEMES=mceliece6688128f -v $PWD:$PWD -w $PWD -v ~/ccache:/ccache pqclean/ci-container:${{ matrix.arch }} /bin/bash -c "\ - export CCACHE_NOSTATS=1 && \ - export CCACHE_DIR=/ccache && \ - export CCACHE_SLOPPINESS=include_file_mtime && \ - export CC=\"ccache $CC\" && \ - pip3 install -U -r requirements.txt && \ - cd test && \ - python3 -m pytest --verbose --numprocesses=auto" - test-windows: - needs: - - test-native - strategy: - matrix: - bits: - - 64 - - 32 - env: - PQCLEAN_ONLY_SCHEMES: mceliece6688128f - runs-on: windows-latest - steps: - - uses: actions/checkout@v2 - with: - submodules: true - - name: Setup astyle - run: | - # Setup strong crypto - Set-ItemProperty -Path "HKLM:\\SOFTWARE\\Wow6432Node\\Microsoft\\.NetFramework\\v4.0.30319" -Name 'SchUseStrongCrypto' -Value '1' -Type DWord - Set-ItemProperty -Path "HKLM:\\SOFTWARE\\Microsoft\\.NetFramework\\v4.0.30319" -Name "SchUseStrongCrypto" -Value '1' -Type DWord - Invoke-WebRequest -OutFile "test\\astyle.exe" "https://rded.nl/pqclean/AStyle.exe" - shell: powershell - - name: Setup Python - uses: actions/setup-python@main - with: - python-version: "3.x" - - name: Install python requirements - run: python -m pip install -U -r requirements.txt - - name: Run tests - run: | - call "C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Enterprise\\VC\\Auxiliary\\Build\\vcvars${{ matrix.bits }}.bat" - cd test - python -m pytest --verbose --numprocesses=auto - shell: cmd - test-macos: - needs: - - test-native - env: - PQCLEAN_ONLY_SCHEMES: mceliece6688128f - CCACHE_NOSTATS: 1 - CCACHE_SLOPPINESS: include_file_mtime - # XCode version - DEVELOPER_DIR: /Applications/Xcode_11.5.app/Contents/Developer - strategy: - matrix: - compiler: - - clang # XCode (Apple LLVM/Clang) - - gcc9 # GNU (Homebrew) - runs-on: macos-latest - steps: - - uses: actions/checkout@v2 - with: - submodules: true - - name: Install astyle - run: | - brew install astyle - - name: Set up GCC9 compiler - run: 'export PATH="/usr/local/bin:$PATH" && export CC=gcc-9' - if: matrix.compiler == 'gcc9' - - name: Setup Python - uses: actions/setup-python@main - with: - python-version: "3.x" - - name: Install Python dependencies - run: python -m pip install -U -r requirements.txt - - name: Run tests - run: | - cd test - python -m pytest --verbose --numprocesses=auto - diff --git a/.github/workflows/kem_mceliece6960119.yml b/.github/workflows/kem_mceliece6960119.yml deleted file mode 100644 index fb553a83..00000000 --- a/.github/workflows/kem_mceliece6960119.yml +++ /dev/null @@ -1,204 +0,0 @@ -on: - push: - paths: - # build if tests change - - 'test/**' - # do not build if other schemes duplicate_consistency files change - - '!test/duplicate_consistency/*.yml' - - 'test/duplicate_consistency/mceliece6960119*.yml' - # build if common files change - - 'common/**' - # build if scheme changed - - 'crypto_kem/mceliece6960119/**' - # build if workflow file changed - - '.github/workflows/kem_mceliece6960119.yml' - # Build if any files in the root change, except .md files - - '*' - - '!*.md' - pull_request: - paths: - # build if tests change - - 'test/**' - # do not build if other schemes duplicate_consistency files change - - '!test/duplicate_consistency/*.yml' - - 'test/duplicate_consistency/mceliece6960119*.yml' - # build if common files change - - 'common/**' - # build if scheme changed - - 'crypto_kem/mceliece6960119/**' - # build if workflow file changed - - '.github/workflows/kem_mceliece6960119.yml' - # Build if any files in the root change, except .md files - - '*' - - '!*.md' - schedule: - - cron: '5 4 * * *' - -name: Test mceliece6960119 - -jobs: - test-native: - runs-on: ubuntu-latest - container: - image: pqclean/ci-container:${{ matrix.arch }} - env: - PQCLEAN_ONLY_SCHEMES: mceliece6960119 - CC: ccache ${{ matrix.cc }} - CCACHE_NOSTATS: 1 - CCACHE_DIR: /ccache - CCACHE_SLOPPINESS: include_file_mtime - strategy: - matrix: - arch: - - amd64 - - i386 - cc: - - gcc - - clang - steps: - - name: Cancel Previous Runs - uses: thomwiggers/cancel-workflow-action@all_but_latest - with: - all_but_latest: true - access_token: ${{ github.token }} - continue-on-error: true - if: matrix.arch == 'amd64' && matrix.cc == 'gcc' - - uses: actions/checkout@v2 - with: - submodules: true - - name: Cache ccache - uses: actions/cache@v2 - env: - cache-name: cache-ccache - with: - path: /ccache - key: v1-${{ runner.os }}-build-${{ env.cache-name }}-${{ matrix.cc }}-${{ env.GITHUB_WORKFLOW }}-${{ matrix.arch }} - - name: Cache pip - uses: actions/cache@v2 - env: - cache-name: cache-python-pip - with: - path: ~/.cache/pip - key: v1-python-pip - - name: Install python dependencies - run: | - python3 -m pip install -U -r requirements.txt - - name: Run tests - run: | - cd test - python3 -m pytest --verbose --numprocesses=auto - test-emulated: - needs: - - test-native - runs-on: ubuntu-latest - strategy: - matrix: - arch: - - armhf - - unstable-ppc - cc: - - gcc - - clang - env: - CC: ${{ matrix.cc }} - steps: - - name: Register qemu-user-static - run: | - docker run --rm --privileged multiarch/qemu-user-static:register --reset - - uses: actions/checkout@v2 - with: - submodules: true - - name: Cache ccache - uses: actions/cache@v2 - env: - cache-name: cache-ccache - with: - path: ~/ccache - key: v1-${{ runner.os }}-build-${{ env.cache-name }}-${{ matrix.cc }}-${{ env.GITHUB_WORKFLOW }}-${{ matrix.arch }} - - name: Cache pip - uses: actions/cache@v2 - env: - cache-name: cache-python-pip - with: - path: ~/.cache/pip - key: v1-python-pip - - name: Run tests in container - run: | - docker run --rm -e CI -e CC -e PQCLEAN_ONLY_SCHEMES=mceliece6960119 -v $PWD:$PWD -w $PWD -v ~/ccache:/ccache pqclean/ci-container:${{ matrix.arch }} /bin/bash -c "\ - export CCACHE_NOSTATS=1 && \ - export CCACHE_DIR=/ccache && \ - export CCACHE_SLOPPINESS=include_file_mtime && \ - export CC=\"ccache $CC\" && \ - pip3 install -U -r requirements.txt && \ - cd test && \ - python3 -m pytest --verbose --numprocesses=auto" - test-windows: - needs: - - test-native - strategy: - matrix: - bits: - - 64 - - 32 - env: - PQCLEAN_ONLY_SCHEMES: mceliece6960119 - runs-on: windows-latest - steps: - - uses: actions/checkout@v2 - with: - submodules: true - - name: Setup astyle - run: | - # Setup strong crypto - Set-ItemProperty -Path "HKLM:\\SOFTWARE\\Wow6432Node\\Microsoft\\.NetFramework\\v4.0.30319" -Name 'SchUseStrongCrypto' -Value '1' -Type DWord - Set-ItemProperty -Path "HKLM:\\SOFTWARE\\Microsoft\\.NetFramework\\v4.0.30319" -Name "SchUseStrongCrypto" -Value '1' -Type DWord - Invoke-WebRequest -OutFile "test\\astyle.exe" "https://rded.nl/pqclean/AStyle.exe" - shell: powershell - - name: Setup Python - uses: actions/setup-python@main - with: - python-version: "3.x" - - name: Install python requirements - run: python -m pip install -U -r requirements.txt - - name: Run tests - run: | - call "C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Enterprise\\VC\\Auxiliary\\Build\\vcvars${{ matrix.bits }}.bat" - cd test - python -m pytest --verbose --numprocesses=auto - shell: cmd - test-macos: - needs: - - test-native - env: - PQCLEAN_ONLY_SCHEMES: mceliece6960119 - CCACHE_NOSTATS: 1 - CCACHE_SLOPPINESS: include_file_mtime - # XCode version - DEVELOPER_DIR: /Applications/Xcode_11.5.app/Contents/Developer - strategy: - matrix: - compiler: - - clang # XCode (Apple LLVM/Clang) - - gcc9 # GNU (Homebrew) - runs-on: macos-latest - steps: - - uses: actions/checkout@v2 - with: - submodules: true - - name: Install astyle - run: | - brew install astyle - - name: Set up GCC9 compiler - run: 'export PATH="/usr/local/bin:$PATH" && export CC=gcc-9' - if: matrix.compiler == 'gcc9' - - name: Setup Python - uses: actions/setup-python@main - with: - python-version: "3.x" - - name: Install Python dependencies - run: python -m pip install -U -r requirements.txt - - name: Run tests - run: | - cd test - python -m pytest --verbose --numprocesses=auto - diff --git a/.github/workflows/kem_mceliece6960119f.yml b/.github/workflows/kem_mceliece6960119f.yml deleted file mode 100644 index c65df99d..00000000 --- a/.github/workflows/kem_mceliece6960119f.yml +++ /dev/null @@ -1,204 +0,0 @@ -on: - push: - paths: - # build if tests change - - 'test/**' - # do not build if other schemes duplicate_consistency files change - - '!test/duplicate_consistency/*.yml' - - 'test/duplicate_consistency/mceliece6960119f*.yml' - # build if common files change - - 'common/**' - # build if scheme changed - - 'crypto_kem/mceliece6960119f/**' - # build if workflow file changed - - '.github/workflows/kem_mceliece6960119f.yml' - # Build if any files in the root change, except .md files - - '*' - - '!*.md' - pull_request: - paths: - # build if tests change - - 'test/**' - # do not build if other schemes duplicate_consistency files change - - '!test/duplicate_consistency/*.yml' - - 'test/duplicate_consistency/mceliece6960119f*.yml' - # build if common files change - - 'common/**' - # build if scheme changed - - 'crypto_kem/mceliece6960119f/**' - # build if workflow file changed - - '.github/workflows/kem_mceliece6960119f.yml' - # Build if any files in the root change, except .md files - - '*' - - '!*.md' - schedule: - - cron: '5 4 * * *' - -name: Test mceliece6960119f - -jobs: - test-native: - runs-on: ubuntu-latest - container: - image: pqclean/ci-container:${{ matrix.arch }} - env: - PQCLEAN_ONLY_SCHEMES: mceliece6960119f - CC: ccache ${{ matrix.cc }} - CCACHE_NOSTATS: 1 - CCACHE_DIR: /ccache - CCACHE_SLOPPINESS: include_file_mtime - strategy: - matrix: - arch: - - amd64 - - i386 - cc: - - gcc - - clang - steps: - - name: Cancel Previous Runs - uses: thomwiggers/cancel-workflow-action@all_but_latest - with: - all_but_latest: true - access_token: ${{ github.token }} - continue-on-error: true - if: matrix.arch == 'amd64' && matrix.cc == 'gcc' - - uses: actions/checkout@v2 - with: - submodules: true - - name: Cache ccache - uses: actions/cache@v2 - env: - cache-name: cache-ccache - with: - path: /ccache - key: v1-${{ runner.os }}-build-${{ env.cache-name }}-${{ matrix.cc }}-${{ env.GITHUB_WORKFLOW }}-${{ matrix.arch }} - - name: Cache pip - uses: actions/cache@v2 - env: - cache-name: cache-python-pip - with: - path: ~/.cache/pip - key: v1-python-pip - - name: Install python dependencies - run: | - python3 -m pip install -U -r requirements.txt - - name: Run tests - run: | - cd test - python3 -m pytest --verbose --numprocesses=auto - test-emulated: - needs: - - test-native - runs-on: ubuntu-latest - strategy: - matrix: - arch: - - armhf - - unstable-ppc - cc: - - gcc - - clang - env: - CC: ${{ matrix.cc }} - steps: - - name: Register qemu-user-static - run: | - docker run --rm --privileged multiarch/qemu-user-static:register --reset - - uses: actions/checkout@v2 - with: - submodules: true - - name: Cache ccache - uses: actions/cache@v2 - env: - cache-name: cache-ccache - with: - path: ~/ccache - key: v1-${{ runner.os }}-build-${{ env.cache-name }}-${{ matrix.cc }}-${{ env.GITHUB_WORKFLOW }}-${{ matrix.arch }} - - name: Cache pip - uses: actions/cache@v2 - env: - cache-name: cache-python-pip - with: - path: ~/.cache/pip - key: v1-python-pip - - name: Run tests in container - run: | - docker run --rm -e CI -e CC -e PQCLEAN_ONLY_SCHEMES=mceliece6960119f -v $PWD:$PWD -w $PWD -v ~/ccache:/ccache pqclean/ci-container:${{ matrix.arch }} /bin/bash -c "\ - export CCACHE_NOSTATS=1 && \ - export CCACHE_DIR=/ccache && \ - export CCACHE_SLOPPINESS=include_file_mtime && \ - export CC=\"ccache $CC\" && \ - pip3 install -U -r requirements.txt && \ - cd test && \ - python3 -m pytest --verbose --numprocesses=auto" - test-windows: - needs: - - test-native - strategy: - matrix: - bits: - - 64 - - 32 - env: - PQCLEAN_ONLY_SCHEMES: mceliece6960119f - runs-on: windows-latest - steps: - - uses: actions/checkout@v2 - with: - submodules: true - - name: Setup astyle - run: | - # Setup strong crypto - Set-ItemProperty -Path "HKLM:\\SOFTWARE\\Wow6432Node\\Microsoft\\.NetFramework\\v4.0.30319" -Name 'SchUseStrongCrypto' -Value '1' -Type DWord - Set-ItemProperty -Path "HKLM:\\SOFTWARE\\Microsoft\\.NetFramework\\v4.0.30319" -Name "SchUseStrongCrypto" -Value '1' -Type DWord - Invoke-WebRequest -OutFile "test\\astyle.exe" "https://rded.nl/pqclean/AStyle.exe" - shell: powershell - - name: Setup Python - uses: actions/setup-python@main - with: - python-version: "3.x" - - name: Install python requirements - run: python -m pip install -U -r requirements.txt - - name: Run tests - run: | - call "C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Enterprise\\VC\\Auxiliary\\Build\\vcvars${{ matrix.bits }}.bat" - cd test - python -m pytest --verbose --numprocesses=auto - shell: cmd - test-macos: - needs: - - test-native - env: - PQCLEAN_ONLY_SCHEMES: mceliece6960119f - CCACHE_NOSTATS: 1 - CCACHE_SLOPPINESS: include_file_mtime - # XCode version - DEVELOPER_DIR: /Applications/Xcode_11.5.app/Contents/Developer - strategy: - matrix: - compiler: - - clang # XCode (Apple LLVM/Clang) - - gcc9 # GNU (Homebrew) - runs-on: macos-latest - steps: - - uses: actions/checkout@v2 - with: - submodules: true - - name: Install astyle - run: | - brew install astyle - - name: Set up GCC9 compiler - run: 'export PATH="/usr/local/bin:$PATH" && export CC=gcc-9' - if: matrix.compiler == 'gcc9' - - name: Setup Python - uses: actions/setup-python@main - with: - python-version: "3.x" - - name: Install Python dependencies - run: python -m pip install -U -r requirements.txt - - name: Run tests - run: | - cd test - python -m pytest --verbose --numprocesses=auto - diff --git a/.github/workflows/kem_mceliece8192128.yml b/.github/workflows/kem_mceliece8192128.yml deleted file mode 100644 index 422af04a..00000000 --- a/.github/workflows/kem_mceliece8192128.yml +++ /dev/null @@ -1,204 +0,0 @@ -on: - push: - paths: - # build if tests change - - 'test/**' - # do not build if other schemes duplicate_consistency files change - - '!test/duplicate_consistency/*.yml' - - 'test/duplicate_consistency/mceliece8192128*.yml' - # build if common files change - - 'common/**' - # build if scheme changed - - 'crypto_kem/mceliece8192128/**' - # build if workflow file changed - - '.github/workflows/kem_mceliece8192128.yml' - # Build if any files in the root change, except .md files - - '*' - - '!*.md' - pull_request: - paths: - # build if tests change - - 'test/**' - # do not build if other schemes duplicate_consistency files change - - '!test/duplicate_consistency/*.yml' - - 'test/duplicate_consistency/mceliece8192128*.yml' - # build if common files change - - 'common/**' - # build if scheme changed - - 'crypto_kem/mceliece8192128/**' - # build if workflow file changed - - '.github/workflows/kem_mceliece8192128.yml' - # Build if any files in the root change, except .md files - - '*' - - '!*.md' - schedule: - - cron: '5 4 * * *' - -name: Test mceliece8192128 - -jobs: - test-native: - runs-on: ubuntu-latest - container: - image: pqclean/ci-container:${{ matrix.arch }} - env: - PQCLEAN_ONLY_SCHEMES: mceliece8192128 - CC: ccache ${{ matrix.cc }} - CCACHE_NOSTATS: 1 - CCACHE_DIR: /ccache - CCACHE_SLOPPINESS: include_file_mtime - strategy: - matrix: - arch: - - amd64 - - i386 - cc: - - gcc - - clang - steps: - - name: Cancel Previous Runs - uses: thomwiggers/cancel-workflow-action@all_but_latest - with: - all_but_latest: true - access_token: ${{ github.token }} - continue-on-error: true - if: matrix.arch == 'amd64' && matrix.cc == 'gcc' - - uses: actions/checkout@v2 - with: - submodules: true - - name: Cache ccache - uses: actions/cache@v2 - env: - cache-name: cache-ccache - with: - path: /ccache - key: v1-${{ runner.os }}-build-${{ env.cache-name }}-${{ matrix.cc }}-${{ env.GITHUB_WORKFLOW }}-${{ matrix.arch }} - - name: Cache pip - uses: actions/cache@v2 - env: - cache-name: cache-python-pip - with: - path: ~/.cache/pip - key: v1-python-pip - - name: Install python dependencies - run: | - python3 -m pip install -U -r requirements.txt - - name: Run tests - run: | - cd test - python3 -m pytest --verbose --numprocesses=auto - test-emulated: - needs: - - test-native - runs-on: ubuntu-latest - strategy: - matrix: - arch: - - armhf - - unstable-ppc - cc: - - gcc - - clang - env: - CC: ${{ matrix.cc }} - steps: - - name: Register qemu-user-static - run: | - docker run --rm --privileged multiarch/qemu-user-static:register --reset - - uses: actions/checkout@v2 - with: - submodules: true - - name: Cache ccache - uses: actions/cache@v2 - env: - cache-name: cache-ccache - with: - path: ~/ccache - key: v1-${{ runner.os }}-build-${{ env.cache-name }}-${{ matrix.cc }}-${{ env.GITHUB_WORKFLOW }}-${{ matrix.arch }} - - name: Cache pip - uses: actions/cache@v2 - env: - cache-name: cache-python-pip - with: - path: ~/.cache/pip - key: v1-python-pip - - name: Run tests in container - run: | - docker run --rm -e CI -e CC -e PQCLEAN_ONLY_SCHEMES=mceliece8192128 -v $PWD:$PWD -w $PWD -v ~/ccache:/ccache pqclean/ci-container:${{ matrix.arch }} /bin/bash -c "\ - export CCACHE_NOSTATS=1 && \ - export CCACHE_DIR=/ccache && \ - export CCACHE_SLOPPINESS=include_file_mtime && \ - export CC=\"ccache $CC\" && \ - pip3 install -U -r requirements.txt && \ - cd test && \ - python3 -m pytest --verbose --numprocesses=auto" - test-windows: - needs: - - test-native - strategy: - matrix: - bits: - - 64 - - 32 - env: - PQCLEAN_ONLY_SCHEMES: mceliece8192128 - runs-on: windows-latest - steps: - - uses: actions/checkout@v2 - with: - submodules: true - - name: Setup astyle - run: | - # Setup strong crypto - Set-ItemProperty -Path "HKLM:\\SOFTWARE\\Wow6432Node\\Microsoft\\.NetFramework\\v4.0.30319" -Name 'SchUseStrongCrypto' -Value '1' -Type DWord - Set-ItemProperty -Path "HKLM:\\SOFTWARE\\Microsoft\\.NetFramework\\v4.0.30319" -Name "SchUseStrongCrypto" -Value '1' -Type DWord - Invoke-WebRequest -OutFile "test\\astyle.exe" "https://rded.nl/pqclean/AStyle.exe" - shell: powershell - - name: Setup Python - uses: actions/setup-python@main - with: - python-version: "3.x" - - name: Install python requirements - run: python -m pip install -U -r requirements.txt - - name: Run tests - run: | - call "C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Enterprise\\VC\\Auxiliary\\Build\\vcvars${{ matrix.bits }}.bat" - cd test - python -m pytest --verbose --numprocesses=auto - shell: cmd - test-macos: - needs: - - test-native - env: - PQCLEAN_ONLY_SCHEMES: mceliece8192128 - CCACHE_NOSTATS: 1 - CCACHE_SLOPPINESS: include_file_mtime - # XCode version - DEVELOPER_DIR: /Applications/Xcode_11.5.app/Contents/Developer - strategy: - matrix: - compiler: - - clang # XCode (Apple LLVM/Clang) - - gcc9 # GNU (Homebrew) - runs-on: macos-latest - steps: - - uses: actions/checkout@v2 - with: - submodules: true - - name: Install astyle - run: | - brew install astyle - - name: Set up GCC9 compiler - run: 'export PATH="/usr/local/bin:$PATH" && export CC=gcc-9' - if: matrix.compiler == 'gcc9' - - name: Setup Python - uses: actions/setup-python@main - with: - python-version: "3.x" - - name: Install Python dependencies - run: python -m pip install -U -r requirements.txt - - name: Run tests - run: | - cd test - python -m pytest --verbose --numprocesses=auto - diff --git a/.github/workflows/kem_mceliece8192128f.yml b/.github/workflows/kem_mceliece8192128f.yml deleted file mode 100644 index 72334789..00000000 --- a/.github/workflows/kem_mceliece8192128f.yml +++ /dev/null @@ -1,204 +0,0 @@ -on: - push: - paths: - # build if tests change - - 'test/**' - # do not build if other schemes duplicate_consistency files change - - '!test/duplicate_consistency/*.yml' - - 'test/duplicate_consistency/mceliece8192128f*.yml' - # build if common files change - - 'common/**' - # build if scheme changed - - 'crypto_kem/mceliece8192128f/**' - # build if workflow file changed - - '.github/workflows/kem_mceliece8192128f.yml' - # Build if any files in the root change, except .md files - - '*' - - '!*.md' - pull_request: - paths: - # build if tests change - - 'test/**' - # do not build if other schemes duplicate_consistency files change - - '!test/duplicate_consistency/*.yml' - - 'test/duplicate_consistency/mceliece8192128f*.yml' - # build if common files change - - 'common/**' - # build if scheme changed - - 'crypto_kem/mceliece8192128f/**' - # build if workflow file changed - - '.github/workflows/kem_mceliece8192128f.yml' - # Build if any files in the root change, except .md files - - '*' - - '!*.md' - schedule: - - cron: '5 4 * * *' - -name: Test mceliece8192128f - -jobs: - test-native: - runs-on: ubuntu-latest - container: - image: pqclean/ci-container:${{ matrix.arch }} - env: - PQCLEAN_ONLY_SCHEMES: mceliece8192128f - CC: ccache ${{ matrix.cc }} - CCACHE_NOSTATS: 1 - CCACHE_DIR: /ccache - CCACHE_SLOPPINESS: include_file_mtime - strategy: - matrix: - arch: - - amd64 - - i386 - cc: - - gcc - - clang - steps: - - name: Cancel Previous Runs - uses: thomwiggers/cancel-workflow-action@all_but_latest - with: - all_but_latest: true - access_token: ${{ github.token }} - continue-on-error: true - if: matrix.arch == 'amd64' && matrix.cc == 'gcc' - - uses: actions/checkout@v2 - with: - submodules: true - - name: Cache ccache - uses: actions/cache@v2 - env: - cache-name: cache-ccache - with: - path: /ccache - key: v1-${{ runner.os }}-build-${{ env.cache-name }}-${{ matrix.cc }}-${{ env.GITHUB_WORKFLOW }}-${{ matrix.arch }} - - name: Cache pip - uses: actions/cache@v2 - env: - cache-name: cache-python-pip - with: - path: ~/.cache/pip - key: v1-python-pip - - name: Install python dependencies - run: | - python3 -m pip install -U -r requirements.txt - - name: Run tests - run: | - cd test - python3 -m pytest --verbose --numprocesses=auto - test-emulated: - needs: - - test-native - runs-on: ubuntu-latest - strategy: - matrix: - arch: - - armhf - - unstable-ppc - cc: - - gcc - - clang - env: - CC: ${{ matrix.cc }} - steps: - - name: Register qemu-user-static - run: | - docker run --rm --privileged multiarch/qemu-user-static:register --reset - - uses: actions/checkout@v2 - with: - submodules: true - - name: Cache ccache - uses: actions/cache@v2 - env: - cache-name: cache-ccache - with: - path: ~/ccache - key: v1-${{ runner.os }}-build-${{ env.cache-name }}-${{ matrix.cc }}-${{ env.GITHUB_WORKFLOW }}-${{ matrix.arch }} - - name: Cache pip - uses: actions/cache@v2 - env: - cache-name: cache-python-pip - with: - path: ~/.cache/pip - key: v1-python-pip - - name: Run tests in container - run: | - docker run --rm -e CI -e CC -e PQCLEAN_ONLY_SCHEMES=mceliece8192128f -v $PWD:$PWD -w $PWD -v ~/ccache:/ccache pqclean/ci-container:${{ matrix.arch }} /bin/bash -c "\ - export CCACHE_NOSTATS=1 && \ - export CCACHE_DIR=/ccache && \ - export CCACHE_SLOPPINESS=include_file_mtime && \ - export CC=\"ccache $CC\" && \ - pip3 install -U -r requirements.txt && \ - cd test && \ - python3 -m pytest --verbose --numprocesses=auto" - test-windows: - needs: - - test-native - strategy: - matrix: - bits: - - 64 - - 32 - env: - PQCLEAN_ONLY_SCHEMES: mceliece8192128f - runs-on: windows-latest - steps: - - uses: actions/checkout@v2 - with: - submodules: true - - name: Setup astyle - run: | - # Setup strong crypto - Set-ItemProperty -Path "HKLM:\\SOFTWARE\\Wow6432Node\\Microsoft\\.NetFramework\\v4.0.30319" -Name 'SchUseStrongCrypto' -Value '1' -Type DWord - Set-ItemProperty -Path "HKLM:\\SOFTWARE\\Microsoft\\.NetFramework\\v4.0.30319" -Name "SchUseStrongCrypto" -Value '1' -Type DWord - Invoke-WebRequest -OutFile "test\\astyle.exe" "https://rded.nl/pqclean/AStyle.exe" - shell: powershell - - name: Setup Python - uses: actions/setup-python@main - with: - python-version: "3.x" - - name: Install python requirements - run: python -m pip install -U -r requirements.txt - - name: Run tests - run: | - call "C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Enterprise\\VC\\Auxiliary\\Build\\vcvars${{ matrix.bits }}.bat" - cd test - python -m pytest --verbose --numprocesses=auto - shell: cmd - test-macos: - needs: - - test-native - env: - PQCLEAN_ONLY_SCHEMES: mceliece8192128f - CCACHE_NOSTATS: 1 - CCACHE_SLOPPINESS: include_file_mtime - # XCode version - DEVELOPER_DIR: /Applications/Xcode_11.5.app/Contents/Developer - strategy: - matrix: - compiler: - - clang # XCode (Apple LLVM/Clang) - - gcc9 # GNU (Homebrew) - runs-on: macos-latest - steps: - - uses: actions/checkout@v2 - with: - submodules: true - - name: Install astyle - run: | - brew install astyle - - name: Set up GCC9 compiler - run: 'export PATH="/usr/local/bin:$PATH" && export CC=gcc-9' - if: matrix.compiler == 'gcc9' - - name: Setup Python - uses: actions/setup-python@main - with: - python-version: "3.x" - - name: Install Python dependencies - run: python -m pip install -U -r requirements.txt - - name: Run tests - run: | - cd test - python -m pytest --verbose --numprocesses=auto - diff --git a/.github/workflows/kem_ntruhps2048509.yml b/.github/workflows/kem_ntruhps2048509.yml deleted file mode 100644 index 211a7cf2..00000000 --- a/.github/workflows/kem_ntruhps2048509.yml +++ /dev/null @@ -1,204 +0,0 @@ -on: - push: - paths: - # build if tests change - - 'test/**' - # do not build if other schemes duplicate_consistency files change - - '!test/duplicate_consistency/*.yml' - - 'test/duplicate_consistency/ntruhps2048509*.yml' - # build if common files change - - 'common/**' - # build if scheme changed - - 'crypto_kem/ntruhps2048509/**' - # build if workflow file changed - - '.github/workflows/kem_ntruhps2048509.yml' - # Build if any files in the root change, except .md files - - '*' - - '!*.md' - pull_request: - paths: - # build if tests change - - 'test/**' - # do not build if other schemes duplicate_consistency files change - - '!test/duplicate_consistency/*.yml' - - 'test/duplicate_consistency/ntruhps2048509*.yml' - # build if common files change - - 'common/**' - # build if scheme changed - - 'crypto_kem/ntruhps2048509/**' - # build if workflow file changed - - '.github/workflows/kem_ntruhps2048509.yml' - # Build if any files in the root change, except .md files - - '*' - - '!*.md' - schedule: - - cron: '5 4 * * *' - -name: Test ntruhps2048509 - -jobs: - test-native: - runs-on: ubuntu-latest - container: - image: pqclean/ci-container:${{ matrix.arch }} - env: - PQCLEAN_ONLY_SCHEMES: ntruhps2048509 - CC: ccache ${{ matrix.cc }} - CCACHE_NOSTATS: 1 - CCACHE_DIR: /ccache - CCACHE_SLOPPINESS: include_file_mtime - strategy: - matrix: - arch: - - amd64 - - i386 - cc: - - gcc - - clang - steps: - - name: Cancel Previous Runs - uses: thomwiggers/cancel-workflow-action@all_but_latest - with: - all_but_latest: true - access_token: ${{ github.token }} - continue-on-error: true - if: matrix.arch == 'amd64' && matrix.cc == 'gcc' - - uses: actions/checkout@v2 - with: - submodules: true - - name: Cache ccache - uses: actions/cache@v2 - env: - cache-name: cache-ccache - with: - path: /ccache - key: v1-${{ runner.os }}-build-${{ env.cache-name }}-${{ matrix.cc }}-${{ env.GITHUB_WORKFLOW }}-${{ matrix.arch }} - - name: Cache pip - uses: actions/cache@v2 - env: - cache-name: cache-python-pip - with: - path: ~/.cache/pip - key: v1-python-pip - - name: Install python dependencies - run: | - python3 -m pip install -U -r requirements.txt - - name: Run tests - run: | - cd test - python3 -m pytest --verbose --numprocesses=auto - test-emulated: - needs: - - test-native - runs-on: ubuntu-latest - strategy: - matrix: - arch: - - armhf - - unstable-ppc - cc: - - gcc - - clang - env: - CC: ${{ matrix.cc }} - steps: - - name: Register qemu-user-static - run: | - docker run --rm --privileged multiarch/qemu-user-static:register --reset - - uses: actions/checkout@v2 - with: - submodules: true - - name: Cache ccache - uses: actions/cache@v2 - env: - cache-name: cache-ccache - with: - path: ~/ccache - key: v1-${{ runner.os }}-build-${{ env.cache-name }}-${{ matrix.cc }}-${{ env.GITHUB_WORKFLOW }}-${{ matrix.arch }} - - name: Cache pip - uses: actions/cache@v2 - env: - cache-name: cache-python-pip - with: - path: ~/.cache/pip - key: v1-python-pip - - name: Run tests in container - run: | - docker run --rm -e CI -e CC -e PQCLEAN_ONLY_SCHEMES=ntruhps2048509 -v $PWD:$PWD -w $PWD -v ~/ccache:/ccache pqclean/ci-container:${{ matrix.arch }} /bin/bash -c "\ - export CCACHE_NOSTATS=1 && \ - export CCACHE_DIR=/ccache && \ - export CCACHE_SLOPPINESS=include_file_mtime && \ - export CC=\"ccache $CC\" && \ - pip3 install -U -r requirements.txt && \ - cd test && \ - python3 -m pytest --verbose --numprocesses=auto" - test-windows: - needs: - - test-native - strategy: - matrix: - bits: - - 64 - - 32 - env: - PQCLEAN_ONLY_SCHEMES: ntruhps2048509 - runs-on: windows-latest - steps: - - uses: actions/checkout@v2 - with: - submodules: true - - name: Setup astyle - run: | - # Setup strong crypto - Set-ItemProperty -Path "HKLM:\\SOFTWARE\\Wow6432Node\\Microsoft\\.NetFramework\\v4.0.30319" -Name 'SchUseStrongCrypto' -Value '1' -Type DWord - Set-ItemProperty -Path "HKLM:\\SOFTWARE\\Microsoft\\.NetFramework\\v4.0.30319" -Name "SchUseStrongCrypto" -Value '1' -Type DWord - Invoke-WebRequest -OutFile "test\\astyle.exe" "https://rded.nl/pqclean/AStyle.exe" - shell: powershell - - name: Setup Python - uses: actions/setup-python@main - with: - python-version: "3.x" - - name: Install python requirements - run: python -m pip install -U -r requirements.txt - - name: Run tests - run: | - call "C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Enterprise\\VC\\Auxiliary\\Build\\vcvars${{ matrix.bits }}.bat" - cd test - python -m pytest --verbose --numprocesses=auto - shell: cmd - test-macos: - needs: - - test-native - env: - PQCLEAN_ONLY_SCHEMES: ntruhps2048509 - CCACHE_NOSTATS: 1 - CCACHE_SLOPPINESS: include_file_mtime - # XCode version - DEVELOPER_DIR: /Applications/Xcode_11.5.app/Contents/Developer - strategy: - matrix: - compiler: - - clang # XCode (Apple LLVM/Clang) - - gcc9 # GNU (Homebrew) - runs-on: macos-latest - steps: - - uses: actions/checkout@v2 - with: - submodules: true - - name: Install astyle - run: | - brew install astyle - - name: Set up GCC9 compiler - run: 'export PATH="/usr/local/bin:$PATH" && export CC=gcc-9' - if: matrix.compiler == 'gcc9' - - name: Setup Python - uses: actions/setup-python@main - with: - python-version: "3.x" - - name: Install Python dependencies - run: python -m pip install -U -r requirements.txt - - name: Run tests - run: | - cd test - python -m pytest --verbose --numprocesses=auto - diff --git a/.github/workflows/kem_ntruhps2048677.yml b/.github/workflows/kem_ntruhps2048677.yml deleted file mode 100644 index 3c0f8f92..00000000 --- a/.github/workflows/kem_ntruhps2048677.yml +++ /dev/null @@ -1,204 +0,0 @@ -on: - push: - paths: - # build if tests change - - 'test/**' - # do not build if other schemes duplicate_consistency files change - - '!test/duplicate_consistency/*.yml' - - 'test/duplicate_consistency/ntruhps2048677*.yml' - # build if common files change - - 'common/**' - # build if scheme changed - - 'crypto_kem/ntruhps2048677/**' - # build if workflow file changed - - '.github/workflows/kem_ntruhps2048677.yml' - # Build if any files in the root change, except .md files - - '*' - - '!*.md' - pull_request: - paths: - # build if tests change - - 'test/**' - # do not build if other schemes duplicate_consistency files change - - '!test/duplicate_consistency/*.yml' - - 'test/duplicate_consistency/ntruhps2048677*.yml' - # build if common files change - - 'common/**' - # build if scheme changed - - 'crypto_kem/ntruhps2048677/**' - # build if workflow file changed - - '.github/workflows/kem_ntruhps2048677.yml' - # Build if any files in the root change, except .md files - - '*' - - '!*.md' - schedule: - - cron: '5 4 * * *' - -name: Test ntruhps2048677 - -jobs: - test-native: - runs-on: ubuntu-latest - container: - image: pqclean/ci-container:${{ matrix.arch }} - env: - PQCLEAN_ONLY_SCHEMES: ntruhps2048677 - CC: ccache ${{ matrix.cc }} - CCACHE_NOSTATS: 1 - CCACHE_DIR: /ccache - CCACHE_SLOPPINESS: include_file_mtime - strategy: - matrix: - arch: - - amd64 - - i386 - cc: - - gcc - - clang - steps: - - name: Cancel Previous Runs - uses: thomwiggers/cancel-workflow-action@all_but_latest - with: - all_but_latest: true - access_token: ${{ github.token }} - continue-on-error: true - if: matrix.arch == 'amd64' && matrix.cc == 'gcc' - - uses: actions/checkout@v2 - with: - submodules: true - - name: Cache ccache - uses: actions/cache@v2 - env: - cache-name: cache-ccache - with: - path: /ccache - key: v1-${{ runner.os }}-build-${{ env.cache-name }}-${{ matrix.cc }}-${{ env.GITHUB_WORKFLOW }}-${{ matrix.arch }} - - name: Cache pip - uses: actions/cache@v2 - env: - cache-name: cache-python-pip - with: - path: ~/.cache/pip - key: v1-python-pip - - name: Install python dependencies - run: | - python3 -m pip install -U -r requirements.txt - - name: Run tests - run: | - cd test - python3 -m pytest --verbose --numprocesses=auto - test-emulated: - needs: - - test-native - runs-on: ubuntu-latest - strategy: - matrix: - arch: - - armhf - - unstable-ppc - cc: - - gcc - - clang - env: - CC: ${{ matrix.cc }} - steps: - - name: Register qemu-user-static - run: | - docker run --rm --privileged multiarch/qemu-user-static:register --reset - - uses: actions/checkout@v2 - with: - submodules: true - - name: Cache ccache - uses: actions/cache@v2 - env: - cache-name: cache-ccache - with: - path: ~/ccache - key: v1-${{ runner.os }}-build-${{ env.cache-name }}-${{ matrix.cc }}-${{ env.GITHUB_WORKFLOW }}-${{ matrix.arch }} - - name: Cache pip - uses: actions/cache@v2 - env: - cache-name: cache-python-pip - with: - path: ~/.cache/pip - key: v1-python-pip - - name: Run tests in container - run: | - docker run --rm -e CI -e CC -e PQCLEAN_ONLY_SCHEMES=ntruhps2048677 -v $PWD:$PWD -w $PWD -v ~/ccache:/ccache pqclean/ci-container:${{ matrix.arch }} /bin/bash -c "\ - export CCACHE_NOSTATS=1 && \ - export CCACHE_DIR=/ccache && \ - export CCACHE_SLOPPINESS=include_file_mtime && \ - export CC=\"ccache $CC\" && \ - pip3 install -U -r requirements.txt && \ - cd test && \ - python3 -m pytest --verbose --numprocesses=auto" - test-windows: - needs: - - test-native - strategy: - matrix: - bits: - - 64 - - 32 - env: - PQCLEAN_ONLY_SCHEMES: ntruhps2048677 - runs-on: windows-latest - steps: - - uses: actions/checkout@v2 - with: - submodules: true - - name: Setup astyle - run: | - # Setup strong crypto - Set-ItemProperty -Path "HKLM:\\SOFTWARE\\Wow6432Node\\Microsoft\\.NetFramework\\v4.0.30319" -Name 'SchUseStrongCrypto' -Value '1' -Type DWord - Set-ItemProperty -Path "HKLM:\\SOFTWARE\\Microsoft\\.NetFramework\\v4.0.30319" -Name "SchUseStrongCrypto" -Value '1' -Type DWord - Invoke-WebRequest -OutFile "test\\astyle.exe" "https://rded.nl/pqclean/AStyle.exe" - shell: powershell - - name: Setup Python - uses: actions/setup-python@main - with: - python-version: "3.x" - - name: Install python requirements - run: python -m pip install -U -r requirements.txt - - name: Run tests - run: | - call "C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Enterprise\\VC\\Auxiliary\\Build\\vcvars${{ matrix.bits }}.bat" - cd test - python -m pytest --verbose --numprocesses=auto - shell: cmd - test-macos: - needs: - - test-native - env: - PQCLEAN_ONLY_SCHEMES: ntruhps2048677 - CCACHE_NOSTATS: 1 - CCACHE_SLOPPINESS: include_file_mtime - # XCode version - DEVELOPER_DIR: /Applications/Xcode_11.5.app/Contents/Developer - strategy: - matrix: - compiler: - - clang # XCode (Apple LLVM/Clang) - - gcc9 # GNU (Homebrew) - runs-on: macos-latest - steps: - - uses: actions/checkout@v2 - with: - submodules: true - - name: Install astyle - run: | - brew install astyle - - name: Set up GCC9 compiler - run: 'export PATH="/usr/local/bin:$PATH" && export CC=gcc-9' - if: matrix.compiler == 'gcc9' - - name: Setup Python - uses: actions/setup-python@main - with: - python-version: "3.x" - - name: Install Python dependencies - run: python -m pip install -U -r requirements.txt - - name: Run tests - run: | - cd test - python -m pytest --verbose --numprocesses=auto - diff --git a/.github/workflows/kem_ntruhps4096821.yml b/.github/workflows/kem_ntruhps4096821.yml deleted file mode 100644 index b418a768..00000000 --- a/.github/workflows/kem_ntruhps4096821.yml +++ /dev/null @@ -1,204 +0,0 @@ -on: - push: - paths: - # build if tests change - - 'test/**' - # do not build if other schemes duplicate_consistency files change - - '!test/duplicate_consistency/*.yml' - - 'test/duplicate_consistency/ntruhps4096821*.yml' - # build if common files change - - 'common/**' - # build if scheme changed - - 'crypto_kem/ntruhps4096821/**' - # build if workflow file changed - - '.github/workflows/kem_ntruhps4096821.yml' - # Build if any files in the root change, except .md files - - '*' - - '!*.md' - pull_request: - paths: - # build if tests change - - 'test/**' - # do not build if other schemes duplicate_consistency files change - - '!test/duplicate_consistency/*.yml' - - 'test/duplicate_consistency/ntruhps4096821*.yml' - # build if common files change - - 'common/**' - # build if scheme changed - - 'crypto_kem/ntruhps4096821/**' - # build if workflow file changed - - '.github/workflows/kem_ntruhps4096821.yml' - # Build if any files in the root change, except .md files - - '*' - - '!*.md' - schedule: - - cron: '5 4 * * *' - -name: Test ntruhps4096821 - -jobs: - test-native: - runs-on: ubuntu-latest - container: - image: pqclean/ci-container:${{ matrix.arch }} - env: - PQCLEAN_ONLY_SCHEMES: ntruhps4096821 - CC: ccache ${{ matrix.cc }} - CCACHE_NOSTATS: 1 - CCACHE_DIR: /ccache - CCACHE_SLOPPINESS: include_file_mtime - strategy: - matrix: - arch: - - amd64 - - i386 - cc: - - gcc - - clang - steps: - - name: Cancel Previous Runs - uses: thomwiggers/cancel-workflow-action@all_but_latest - with: - all_but_latest: true - access_token: ${{ github.token }} - continue-on-error: true - if: matrix.arch == 'amd64' && matrix.cc == 'gcc' - - uses: actions/checkout@v2 - with: - submodules: true - - name: Cache ccache - uses: actions/cache@v2 - env: - cache-name: cache-ccache - with: - path: /ccache - key: v1-${{ runner.os }}-build-${{ env.cache-name }}-${{ matrix.cc }}-${{ env.GITHUB_WORKFLOW }}-${{ matrix.arch }} - - name: Cache pip - uses: actions/cache@v2 - env: - cache-name: cache-python-pip - with: - path: ~/.cache/pip - key: v1-python-pip - - name: Install python dependencies - run: | - python3 -m pip install -U -r requirements.txt - - name: Run tests - run: | - cd test - python3 -m pytest --verbose --numprocesses=auto - test-emulated: - needs: - - test-native - runs-on: ubuntu-latest - strategy: - matrix: - arch: - - armhf - - unstable-ppc - cc: - - gcc - - clang - env: - CC: ${{ matrix.cc }} - steps: - - name: Register qemu-user-static - run: | - docker run --rm --privileged multiarch/qemu-user-static:register --reset - - uses: actions/checkout@v2 - with: - submodules: true - - name: Cache ccache - uses: actions/cache@v2 - env: - cache-name: cache-ccache - with: - path: ~/ccache - key: v1-${{ runner.os }}-build-${{ env.cache-name }}-${{ matrix.cc }}-${{ env.GITHUB_WORKFLOW }}-${{ matrix.arch }} - - name: Cache pip - uses: actions/cache@v2 - env: - cache-name: cache-python-pip - with: - path: ~/.cache/pip - key: v1-python-pip - - name: Run tests in container - run: | - docker run --rm -e CI -e CC -e PQCLEAN_ONLY_SCHEMES=ntruhps4096821 -v $PWD:$PWD -w $PWD -v ~/ccache:/ccache pqclean/ci-container:${{ matrix.arch }} /bin/bash -c "\ - export CCACHE_NOSTATS=1 && \ - export CCACHE_DIR=/ccache && \ - export CCACHE_SLOPPINESS=include_file_mtime && \ - export CC=\"ccache $CC\" && \ - pip3 install -U -r requirements.txt && \ - cd test && \ - python3 -m pytest --verbose --numprocesses=auto" - test-windows: - needs: - - test-native - strategy: - matrix: - bits: - - 64 - - 32 - env: - PQCLEAN_ONLY_SCHEMES: ntruhps4096821 - runs-on: windows-latest - steps: - - uses: actions/checkout@v2 - with: - submodules: true - - name: Setup astyle - run: | - # Setup strong crypto - Set-ItemProperty -Path "HKLM:\\SOFTWARE\\Wow6432Node\\Microsoft\\.NetFramework\\v4.0.30319" -Name 'SchUseStrongCrypto' -Value '1' -Type DWord - Set-ItemProperty -Path "HKLM:\\SOFTWARE\\Microsoft\\.NetFramework\\v4.0.30319" -Name "SchUseStrongCrypto" -Value '1' -Type DWord - Invoke-WebRequest -OutFile "test\\astyle.exe" "https://rded.nl/pqclean/AStyle.exe" - shell: powershell - - name: Setup Python - uses: actions/setup-python@main - with: - python-version: "3.x" - - name: Install python requirements - run: python -m pip install -U -r requirements.txt - - name: Run tests - run: | - call "C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Enterprise\\VC\\Auxiliary\\Build\\vcvars${{ matrix.bits }}.bat" - cd test - python -m pytest --verbose --numprocesses=auto - shell: cmd - test-macos: - needs: - - test-native - env: - PQCLEAN_ONLY_SCHEMES: ntruhps4096821 - CCACHE_NOSTATS: 1 - CCACHE_SLOPPINESS: include_file_mtime - # XCode version - DEVELOPER_DIR: /Applications/Xcode_11.5.app/Contents/Developer - strategy: - matrix: - compiler: - - clang # XCode (Apple LLVM/Clang) - - gcc9 # GNU (Homebrew) - runs-on: macos-latest - steps: - - uses: actions/checkout@v2 - with: - submodules: true - - name: Install astyle - run: | - brew install astyle - - name: Set up GCC9 compiler - run: 'export PATH="/usr/local/bin:$PATH" && export CC=gcc-9' - if: matrix.compiler == 'gcc9' - - name: Setup Python - uses: actions/setup-python@main - with: - python-version: "3.x" - - name: Install Python dependencies - run: python -m pip install -U -r requirements.txt - - name: Run tests - run: | - cd test - python -m pytest --verbose --numprocesses=auto - diff --git a/.github/workflows/kem_ntruhrss701.yml b/.github/workflows/kem_ntruhrss701.yml deleted file mode 100644 index 52dee4e5..00000000 --- a/.github/workflows/kem_ntruhrss701.yml +++ /dev/null @@ -1,204 +0,0 @@ -on: - push: - paths: - # build if tests change - - 'test/**' - # do not build if other schemes duplicate_consistency files change - - '!test/duplicate_consistency/*.yml' - - 'test/duplicate_consistency/ntruhrss701*.yml' - # build if common files change - - 'common/**' - # build if scheme changed - - 'crypto_kem/ntruhrss701/**' - # build if workflow file changed - - '.github/workflows/kem_ntruhrss701.yml' - # Build if any files in the root change, except .md files - - '*' - - '!*.md' - pull_request: - paths: - # build if tests change - - 'test/**' - # do not build if other schemes duplicate_consistency files change - - '!test/duplicate_consistency/*.yml' - - 'test/duplicate_consistency/ntruhrss701*.yml' - # build if common files change - - 'common/**' - # build if scheme changed - - 'crypto_kem/ntruhrss701/**' - # build if workflow file changed - - '.github/workflows/kem_ntruhrss701.yml' - # Build if any files in the root change, except .md files - - '*' - - '!*.md' - schedule: - - cron: '5 4 * * *' - -name: Test ntruhrss701 - -jobs: - test-native: - runs-on: ubuntu-latest - container: - image: pqclean/ci-container:${{ matrix.arch }} - env: - PQCLEAN_ONLY_SCHEMES: ntruhrss701 - CC: ccache ${{ matrix.cc }} - CCACHE_NOSTATS: 1 - CCACHE_DIR: /ccache - CCACHE_SLOPPINESS: include_file_mtime - strategy: - matrix: - arch: - - amd64 - - i386 - cc: - - gcc - - clang - steps: - - name: Cancel Previous Runs - uses: thomwiggers/cancel-workflow-action@all_but_latest - with: - all_but_latest: true - access_token: ${{ github.token }} - continue-on-error: true - if: matrix.arch == 'amd64' && matrix.cc == 'gcc' - - uses: actions/checkout@v2 - with: - submodules: true - - name: Cache ccache - uses: actions/cache@v2 - env: - cache-name: cache-ccache - with: - path: /ccache - key: v1-${{ runner.os }}-build-${{ env.cache-name }}-${{ matrix.cc }}-${{ env.GITHUB_WORKFLOW }}-${{ matrix.arch }} - - name: Cache pip - uses: actions/cache@v2 - env: - cache-name: cache-python-pip - with: - path: ~/.cache/pip - key: v1-python-pip - - name: Install python dependencies - run: | - python3 -m pip install -U -r requirements.txt - - name: Run tests - run: | - cd test - python3 -m pytest --verbose --numprocesses=auto - test-emulated: - needs: - - test-native - runs-on: ubuntu-latest - strategy: - matrix: - arch: - - armhf - - unstable-ppc - cc: - - gcc - - clang - env: - CC: ${{ matrix.cc }} - steps: - - name: Register qemu-user-static - run: | - docker run --rm --privileged multiarch/qemu-user-static:register --reset - - uses: actions/checkout@v2 - with: - submodules: true - - name: Cache ccache - uses: actions/cache@v2 - env: - cache-name: cache-ccache - with: - path: ~/ccache - key: v1-${{ runner.os }}-build-${{ env.cache-name }}-${{ matrix.cc }}-${{ env.GITHUB_WORKFLOW }}-${{ matrix.arch }} - - name: Cache pip - uses: actions/cache@v2 - env: - cache-name: cache-python-pip - with: - path: ~/.cache/pip - key: v1-python-pip - - name: Run tests in container - run: | - docker run --rm -e CI -e CC -e PQCLEAN_ONLY_SCHEMES=ntruhrss701 -v $PWD:$PWD -w $PWD -v ~/ccache:/ccache pqclean/ci-container:${{ matrix.arch }} /bin/bash -c "\ - export CCACHE_NOSTATS=1 && \ - export CCACHE_DIR=/ccache && \ - export CCACHE_SLOPPINESS=include_file_mtime && \ - export CC=\"ccache $CC\" && \ - pip3 install -U -r requirements.txt && \ - cd test && \ - python3 -m pytest --verbose --numprocesses=auto" - test-windows: - needs: - - test-native - strategy: - matrix: - bits: - - 64 - - 32 - env: - PQCLEAN_ONLY_SCHEMES: ntruhrss701 - runs-on: windows-latest - steps: - - uses: actions/checkout@v2 - with: - submodules: true - - name: Setup astyle - run: | - # Setup strong crypto - Set-ItemProperty -Path "HKLM:\\SOFTWARE\\Wow6432Node\\Microsoft\\.NetFramework\\v4.0.30319" -Name 'SchUseStrongCrypto' -Value '1' -Type DWord - Set-ItemProperty -Path "HKLM:\\SOFTWARE\\Microsoft\\.NetFramework\\v4.0.30319" -Name "SchUseStrongCrypto" -Value '1' -Type DWord - Invoke-WebRequest -OutFile "test\\astyle.exe" "https://rded.nl/pqclean/AStyle.exe" - shell: powershell - - name: Setup Python - uses: actions/setup-python@main - with: - python-version: "3.x" - - name: Install python requirements - run: python -m pip install -U -r requirements.txt - - name: Run tests - run: | - call "C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Enterprise\\VC\\Auxiliary\\Build\\vcvars${{ matrix.bits }}.bat" - cd test - python -m pytest --verbose --numprocesses=auto - shell: cmd - test-macos: - needs: - - test-native - env: - PQCLEAN_ONLY_SCHEMES: ntruhrss701 - CCACHE_NOSTATS: 1 - CCACHE_SLOPPINESS: include_file_mtime - # XCode version - DEVELOPER_DIR: /Applications/Xcode_11.5.app/Contents/Developer - strategy: - matrix: - compiler: - - clang # XCode (Apple LLVM/Clang) - - gcc9 # GNU (Homebrew) - runs-on: macos-latest - steps: - - uses: actions/checkout@v2 - with: - submodules: true - - name: Install astyle - run: | - brew install astyle - - name: Set up GCC9 compiler - run: 'export PATH="/usr/local/bin:$PATH" && export CC=gcc-9' - if: matrix.compiler == 'gcc9' - - name: Setup Python - uses: actions/setup-python@main - with: - python-version: "3.x" - - name: Install Python dependencies - run: python -m pip install -U -r requirements.txt - - name: Run tests - run: | - cd test - python -m pytest --verbose --numprocesses=auto - diff --git a/.github/workflows/kem_ntrulpr653.yml b/.github/workflows/kem_ntrulpr653.yml deleted file mode 100644 index a30f145e..00000000 --- a/.github/workflows/kem_ntrulpr653.yml +++ /dev/null @@ -1,204 +0,0 @@ -on: - push: - paths: - # build if tests change - - 'test/**' - # do not build if other schemes duplicate_consistency files change - - '!test/duplicate_consistency/*.yml' - - 'test/duplicate_consistency/ntrulpr653*.yml' - # build if common files change - - 'common/**' - # build if scheme changed - - 'crypto_kem/ntrulpr653/**' - # build if workflow file changed - - '.github/workflows/kem_ntrulpr653.yml' - # Build if any files in the root change, except .md files - - '*' - - '!*.md' - pull_request: - paths: - # build if tests change - - 'test/**' - # do not build if other schemes duplicate_consistency files change - - '!test/duplicate_consistency/*.yml' - - 'test/duplicate_consistency/ntrulpr653*.yml' - # build if common files change - - 'common/**' - # build if scheme changed - - 'crypto_kem/ntrulpr653/**' - # build if workflow file changed - - '.github/workflows/kem_ntrulpr653.yml' - # Build if any files in the root change, except .md files - - '*' - - '!*.md' - schedule: - - cron: '5 4 * * *' - -name: Test ntrulpr653 - -jobs: - test-native: - runs-on: ubuntu-latest - container: - image: pqclean/ci-container:${{ matrix.arch }} - env: - PQCLEAN_ONLY_SCHEMES: ntrulpr653 - CC: ccache ${{ matrix.cc }} - CCACHE_NOSTATS: 1 - CCACHE_DIR: /ccache - CCACHE_SLOPPINESS: include_file_mtime - strategy: - matrix: - arch: - - amd64 - - i386 - cc: - - gcc - - clang - steps: - - name: Cancel Previous Runs - uses: thomwiggers/cancel-workflow-action@all_but_latest - with: - all_but_latest: true - access_token: ${{ github.token }} - continue-on-error: true - if: matrix.arch == 'amd64' && matrix.cc == 'gcc' - - uses: actions/checkout@v2 - with: - submodules: true - - name: Cache ccache - uses: actions/cache@v2 - env: - cache-name: cache-ccache - with: - path: /ccache - key: v1-${{ runner.os }}-build-${{ env.cache-name }}-${{ matrix.cc }}-${{ env.GITHUB_WORKFLOW }}-${{ matrix.arch }} - - name: Cache pip - uses: actions/cache@v2 - env: - cache-name: cache-python-pip - with: - path: ~/.cache/pip - key: v1-python-pip - - name: Install python dependencies - run: | - python3 -m pip install -U -r requirements.txt - - name: Run tests - run: | - cd test - python3 -m pytest --verbose --numprocesses=auto - test-emulated: - needs: - - test-native - runs-on: ubuntu-latest - strategy: - matrix: - arch: - - armhf - - unstable-ppc - cc: - - gcc - - clang - env: - CC: ${{ matrix.cc }} - steps: - - name: Register qemu-user-static - run: | - docker run --rm --privileged multiarch/qemu-user-static:register --reset - - uses: actions/checkout@v2 - with: - submodules: true - - name: Cache ccache - uses: actions/cache@v2 - env: - cache-name: cache-ccache - with: - path: ~/ccache - key: v1-${{ runner.os }}-build-${{ env.cache-name }}-${{ matrix.cc }}-${{ env.GITHUB_WORKFLOW }}-${{ matrix.arch }} - - name: Cache pip - uses: actions/cache@v2 - env: - cache-name: cache-python-pip - with: - path: ~/.cache/pip - key: v1-python-pip - - name: Run tests in container - run: | - docker run --rm -e CI -e CC -e PQCLEAN_ONLY_SCHEMES=ntrulpr653 -v $PWD:$PWD -w $PWD -v ~/ccache:/ccache pqclean/ci-container:${{ matrix.arch }} /bin/bash -c "\ - export CCACHE_NOSTATS=1 && \ - export CCACHE_DIR=/ccache && \ - export CCACHE_SLOPPINESS=include_file_mtime && \ - export CC=\"ccache $CC\" && \ - pip3 install -U -r requirements.txt && \ - cd test && \ - python3 -m pytest --verbose --numprocesses=auto" - test-windows: - needs: - - test-native - strategy: - matrix: - bits: - - 64 - - 32 - env: - PQCLEAN_ONLY_SCHEMES: ntrulpr653 - runs-on: windows-latest - steps: - - uses: actions/checkout@v2 - with: - submodules: true - - name: Setup astyle - run: | - # Setup strong crypto - Set-ItemProperty -Path "HKLM:\\SOFTWARE\\Wow6432Node\\Microsoft\\.NetFramework\\v4.0.30319" -Name 'SchUseStrongCrypto' -Value '1' -Type DWord - Set-ItemProperty -Path "HKLM:\\SOFTWARE\\Microsoft\\.NetFramework\\v4.0.30319" -Name "SchUseStrongCrypto" -Value '1' -Type DWord - Invoke-WebRequest -OutFile "test\\astyle.exe" "https://rded.nl/pqclean/AStyle.exe" - shell: powershell - - name: Setup Python - uses: actions/setup-python@main - with: - python-version: "3.x" - - name: Install python requirements - run: python -m pip install -U -r requirements.txt - - name: Run tests - run: | - call "C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Enterprise\\VC\\Auxiliary\\Build\\vcvars${{ matrix.bits }}.bat" - cd test - python -m pytest --verbose --numprocesses=auto - shell: cmd - test-macos: - needs: - - test-native - env: - PQCLEAN_ONLY_SCHEMES: ntrulpr653 - CCACHE_NOSTATS: 1 - CCACHE_SLOPPINESS: include_file_mtime - # XCode version - DEVELOPER_DIR: /Applications/Xcode_11.5.app/Contents/Developer - strategy: - matrix: - compiler: - - clang # XCode (Apple LLVM/Clang) - - gcc9 # GNU (Homebrew) - runs-on: macos-latest - steps: - - uses: actions/checkout@v2 - with: - submodules: true - - name: Install astyle - run: | - brew install astyle - - name: Set up GCC9 compiler - run: 'export PATH="/usr/local/bin:$PATH" && export CC=gcc-9' - if: matrix.compiler == 'gcc9' - - name: Setup Python - uses: actions/setup-python@main - with: - python-version: "3.x" - - name: Install Python dependencies - run: python -m pip install -U -r requirements.txt - - name: Run tests - run: | - cd test - python -m pytest --verbose --numprocesses=auto - diff --git a/.github/workflows/kem_ntrulpr761.yml b/.github/workflows/kem_ntrulpr761.yml deleted file mode 100644 index 10920724..00000000 --- a/.github/workflows/kem_ntrulpr761.yml +++ /dev/null @@ -1,204 +0,0 @@ -on: - push: - paths: - # build if tests change - - 'test/**' - # do not build if other schemes duplicate_consistency files change - - '!test/duplicate_consistency/*.yml' - - 'test/duplicate_consistency/ntrulpr761*.yml' - # build if common files change - - 'common/**' - # build if scheme changed - - 'crypto_kem/ntrulpr761/**' - # build if workflow file changed - - '.github/workflows/kem_ntrulpr761.yml' - # Build if any files in the root change, except .md files - - '*' - - '!*.md' - pull_request: - paths: - # build if tests change - - 'test/**' - # do not build if other schemes duplicate_consistency files change - - '!test/duplicate_consistency/*.yml' - - 'test/duplicate_consistency/ntrulpr761*.yml' - # build if common files change - - 'common/**' - # build if scheme changed - - 'crypto_kem/ntrulpr761/**' - # build if workflow file changed - - '.github/workflows/kem_ntrulpr761.yml' - # Build if any files in the root change, except .md files - - '*' - - '!*.md' - schedule: - - cron: '5 4 * * *' - -name: Test ntrulpr761 - -jobs: - test-native: - runs-on: ubuntu-latest - container: - image: pqclean/ci-container:${{ matrix.arch }} - env: - PQCLEAN_ONLY_SCHEMES: ntrulpr761 - CC: ccache ${{ matrix.cc }} - CCACHE_NOSTATS: 1 - CCACHE_DIR: /ccache - CCACHE_SLOPPINESS: include_file_mtime - strategy: - matrix: - arch: - - amd64 - - i386 - cc: - - gcc - - clang - steps: - - name: Cancel Previous Runs - uses: thomwiggers/cancel-workflow-action@all_but_latest - with: - all_but_latest: true - access_token: ${{ github.token }} - continue-on-error: true - if: matrix.arch == 'amd64' && matrix.cc == 'gcc' - - uses: actions/checkout@v2 - with: - submodules: true - - name: Cache ccache - uses: actions/cache@v2 - env: - cache-name: cache-ccache - with: - path: /ccache - key: v1-${{ runner.os }}-build-${{ env.cache-name }}-${{ matrix.cc }}-${{ env.GITHUB_WORKFLOW }}-${{ matrix.arch }} - - name: Cache pip - uses: actions/cache@v2 - env: - cache-name: cache-python-pip - with: - path: ~/.cache/pip - key: v1-python-pip - - name: Install python dependencies - run: | - python3 -m pip install -U -r requirements.txt - - name: Run tests - run: | - cd test - python3 -m pytest --verbose --numprocesses=auto - test-emulated: - needs: - - test-native - runs-on: ubuntu-latest - strategy: - matrix: - arch: - - armhf - - unstable-ppc - cc: - - gcc - - clang - env: - CC: ${{ matrix.cc }} - steps: - - name: Register qemu-user-static - run: | - docker run --rm --privileged multiarch/qemu-user-static:register --reset - - uses: actions/checkout@v2 - with: - submodules: true - - name: Cache ccache - uses: actions/cache@v2 - env: - cache-name: cache-ccache - with: - path: ~/ccache - key: v1-${{ runner.os }}-build-${{ env.cache-name }}-${{ matrix.cc }}-${{ env.GITHUB_WORKFLOW }}-${{ matrix.arch }} - - name: Cache pip - uses: actions/cache@v2 - env: - cache-name: cache-python-pip - with: - path: ~/.cache/pip - key: v1-python-pip - - name: Run tests in container - run: | - docker run --rm -e CI -e CC -e PQCLEAN_ONLY_SCHEMES=ntrulpr761 -v $PWD:$PWD -w $PWD -v ~/ccache:/ccache pqclean/ci-container:${{ matrix.arch }} /bin/bash -c "\ - export CCACHE_NOSTATS=1 && \ - export CCACHE_DIR=/ccache && \ - export CCACHE_SLOPPINESS=include_file_mtime && \ - export CC=\"ccache $CC\" && \ - pip3 install -U -r requirements.txt && \ - cd test && \ - python3 -m pytest --verbose --numprocesses=auto" - test-windows: - needs: - - test-native - strategy: - matrix: - bits: - - 64 - - 32 - env: - PQCLEAN_ONLY_SCHEMES: ntrulpr761 - runs-on: windows-latest - steps: - - uses: actions/checkout@v2 - with: - submodules: true - - name: Setup astyle - run: | - # Setup strong crypto - Set-ItemProperty -Path "HKLM:\\SOFTWARE\\Wow6432Node\\Microsoft\\.NetFramework\\v4.0.30319" -Name 'SchUseStrongCrypto' -Value '1' -Type DWord - Set-ItemProperty -Path "HKLM:\\SOFTWARE\\Microsoft\\.NetFramework\\v4.0.30319" -Name "SchUseStrongCrypto" -Value '1' -Type DWord - Invoke-WebRequest -OutFile "test\\astyle.exe" "https://rded.nl/pqclean/AStyle.exe" - shell: powershell - - name: Setup Python - uses: actions/setup-python@main - with: - python-version: "3.x" - - name: Install python requirements - run: python -m pip install -U -r requirements.txt - - name: Run tests - run: | - call "C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Enterprise\\VC\\Auxiliary\\Build\\vcvars${{ matrix.bits }}.bat" - cd test - python -m pytest --verbose --numprocesses=auto - shell: cmd - test-macos: - needs: - - test-native - env: - PQCLEAN_ONLY_SCHEMES: ntrulpr761 - CCACHE_NOSTATS: 1 - CCACHE_SLOPPINESS: include_file_mtime - # XCode version - DEVELOPER_DIR: /Applications/Xcode_11.5.app/Contents/Developer - strategy: - matrix: - compiler: - - clang # XCode (Apple LLVM/Clang) - - gcc9 # GNU (Homebrew) - runs-on: macos-latest - steps: - - uses: actions/checkout@v2 - with: - submodules: true - - name: Install astyle - run: | - brew install astyle - - name: Set up GCC9 compiler - run: 'export PATH="/usr/local/bin:$PATH" && export CC=gcc-9' - if: matrix.compiler == 'gcc9' - - name: Setup Python - uses: actions/setup-python@main - with: - python-version: "3.x" - - name: Install Python dependencies - run: python -m pip install -U -r requirements.txt - - name: Run tests - run: | - cd test - python -m pytest --verbose --numprocesses=auto - diff --git a/.github/workflows/kem_ntrulpr857.yml b/.github/workflows/kem_ntrulpr857.yml deleted file mode 100644 index 82a053c4..00000000 --- a/.github/workflows/kem_ntrulpr857.yml +++ /dev/null @@ -1,204 +0,0 @@ -on: - push: - paths: - # build if tests change - - 'test/**' - # do not build if other schemes duplicate_consistency files change - - '!test/duplicate_consistency/*.yml' - - 'test/duplicate_consistency/ntrulpr857*.yml' - # build if common files change - - 'common/**' - # build if scheme changed - - 'crypto_kem/ntrulpr857/**' - # build if workflow file changed - - '.github/workflows/kem_ntrulpr857.yml' - # Build if any files in the root change, except .md files - - '*' - - '!*.md' - pull_request: - paths: - # build if tests change - - 'test/**' - # do not build if other schemes duplicate_consistency files change - - '!test/duplicate_consistency/*.yml' - - 'test/duplicate_consistency/ntrulpr857*.yml' - # build if common files change - - 'common/**' - # build if scheme changed - - 'crypto_kem/ntrulpr857/**' - # build if workflow file changed - - '.github/workflows/kem_ntrulpr857.yml' - # Build if any files in the root change, except .md files - - '*' - - '!*.md' - schedule: - - cron: '5 4 * * *' - -name: Test ntrulpr857 - -jobs: - test-native: - runs-on: ubuntu-latest - container: - image: pqclean/ci-container:${{ matrix.arch }} - env: - PQCLEAN_ONLY_SCHEMES: ntrulpr857 - CC: ccache ${{ matrix.cc }} - CCACHE_NOSTATS: 1 - CCACHE_DIR: /ccache - CCACHE_SLOPPINESS: include_file_mtime - strategy: - matrix: - arch: - - amd64 - - i386 - cc: - - gcc - - clang - steps: - - name: Cancel Previous Runs - uses: thomwiggers/cancel-workflow-action@all_but_latest - with: - all_but_latest: true - access_token: ${{ github.token }} - continue-on-error: true - if: matrix.arch == 'amd64' && matrix.cc == 'gcc' - - uses: actions/checkout@v2 - with: - submodules: true - - name: Cache ccache - uses: actions/cache@v2 - env: - cache-name: cache-ccache - with: - path: /ccache - key: v1-${{ runner.os }}-build-${{ env.cache-name }}-${{ matrix.cc }}-${{ env.GITHUB_WORKFLOW }}-${{ matrix.arch }} - - name: Cache pip - uses: actions/cache@v2 - env: - cache-name: cache-python-pip - with: - path: ~/.cache/pip - key: v1-python-pip - - name: Install python dependencies - run: | - python3 -m pip install -U -r requirements.txt - - name: Run tests - run: | - cd test - python3 -m pytest --verbose --numprocesses=auto - test-emulated: - needs: - - test-native - runs-on: ubuntu-latest - strategy: - matrix: - arch: - - armhf - - unstable-ppc - cc: - - gcc - - clang - env: - CC: ${{ matrix.cc }} - steps: - - name: Register qemu-user-static - run: | - docker run --rm --privileged multiarch/qemu-user-static:register --reset - - uses: actions/checkout@v2 - with: - submodules: true - - name: Cache ccache - uses: actions/cache@v2 - env: - cache-name: cache-ccache - with: - path: ~/ccache - key: v1-${{ runner.os }}-build-${{ env.cache-name }}-${{ matrix.cc }}-${{ env.GITHUB_WORKFLOW }}-${{ matrix.arch }} - - name: Cache pip - uses: actions/cache@v2 - env: - cache-name: cache-python-pip - with: - path: ~/.cache/pip - key: v1-python-pip - - name: Run tests in container - run: | - docker run --rm -e CI -e CC -e PQCLEAN_ONLY_SCHEMES=ntrulpr857 -v $PWD:$PWD -w $PWD -v ~/ccache:/ccache pqclean/ci-container:${{ matrix.arch }} /bin/bash -c "\ - export CCACHE_NOSTATS=1 && \ - export CCACHE_DIR=/ccache && \ - export CCACHE_SLOPPINESS=include_file_mtime && \ - export CC=\"ccache $CC\" && \ - pip3 install -U -r requirements.txt && \ - cd test && \ - python3 -m pytest --verbose --numprocesses=auto" - test-windows: - needs: - - test-native - strategy: - matrix: - bits: - - 64 - - 32 - env: - PQCLEAN_ONLY_SCHEMES: ntrulpr857 - runs-on: windows-latest - steps: - - uses: actions/checkout@v2 - with: - submodules: true - - name: Setup astyle - run: | - # Setup strong crypto - Set-ItemProperty -Path "HKLM:\\SOFTWARE\\Wow6432Node\\Microsoft\\.NetFramework\\v4.0.30319" -Name 'SchUseStrongCrypto' -Value '1' -Type DWord - Set-ItemProperty -Path "HKLM:\\SOFTWARE\\Microsoft\\.NetFramework\\v4.0.30319" -Name "SchUseStrongCrypto" -Value '1' -Type DWord - Invoke-WebRequest -OutFile "test\\astyle.exe" "https://rded.nl/pqclean/AStyle.exe" - shell: powershell - - name: Setup Python - uses: actions/setup-python@main - with: - python-version: "3.x" - - name: Install python requirements - run: python -m pip install -U -r requirements.txt - - name: Run tests - run: | - call "C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Enterprise\\VC\\Auxiliary\\Build\\vcvars${{ matrix.bits }}.bat" - cd test - python -m pytest --verbose --numprocesses=auto - shell: cmd - test-macos: - needs: - - test-native - env: - PQCLEAN_ONLY_SCHEMES: ntrulpr857 - CCACHE_NOSTATS: 1 - CCACHE_SLOPPINESS: include_file_mtime - # XCode version - DEVELOPER_DIR: /Applications/Xcode_11.5.app/Contents/Developer - strategy: - matrix: - compiler: - - clang # XCode (Apple LLVM/Clang) - - gcc9 # GNU (Homebrew) - runs-on: macos-latest - steps: - - uses: actions/checkout@v2 - with: - submodules: true - - name: Install astyle - run: | - brew install astyle - - name: Set up GCC9 compiler - run: 'export PATH="/usr/local/bin:$PATH" && export CC=gcc-9' - if: matrix.compiler == 'gcc9' - - name: Setup Python - uses: actions/setup-python@main - with: - python-version: "3.x" - - name: Install Python dependencies - run: python -m pip install -U -r requirements.txt - - name: Run tests - run: | - cd test - python -m pytest --verbose --numprocesses=auto - diff --git a/.github/workflows/kem_saber.yml b/.github/workflows/kem_saber.yml deleted file mode 100644 index 3337b13c..00000000 --- a/.github/workflows/kem_saber.yml +++ /dev/null @@ -1,204 +0,0 @@ -on: - push: - paths: - # build if tests change - - 'test/**' - # do not build if other schemes duplicate_consistency files change - - '!test/duplicate_consistency/*.yml' - - 'test/duplicate_consistency/saber*.yml' - # build if common files change - - 'common/**' - # build if scheme changed - - 'crypto_kem/saber/**' - # build if workflow file changed - - '.github/workflows/kem_saber.yml' - # Build if any files in the root change, except .md files - - '*' - - '!*.md' - pull_request: - paths: - # build if tests change - - 'test/**' - # do not build if other schemes duplicate_consistency files change - - '!test/duplicate_consistency/*.yml' - - 'test/duplicate_consistency/saber*.yml' - # build if common files change - - 'common/**' - # build if scheme changed - - 'crypto_kem/saber/**' - # build if workflow file changed - - '.github/workflows/kem_saber.yml' - # Build if any files in the root change, except .md files - - '*' - - '!*.md' - schedule: - - cron: '5 4 * * *' - -name: Test saber - -jobs: - test-native: - runs-on: ubuntu-latest - container: - image: pqclean/ci-container:${{ matrix.arch }} - env: - PQCLEAN_ONLY_SCHEMES: saber - CC: ccache ${{ matrix.cc }} - CCACHE_NOSTATS: 1 - CCACHE_DIR: /ccache - CCACHE_SLOPPINESS: include_file_mtime - strategy: - matrix: - arch: - - amd64 - - i386 - cc: - - gcc - - clang - steps: - - name: Cancel Previous Runs - uses: thomwiggers/cancel-workflow-action@all_but_latest - with: - all_but_latest: true - access_token: ${{ github.token }} - continue-on-error: true - if: matrix.arch == 'amd64' && matrix.cc == 'gcc' - - uses: actions/checkout@v2 - with: - submodules: true - - name: Cache ccache - uses: actions/cache@v2 - env: - cache-name: cache-ccache - with: - path: /ccache - key: v1-${{ runner.os }}-build-${{ env.cache-name }}-${{ matrix.cc }}-${{ env.GITHUB_WORKFLOW }}-${{ matrix.arch }} - - name: Cache pip - uses: actions/cache@v2 - env: - cache-name: cache-python-pip - with: - path: ~/.cache/pip - key: v1-python-pip - - name: Install python dependencies - run: | - python3 -m pip install -U -r requirements.txt - - name: Run tests - run: | - cd test - python3 -m pytest --verbose --numprocesses=auto - test-emulated: - needs: - - test-native - runs-on: ubuntu-latest - strategy: - matrix: - arch: - - armhf - - unstable-ppc - cc: - - gcc - - clang - env: - CC: ${{ matrix.cc }} - steps: - - name: Register qemu-user-static - run: | - docker run --rm --privileged multiarch/qemu-user-static:register --reset - - uses: actions/checkout@v2 - with: - submodules: true - - name: Cache ccache - uses: actions/cache@v2 - env: - cache-name: cache-ccache - with: - path: ~/ccache - key: v1-${{ runner.os }}-build-${{ env.cache-name }}-${{ matrix.cc }}-${{ env.GITHUB_WORKFLOW }}-${{ matrix.arch }} - - name: Cache pip - uses: actions/cache@v2 - env: - cache-name: cache-python-pip - with: - path: ~/.cache/pip - key: v1-python-pip - - name: Run tests in container - run: | - docker run --rm -e CI -e CC -e PQCLEAN_ONLY_SCHEMES=saber -v $PWD:$PWD -w $PWD -v ~/ccache:/ccache pqclean/ci-container:${{ matrix.arch }} /bin/bash -c "\ - export CCACHE_NOSTATS=1 && \ - export CCACHE_DIR=/ccache && \ - export CCACHE_SLOPPINESS=include_file_mtime && \ - export CC=\"ccache $CC\" && \ - pip3 install -U -r requirements.txt && \ - cd test && \ - python3 -m pytest --verbose --numprocesses=auto" - test-windows: - needs: - - test-native - strategy: - matrix: - bits: - - 64 - - 32 - env: - PQCLEAN_ONLY_SCHEMES: saber - runs-on: windows-latest - steps: - - uses: actions/checkout@v2 - with: - submodules: true - - name: Setup astyle - run: | - # Setup strong crypto - Set-ItemProperty -Path "HKLM:\\SOFTWARE\\Wow6432Node\\Microsoft\\.NetFramework\\v4.0.30319" -Name 'SchUseStrongCrypto' -Value '1' -Type DWord - Set-ItemProperty -Path "HKLM:\\SOFTWARE\\Microsoft\\.NetFramework\\v4.0.30319" -Name "SchUseStrongCrypto" -Value '1' -Type DWord - Invoke-WebRequest -OutFile "test\\astyle.exe" "https://rded.nl/pqclean/AStyle.exe" - shell: powershell - - name: Setup Python - uses: actions/setup-python@main - with: - python-version: "3.x" - - name: Install python requirements - run: python -m pip install -U -r requirements.txt - - name: Run tests - run: | - call "C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Enterprise\\VC\\Auxiliary\\Build\\vcvars${{ matrix.bits }}.bat" - cd test - python -m pytest --verbose --numprocesses=auto - shell: cmd - test-macos: - needs: - - test-native - env: - PQCLEAN_ONLY_SCHEMES: saber - CCACHE_NOSTATS: 1 - CCACHE_SLOPPINESS: include_file_mtime - # XCode version - DEVELOPER_DIR: /Applications/Xcode_11.5.app/Contents/Developer - strategy: - matrix: - compiler: - - clang # XCode (Apple LLVM/Clang) - - gcc9 # GNU (Homebrew) - runs-on: macos-latest - steps: - - uses: actions/checkout@v2 - with: - submodules: true - - name: Install astyle - run: | - brew install astyle - - name: Set up GCC9 compiler - run: 'export PATH="/usr/local/bin:$PATH" && export CC=gcc-9' - if: matrix.compiler == 'gcc9' - - name: Setup Python - uses: actions/setup-python@main - with: - python-version: "3.x" - - name: Install Python dependencies - run: python -m pip install -U -r requirements.txt - - name: Run tests - run: | - cd test - python -m pytest --verbose --numprocesses=auto - diff --git a/.github/workflows/kem_sntrup653.yml b/.github/workflows/kem_sntrup653.yml deleted file mode 100644 index eb2874d3..00000000 --- a/.github/workflows/kem_sntrup653.yml +++ /dev/null @@ -1,204 +0,0 @@ -on: - push: - paths: - # build if tests change - - 'test/**' - # do not build if other schemes duplicate_consistency files change - - '!test/duplicate_consistency/*.yml' - - 'test/duplicate_consistency/sntrup653*.yml' - # build if common files change - - 'common/**' - # build if scheme changed - - 'crypto_kem/sntrup653/**' - # build if workflow file changed - - '.github/workflows/kem_sntrup653.yml' - # Build if any files in the root change, except .md files - - '*' - - '!*.md' - pull_request: - paths: - # build if tests change - - 'test/**' - # do not build if other schemes duplicate_consistency files change - - '!test/duplicate_consistency/*.yml' - - 'test/duplicate_consistency/sntrup653*.yml' - # build if common files change - - 'common/**' - # build if scheme changed - - 'crypto_kem/sntrup653/**' - # build if workflow file changed - - '.github/workflows/kem_sntrup653.yml' - # Build if any files in the root change, except .md files - - '*' - - '!*.md' - schedule: - - cron: '5 4 * * *' - -name: Test sntrup653 - -jobs: - test-native: - runs-on: ubuntu-latest - container: - image: pqclean/ci-container:${{ matrix.arch }} - env: - PQCLEAN_ONLY_SCHEMES: sntrup653 - CC: ccache ${{ matrix.cc }} - CCACHE_NOSTATS: 1 - CCACHE_DIR: /ccache - CCACHE_SLOPPINESS: include_file_mtime - strategy: - matrix: - arch: - - amd64 - - i386 - cc: - - gcc - - clang - steps: - - name: Cancel Previous Runs - uses: thomwiggers/cancel-workflow-action@all_but_latest - with: - all_but_latest: true - access_token: ${{ github.token }} - continue-on-error: true - if: matrix.arch == 'amd64' && matrix.cc == 'gcc' - - uses: actions/checkout@v2 - with: - submodules: true - - name: Cache ccache - uses: actions/cache@v2 - env: - cache-name: cache-ccache - with: - path: /ccache - key: v1-${{ runner.os }}-build-${{ env.cache-name }}-${{ matrix.cc }}-${{ env.GITHUB_WORKFLOW }}-${{ matrix.arch }} - - name: Cache pip - uses: actions/cache@v2 - env: - cache-name: cache-python-pip - with: - path: ~/.cache/pip - key: v1-python-pip - - name: Install python dependencies - run: | - python3 -m pip install -U -r requirements.txt - - name: Run tests - run: | - cd test - python3 -m pytest --verbose --numprocesses=auto - test-emulated: - needs: - - test-native - runs-on: ubuntu-latest - strategy: - matrix: - arch: - - armhf - - unstable-ppc - cc: - - gcc - - clang - env: - CC: ${{ matrix.cc }} - steps: - - name: Register qemu-user-static - run: | - docker run --rm --privileged multiarch/qemu-user-static:register --reset - - uses: actions/checkout@v2 - with: - submodules: true - - name: Cache ccache - uses: actions/cache@v2 - env: - cache-name: cache-ccache - with: - path: ~/ccache - key: v1-${{ runner.os }}-build-${{ env.cache-name }}-${{ matrix.cc }}-${{ env.GITHUB_WORKFLOW }}-${{ matrix.arch }} - - name: Cache pip - uses: actions/cache@v2 - env: - cache-name: cache-python-pip - with: - path: ~/.cache/pip - key: v1-python-pip - - name: Run tests in container - run: | - docker run --rm -e CI -e CC -e PQCLEAN_ONLY_SCHEMES=sntrup653 -v $PWD:$PWD -w $PWD -v ~/ccache:/ccache pqclean/ci-container:${{ matrix.arch }} /bin/bash -c "\ - export CCACHE_NOSTATS=1 && \ - export CCACHE_DIR=/ccache && \ - export CCACHE_SLOPPINESS=include_file_mtime && \ - export CC=\"ccache $CC\" && \ - pip3 install -U -r requirements.txt && \ - cd test && \ - python3 -m pytest --verbose --numprocesses=auto" - test-windows: - needs: - - test-native - strategy: - matrix: - bits: - - 64 - - 32 - env: - PQCLEAN_ONLY_SCHEMES: sntrup653 - runs-on: windows-latest - steps: - - uses: actions/checkout@v2 - with: - submodules: true - - name: Setup astyle - run: | - # Setup strong crypto - Set-ItemProperty -Path "HKLM:\\SOFTWARE\\Wow6432Node\\Microsoft\\.NetFramework\\v4.0.30319" -Name 'SchUseStrongCrypto' -Value '1' -Type DWord - Set-ItemProperty -Path "HKLM:\\SOFTWARE\\Microsoft\\.NetFramework\\v4.0.30319" -Name "SchUseStrongCrypto" -Value '1' -Type DWord - Invoke-WebRequest -OutFile "test\\astyle.exe" "https://rded.nl/pqclean/AStyle.exe" - shell: powershell - - name: Setup Python - uses: actions/setup-python@main - with: - python-version: "3.x" - - name: Install python requirements - run: python -m pip install -U -r requirements.txt - - name: Run tests - run: | - call "C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Enterprise\\VC\\Auxiliary\\Build\\vcvars${{ matrix.bits }}.bat" - cd test - python -m pytest --verbose --numprocesses=auto - shell: cmd - test-macos: - needs: - - test-native - env: - PQCLEAN_ONLY_SCHEMES: sntrup653 - CCACHE_NOSTATS: 1 - CCACHE_SLOPPINESS: include_file_mtime - # XCode version - DEVELOPER_DIR: /Applications/Xcode_11.5.app/Contents/Developer - strategy: - matrix: - compiler: - - clang # XCode (Apple LLVM/Clang) - - gcc9 # GNU (Homebrew) - runs-on: macos-latest - steps: - - uses: actions/checkout@v2 - with: - submodules: true - - name: Install astyle - run: | - brew install astyle - - name: Set up GCC9 compiler - run: 'export PATH="/usr/local/bin:$PATH" && export CC=gcc-9' - if: matrix.compiler == 'gcc9' - - name: Setup Python - uses: actions/setup-python@main - with: - python-version: "3.x" - - name: Install Python dependencies - run: python -m pip install -U -r requirements.txt - - name: Run tests - run: | - cd test - python -m pytest --verbose --numprocesses=auto - diff --git a/.github/workflows/kem_sntrup761.yml b/.github/workflows/kem_sntrup761.yml deleted file mode 100644 index 5768e7d4..00000000 --- a/.github/workflows/kem_sntrup761.yml +++ /dev/null @@ -1,204 +0,0 @@ -on: - push: - paths: - # build if tests change - - 'test/**' - # do not build if other schemes duplicate_consistency files change - - '!test/duplicate_consistency/*.yml' - - 'test/duplicate_consistency/sntrup761*.yml' - # build if common files change - - 'common/**' - # build if scheme changed - - 'crypto_kem/sntrup761/**' - # build if workflow file changed - - '.github/workflows/kem_sntrup761.yml' - # Build if any files in the root change, except .md files - - '*' - - '!*.md' - pull_request: - paths: - # build if tests change - - 'test/**' - # do not build if other schemes duplicate_consistency files change - - '!test/duplicate_consistency/*.yml' - - 'test/duplicate_consistency/sntrup761*.yml' - # build if common files change - - 'common/**' - # build if scheme changed - - 'crypto_kem/sntrup761/**' - # build if workflow file changed - - '.github/workflows/kem_sntrup761.yml' - # Build if any files in the root change, except .md files - - '*' - - '!*.md' - schedule: - - cron: '5 4 * * *' - -name: Test sntrup761 - -jobs: - test-native: - runs-on: ubuntu-latest - container: - image: pqclean/ci-container:${{ matrix.arch }} - env: - PQCLEAN_ONLY_SCHEMES: sntrup761 - CC: ccache ${{ matrix.cc }} - CCACHE_NOSTATS: 1 - CCACHE_DIR: /ccache - CCACHE_SLOPPINESS: include_file_mtime - strategy: - matrix: - arch: - - amd64 - - i386 - cc: - - gcc - - clang - steps: - - name: Cancel Previous Runs - uses: thomwiggers/cancel-workflow-action@all_but_latest - with: - all_but_latest: true - access_token: ${{ github.token }} - continue-on-error: true - if: matrix.arch == 'amd64' && matrix.cc == 'gcc' - - uses: actions/checkout@v2 - with: - submodules: true - - name: Cache ccache - uses: actions/cache@v2 - env: - cache-name: cache-ccache - with: - path: /ccache - key: v1-${{ runner.os }}-build-${{ env.cache-name }}-${{ matrix.cc }}-${{ env.GITHUB_WORKFLOW }}-${{ matrix.arch }} - - name: Cache pip - uses: actions/cache@v2 - env: - cache-name: cache-python-pip - with: - path: ~/.cache/pip - key: v1-python-pip - - name: Install python dependencies - run: | - python3 -m pip install -U -r requirements.txt - - name: Run tests - run: | - cd test - python3 -m pytest --verbose --numprocesses=auto - test-emulated: - needs: - - test-native - runs-on: ubuntu-latest - strategy: - matrix: - arch: - - armhf - - unstable-ppc - cc: - - gcc - - clang - env: - CC: ${{ matrix.cc }} - steps: - - name: Register qemu-user-static - run: | - docker run --rm --privileged multiarch/qemu-user-static:register --reset - - uses: actions/checkout@v2 - with: - submodules: true - - name: Cache ccache - uses: actions/cache@v2 - env: - cache-name: cache-ccache - with: - path: ~/ccache - key: v1-${{ runner.os }}-build-${{ env.cache-name }}-${{ matrix.cc }}-${{ env.GITHUB_WORKFLOW }}-${{ matrix.arch }} - - name: Cache pip - uses: actions/cache@v2 - env: - cache-name: cache-python-pip - with: - path: ~/.cache/pip - key: v1-python-pip - - name: Run tests in container - run: | - docker run --rm -e CI -e CC -e PQCLEAN_ONLY_SCHEMES=sntrup761 -v $PWD:$PWD -w $PWD -v ~/ccache:/ccache pqclean/ci-container:${{ matrix.arch }} /bin/bash -c "\ - export CCACHE_NOSTATS=1 && \ - export CCACHE_DIR=/ccache && \ - export CCACHE_SLOPPINESS=include_file_mtime && \ - export CC=\"ccache $CC\" && \ - pip3 install -U -r requirements.txt && \ - cd test && \ - python3 -m pytest --verbose --numprocesses=auto" - test-windows: - needs: - - test-native - strategy: - matrix: - bits: - - 64 - - 32 - env: - PQCLEAN_ONLY_SCHEMES: sntrup761 - runs-on: windows-latest - steps: - - uses: actions/checkout@v2 - with: - submodules: true - - name: Setup astyle - run: | - # Setup strong crypto - Set-ItemProperty -Path "HKLM:\\SOFTWARE\\Wow6432Node\\Microsoft\\.NetFramework\\v4.0.30319" -Name 'SchUseStrongCrypto' -Value '1' -Type DWord - Set-ItemProperty -Path "HKLM:\\SOFTWARE\\Microsoft\\.NetFramework\\v4.0.30319" -Name "SchUseStrongCrypto" -Value '1' -Type DWord - Invoke-WebRequest -OutFile "test\\astyle.exe" "https://rded.nl/pqclean/AStyle.exe" - shell: powershell - - name: Setup Python - uses: actions/setup-python@main - with: - python-version: "3.x" - - name: Install python requirements - run: python -m pip install -U -r requirements.txt - - name: Run tests - run: | - call "C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Enterprise\\VC\\Auxiliary\\Build\\vcvars${{ matrix.bits }}.bat" - cd test - python -m pytest --verbose --numprocesses=auto - shell: cmd - test-macos: - needs: - - test-native - env: - PQCLEAN_ONLY_SCHEMES: sntrup761 - CCACHE_NOSTATS: 1 - CCACHE_SLOPPINESS: include_file_mtime - # XCode version - DEVELOPER_DIR: /Applications/Xcode_11.5.app/Contents/Developer - strategy: - matrix: - compiler: - - clang # XCode (Apple LLVM/Clang) - - gcc9 # GNU (Homebrew) - runs-on: macos-latest - steps: - - uses: actions/checkout@v2 - with: - submodules: true - - name: Install astyle - run: | - brew install astyle - - name: Set up GCC9 compiler - run: 'export PATH="/usr/local/bin:$PATH" && export CC=gcc-9' - if: matrix.compiler == 'gcc9' - - name: Setup Python - uses: actions/setup-python@main - with: - python-version: "3.x" - - name: Install Python dependencies - run: python -m pip install -U -r requirements.txt - - name: Run tests - run: | - cd test - python -m pytest --verbose --numprocesses=auto - diff --git a/.github/workflows/kem_sntrup857.yml b/.github/workflows/kem_sntrup857.yml deleted file mode 100644 index 10053a7f..00000000 --- a/.github/workflows/kem_sntrup857.yml +++ /dev/null @@ -1,204 +0,0 @@ -on: - push: - paths: - # build if tests change - - 'test/**' - # do not build if other schemes duplicate_consistency files change - - '!test/duplicate_consistency/*.yml' - - 'test/duplicate_consistency/sntrup857*.yml' - # build if common files change - - 'common/**' - # build if scheme changed - - 'crypto_kem/sntrup857/**' - # build if workflow file changed - - '.github/workflows/kem_sntrup857.yml' - # Build if any files in the root change, except .md files - - '*' - - '!*.md' - pull_request: - paths: - # build if tests change - - 'test/**' - # do not build if other schemes duplicate_consistency files change - - '!test/duplicate_consistency/*.yml' - - 'test/duplicate_consistency/sntrup857*.yml' - # build if common files change - - 'common/**' - # build if scheme changed - - 'crypto_kem/sntrup857/**' - # build if workflow file changed - - '.github/workflows/kem_sntrup857.yml' - # Build if any files in the root change, except .md files - - '*' - - '!*.md' - schedule: - - cron: '5 4 * * *' - -name: Test sntrup857 - -jobs: - test-native: - runs-on: ubuntu-latest - container: - image: pqclean/ci-container:${{ matrix.arch }} - env: - PQCLEAN_ONLY_SCHEMES: sntrup857 - CC: ccache ${{ matrix.cc }} - CCACHE_NOSTATS: 1 - CCACHE_DIR: /ccache - CCACHE_SLOPPINESS: include_file_mtime - strategy: - matrix: - arch: - - amd64 - - i386 - cc: - - gcc - - clang - steps: - - name: Cancel Previous Runs - uses: thomwiggers/cancel-workflow-action@all_but_latest - with: - all_but_latest: true - access_token: ${{ github.token }} - continue-on-error: true - if: matrix.arch == 'amd64' && matrix.cc == 'gcc' - - uses: actions/checkout@v2 - with: - submodules: true - - name: Cache ccache - uses: actions/cache@v2 - env: - cache-name: cache-ccache - with: - path: /ccache - key: v1-${{ runner.os }}-build-${{ env.cache-name }}-${{ matrix.cc }}-${{ env.GITHUB_WORKFLOW }}-${{ matrix.arch }} - - name: Cache pip - uses: actions/cache@v2 - env: - cache-name: cache-python-pip - with: - path: ~/.cache/pip - key: v1-python-pip - - name: Install python dependencies - run: | - python3 -m pip install -U -r requirements.txt - - name: Run tests - run: | - cd test - python3 -m pytest --verbose --numprocesses=auto - test-emulated: - needs: - - test-native - runs-on: ubuntu-latest - strategy: - matrix: - arch: - - armhf - - unstable-ppc - cc: - - gcc - - clang - env: - CC: ${{ matrix.cc }} - steps: - - name: Register qemu-user-static - run: | - docker run --rm --privileged multiarch/qemu-user-static:register --reset - - uses: actions/checkout@v2 - with: - submodules: true - - name: Cache ccache - uses: actions/cache@v2 - env: - cache-name: cache-ccache - with: - path: ~/ccache - key: v1-${{ runner.os }}-build-${{ env.cache-name }}-${{ matrix.cc }}-${{ env.GITHUB_WORKFLOW }}-${{ matrix.arch }} - - name: Cache pip - uses: actions/cache@v2 - env: - cache-name: cache-python-pip - with: - path: ~/.cache/pip - key: v1-python-pip - - name: Run tests in container - run: | - docker run --rm -e CI -e CC -e PQCLEAN_ONLY_SCHEMES=sntrup857 -v $PWD:$PWD -w $PWD -v ~/ccache:/ccache pqclean/ci-container:${{ matrix.arch }} /bin/bash -c "\ - export CCACHE_NOSTATS=1 && \ - export CCACHE_DIR=/ccache && \ - export CCACHE_SLOPPINESS=include_file_mtime && \ - export CC=\"ccache $CC\" && \ - pip3 install -U -r requirements.txt && \ - cd test && \ - python3 -m pytest --verbose --numprocesses=auto" - test-windows: - needs: - - test-native - strategy: - matrix: - bits: - - 64 - - 32 - env: - PQCLEAN_ONLY_SCHEMES: sntrup857 - runs-on: windows-latest - steps: - - uses: actions/checkout@v2 - with: - submodules: true - - name: Setup astyle - run: | - # Setup strong crypto - Set-ItemProperty -Path "HKLM:\\SOFTWARE\\Wow6432Node\\Microsoft\\.NetFramework\\v4.0.30319" -Name 'SchUseStrongCrypto' -Value '1' -Type DWord - Set-ItemProperty -Path "HKLM:\\SOFTWARE\\Microsoft\\.NetFramework\\v4.0.30319" -Name "SchUseStrongCrypto" -Value '1' -Type DWord - Invoke-WebRequest -OutFile "test\\astyle.exe" "https://rded.nl/pqclean/AStyle.exe" - shell: powershell - - name: Setup Python - uses: actions/setup-python@main - with: - python-version: "3.x" - - name: Install python requirements - run: python -m pip install -U -r requirements.txt - - name: Run tests - run: | - call "C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Enterprise\\VC\\Auxiliary\\Build\\vcvars${{ matrix.bits }}.bat" - cd test - python -m pytest --verbose --numprocesses=auto - shell: cmd - test-macos: - needs: - - test-native - env: - PQCLEAN_ONLY_SCHEMES: sntrup857 - CCACHE_NOSTATS: 1 - CCACHE_SLOPPINESS: include_file_mtime - # XCode version - DEVELOPER_DIR: /Applications/Xcode_11.5.app/Contents/Developer - strategy: - matrix: - compiler: - - clang # XCode (Apple LLVM/Clang) - - gcc9 # GNU (Homebrew) - runs-on: macos-latest - steps: - - uses: actions/checkout@v2 - with: - submodules: true - - name: Install astyle - run: | - brew install astyle - - name: Set up GCC9 compiler - run: 'export PATH="/usr/local/bin:$PATH" && export CC=gcc-9' - if: matrix.compiler == 'gcc9' - - name: Setup Python - uses: actions/setup-python@main - with: - python-version: "3.x" - - name: Install Python dependencies - run: python -m pip install -U -r requirements.txt - - name: Run tests - run: | - cd test - python -m pytest --verbose --numprocesses=auto - diff --git a/.github/workflows/sign_dilithium2.yml b/.github/workflows/sign_dilithium2.yml deleted file mode 100644 index 58691916..00000000 --- a/.github/workflows/sign_dilithium2.yml +++ /dev/null @@ -1,204 +0,0 @@ -on: - push: - paths: - # build if tests change - - 'test/**' - # do not build if other schemes duplicate_consistency files change - - '!test/duplicate_consistency/*.yml' - - 'test/duplicate_consistency/dilithium2*.yml' - # build if common files change - - 'common/**' - # build if scheme changed - - 'crypto_sign/dilithium2/**' - # build if workflow file changed - - '.github/workflows/sign_dilithium2.yml' - # Build if any files in the root change, except .md files - - '*' - - '!*.md' - pull_request: - paths: - # build if tests change - - 'test/**' - # do not build if other schemes duplicate_consistency files change - - '!test/duplicate_consistency/*.yml' - - 'test/duplicate_consistency/dilithium2*.yml' - # build if common files change - - 'common/**' - # build if scheme changed - - 'crypto_sign/dilithium2/**' - # build if workflow file changed - - '.github/workflows/sign_dilithium2.yml' - # Build if any files in the root change, except .md files - - '*' - - '!*.md' - schedule: - - cron: '5 4 * * *' - -name: Test dilithium2 - -jobs: - test-native: - runs-on: ubuntu-latest - container: - image: pqclean/ci-container:${{ matrix.arch }} - env: - PQCLEAN_ONLY_SCHEMES: dilithium2 - CC: ccache ${{ matrix.cc }} - CCACHE_NOSTATS: 1 - CCACHE_DIR: /ccache - CCACHE_SLOPPINESS: include_file_mtime - strategy: - matrix: - arch: - - amd64 - - i386 - cc: - - gcc - - clang - steps: - - name: Cancel Previous Runs - uses: thomwiggers/cancel-workflow-action@all_but_latest - with: - all_but_latest: true - access_token: ${{ github.token }} - continue-on-error: true - if: matrix.arch == 'amd64' && matrix.cc == 'gcc' - - uses: actions/checkout@v2 - with: - submodules: true - - name: Cache ccache - uses: actions/cache@v2 - env: - cache-name: cache-ccache - with: - path: /ccache - key: v1-${{ runner.os }}-build-${{ env.cache-name }}-${{ matrix.cc }}-${{ env.GITHUB_WORKFLOW }}-${{ matrix.arch }} - - name: Cache pip - uses: actions/cache@v2 - env: - cache-name: cache-python-pip - with: - path: ~/.cache/pip - key: v1-python-pip - - name: Install python dependencies - run: | - python3 -m pip install -U -r requirements.txt - - name: Run tests - run: | - cd test - python3 -m pytest --verbose --numprocesses=auto - test-emulated: - needs: - - test-native - runs-on: ubuntu-latest - strategy: - matrix: - arch: - - armhf - - unstable-ppc - cc: - - gcc - - clang - env: - CC: ${{ matrix.cc }} - steps: - - name: Register qemu-user-static - run: | - docker run --rm --privileged multiarch/qemu-user-static:register --reset - - uses: actions/checkout@v2 - with: - submodules: true - - name: Cache ccache - uses: actions/cache@v2 - env: - cache-name: cache-ccache - with: - path: ~/ccache - key: v1-${{ runner.os }}-build-${{ env.cache-name }}-${{ matrix.cc }}-${{ env.GITHUB_WORKFLOW }}-${{ matrix.arch }} - - name: Cache pip - uses: actions/cache@v2 - env: - cache-name: cache-python-pip - with: - path: ~/.cache/pip - key: v1-python-pip - - name: Run tests in container - run: | - docker run --rm -e CI -e CC -e PQCLEAN_ONLY_SCHEMES=dilithium2 -v $PWD:$PWD -w $PWD -v ~/ccache:/ccache pqclean/ci-container:${{ matrix.arch }} /bin/bash -c "\ - export CCACHE_NOSTATS=1 && \ - export CCACHE_DIR=/ccache && \ - export CCACHE_SLOPPINESS=include_file_mtime && \ - export CC=\"ccache $CC\" && \ - pip3 install -U -r requirements.txt && \ - cd test && \ - python3 -m pytest --verbose --numprocesses=auto" - test-windows: - needs: - - test-native - strategy: - matrix: - bits: - - 64 - - 32 - env: - PQCLEAN_ONLY_SCHEMES: dilithium2 - runs-on: windows-latest - steps: - - uses: actions/checkout@v2 - with: - submodules: true - - name: Setup astyle - run: | - # Setup strong crypto - Set-ItemProperty -Path "HKLM:\\SOFTWARE\\Wow6432Node\\Microsoft\\.NetFramework\\v4.0.30319" -Name 'SchUseStrongCrypto' -Value '1' -Type DWord - Set-ItemProperty -Path "HKLM:\\SOFTWARE\\Microsoft\\.NetFramework\\v4.0.30319" -Name "SchUseStrongCrypto" -Value '1' -Type DWord - Invoke-WebRequest -OutFile "test\\astyle.exe" "https://rded.nl/pqclean/AStyle.exe" - shell: powershell - - name: Setup Python - uses: actions/setup-python@main - with: - python-version: "3.x" - - name: Install python requirements - run: python -m pip install -U -r requirements.txt - - name: Run tests - run: | - call "C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Enterprise\\VC\\Auxiliary\\Build\\vcvars${{ matrix.bits }}.bat" - cd test - python -m pytest --verbose --numprocesses=auto - shell: cmd - test-macos: - needs: - - test-native - env: - PQCLEAN_ONLY_SCHEMES: dilithium2 - CCACHE_NOSTATS: 1 - CCACHE_SLOPPINESS: include_file_mtime - # XCode version - DEVELOPER_DIR: /Applications/Xcode_11.5.app/Contents/Developer - strategy: - matrix: - compiler: - - clang # XCode (Apple LLVM/Clang) - - gcc9 # GNU (Homebrew) - runs-on: macos-latest - steps: - - uses: actions/checkout@v2 - with: - submodules: true - - name: Install astyle - run: | - brew install astyle - - name: Set up GCC9 compiler - run: 'export PATH="/usr/local/bin:$PATH" && export CC=gcc-9' - if: matrix.compiler == 'gcc9' - - name: Setup Python - uses: actions/setup-python@main - with: - python-version: "3.x" - - name: Install Python dependencies - run: python -m pip install -U -r requirements.txt - - name: Run tests - run: | - cd test - python -m pytest --verbose --numprocesses=auto - diff --git a/.github/workflows/sign_dilithium2aes.yml b/.github/workflows/sign_dilithium2aes.yml deleted file mode 100644 index ede46b5a..00000000 --- a/.github/workflows/sign_dilithium2aes.yml +++ /dev/null @@ -1,204 +0,0 @@ -on: - push: - paths: - # build if tests change - - 'test/**' - # do not build if other schemes duplicate_consistency files change - - '!test/duplicate_consistency/*.yml' - - 'test/duplicate_consistency/dilithium2aes*.yml' - # build if common files change - - 'common/**' - # build if scheme changed - - 'crypto_sign/dilithium2aes/**' - # build if workflow file changed - - '.github/workflows/sign_dilithium2aes.yml' - # Build if any files in the root change, except .md files - - '*' - - '!*.md' - pull_request: - paths: - # build if tests change - - 'test/**' - # do not build if other schemes duplicate_consistency files change - - '!test/duplicate_consistency/*.yml' - - 'test/duplicate_consistency/dilithium2aes*.yml' - # build if common files change - - 'common/**' - # build if scheme changed - - 'crypto_sign/dilithium2aes/**' - # build if workflow file changed - - '.github/workflows/sign_dilithium2aes.yml' - # Build if any files in the root change, except .md files - - '*' - - '!*.md' - schedule: - - cron: '5 4 * * *' - -name: Test dilithium2aes - -jobs: - test-native: - runs-on: ubuntu-latest - container: - image: pqclean/ci-container:${{ matrix.arch }} - env: - PQCLEAN_ONLY_SCHEMES: dilithium2aes - CC: ccache ${{ matrix.cc }} - CCACHE_NOSTATS: 1 - CCACHE_DIR: /ccache - CCACHE_SLOPPINESS: include_file_mtime - strategy: - matrix: - arch: - - amd64 - - i386 - cc: - - gcc - - clang - steps: - - name: Cancel Previous Runs - uses: thomwiggers/cancel-workflow-action@all_but_latest - with: - all_but_latest: true - access_token: ${{ github.token }} - continue-on-error: true - if: matrix.arch == 'amd64' && matrix.cc == 'gcc' - - uses: actions/checkout@v2 - with: - submodules: true - - name: Cache ccache - uses: actions/cache@v2 - env: - cache-name: cache-ccache - with: - path: /ccache - key: v1-${{ runner.os }}-build-${{ env.cache-name }}-${{ matrix.cc }}-${{ env.GITHUB_WORKFLOW }}-${{ matrix.arch }} - - name: Cache pip - uses: actions/cache@v2 - env: - cache-name: cache-python-pip - with: - path: ~/.cache/pip - key: v1-python-pip - - name: Install python dependencies - run: | - python3 -m pip install -U -r requirements.txt - - name: Run tests - run: | - cd test - python3 -m pytest --verbose --numprocesses=auto - test-emulated: - needs: - - test-native - runs-on: ubuntu-latest - strategy: - matrix: - arch: - - armhf - - unstable-ppc - cc: - - gcc - - clang - env: - CC: ${{ matrix.cc }} - steps: - - name: Register qemu-user-static - run: | - docker run --rm --privileged multiarch/qemu-user-static:register --reset - - uses: actions/checkout@v2 - with: - submodules: true - - name: Cache ccache - uses: actions/cache@v2 - env: - cache-name: cache-ccache - with: - path: ~/ccache - key: v1-${{ runner.os }}-build-${{ env.cache-name }}-${{ matrix.cc }}-${{ env.GITHUB_WORKFLOW }}-${{ matrix.arch }} - - name: Cache pip - uses: actions/cache@v2 - env: - cache-name: cache-python-pip - with: - path: ~/.cache/pip - key: v1-python-pip - - name: Run tests in container - run: | - docker run --rm -e CI -e CC -e PQCLEAN_ONLY_SCHEMES=dilithium2aes -v $PWD:$PWD -w $PWD -v ~/ccache:/ccache pqclean/ci-container:${{ matrix.arch }} /bin/bash -c "\ - export CCACHE_NOSTATS=1 && \ - export CCACHE_DIR=/ccache && \ - export CCACHE_SLOPPINESS=include_file_mtime && \ - export CC=\"ccache $CC\" && \ - pip3 install -U -r requirements.txt && \ - cd test && \ - python3 -m pytest --verbose --numprocesses=auto" - test-windows: - needs: - - test-native - strategy: - matrix: - bits: - - 64 - - 32 - env: - PQCLEAN_ONLY_SCHEMES: dilithium2aes - runs-on: windows-latest - steps: - - uses: actions/checkout@v2 - with: - submodules: true - - name: Setup astyle - run: | - # Setup strong crypto - Set-ItemProperty -Path "HKLM:\\SOFTWARE\\Wow6432Node\\Microsoft\\.NetFramework\\v4.0.30319" -Name 'SchUseStrongCrypto' -Value '1' -Type DWord - Set-ItemProperty -Path "HKLM:\\SOFTWARE\\Microsoft\\.NetFramework\\v4.0.30319" -Name "SchUseStrongCrypto" -Value '1' -Type DWord - Invoke-WebRequest -OutFile "test\\astyle.exe" "https://rded.nl/pqclean/AStyle.exe" - shell: powershell - - name: Setup Python - uses: actions/setup-python@main - with: - python-version: "3.x" - - name: Install python requirements - run: python -m pip install -U -r requirements.txt - - name: Run tests - run: | - call "C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Enterprise\\VC\\Auxiliary\\Build\\vcvars${{ matrix.bits }}.bat" - cd test - python -m pytest --verbose --numprocesses=auto - shell: cmd - test-macos: - needs: - - test-native - env: - PQCLEAN_ONLY_SCHEMES: dilithium2aes - CCACHE_NOSTATS: 1 - CCACHE_SLOPPINESS: include_file_mtime - # XCode version - DEVELOPER_DIR: /Applications/Xcode_11.5.app/Contents/Developer - strategy: - matrix: - compiler: - - clang # XCode (Apple LLVM/Clang) - - gcc9 # GNU (Homebrew) - runs-on: macos-latest - steps: - - uses: actions/checkout@v2 - with: - submodules: true - - name: Install astyle - run: | - brew install astyle - - name: Set up GCC9 compiler - run: 'export PATH="/usr/local/bin:$PATH" && export CC=gcc-9' - if: matrix.compiler == 'gcc9' - - name: Setup Python - uses: actions/setup-python@main - with: - python-version: "3.x" - - name: Install Python dependencies - run: python -m pip install -U -r requirements.txt - - name: Run tests - run: | - cd test - python -m pytest --verbose --numprocesses=auto - diff --git a/.github/workflows/sign_dilithium3.yml b/.github/workflows/sign_dilithium3.yml deleted file mode 100644 index d52981c9..00000000 --- a/.github/workflows/sign_dilithium3.yml +++ /dev/null @@ -1,204 +0,0 @@ -on: - push: - paths: - # build if tests change - - 'test/**' - # do not build if other schemes duplicate_consistency files change - - '!test/duplicate_consistency/*.yml' - - 'test/duplicate_consistency/dilithium3*.yml' - # build if common files change - - 'common/**' - # build if scheme changed - - 'crypto_sign/dilithium3/**' - # build if workflow file changed - - '.github/workflows/sign_dilithium3.yml' - # Build if any files in the root change, except .md files - - '*' - - '!*.md' - pull_request: - paths: - # build if tests change - - 'test/**' - # do not build if other schemes duplicate_consistency files change - - '!test/duplicate_consistency/*.yml' - - 'test/duplicate_consistency/dilithium3*.yml' - # build if common files change - - 'common/**' - # build if scheme changed - - 'crypto_sign/dilithium3/**' - # build if workflow file changed - - '.github/workflows/sign_dilithium3.yml' - # Build if any files in the root change, except .md files - - '*' - - '!*.md' - schedule: - - cron: '5 4 * * *' - -name: Test dilithium3 - -jobs: - test-native: - runs-on: ubuntu-latest - container: - image: pqclean/ci-container:${{ matrix.arch }} - env: - PQCLEAN_ONLY_SCHEMES: dilithium3 - CC: ccache ${{ matrix.cc }} - CCACHE_NOSTATS: 1 - CCACHE_DIR: /ccache - CCACHE_SLOPPINESS: include_file_mtime - strategy: - matrix: - arch: - - amd64 - - i386 - cc: - - gcc - - clang - steps: - - name: Cancel Previous Runs - uses: thomwiggers/cancel-workflow-action@all_but_latest - with: - all_but_latest: true - access_token: ${{ github.token }} - continue-on-error: true - if: matrix.arch == 'amd64' && matrix.cc == 'gcc' - - uses: actions/checkout@v2 - with: - submodules: true - - name: Cache ccache - uses: actions/cache@v2 - env: - cache-name: cache-ccache - with: - path: /ccache - key: v1-${{ runner.os }}-build-${{ env.cache-name }}-${{ matrix.cc }}-${{ env.GITHUB_WORKFLOW }}-${{ matrix.arch }} - - name: Cache pip - uses: actions/cache@v2 - env: - cache-name: cache-python-pip - with: - path: ~/.cache/pip - key: v1-python-pip - - name: Install python dependencies - run: | - python3 -m pip install -U -r requirements.txt - - name: Run tests - run: | - cd test - python3 -m pytest --verbose --numprocesses=auto - test-emulated: - needs: - - test-native - runs-on: ubuntu-latest - strategy: - matrix: - arch: - - armhf - - unstable-ppc - cc: - - gcc - - clang - env: - CC: ${{ matrix.cc }} - steps: - - name: Register qemu-user-static - run: | - docker run --rm --privileged multiarch/qemu-user-static:register --reset - - uses: actions/checkout@v2 - with: - submodules: true - - name: Cache ccache - uses: actions/cache@v2 - env: - cache-name: cache-ccache - with: - path: ~/ccache - key: v1-${{ runner.os }}-build-${{ env.cache-name }}-${{ matrix.cc }}-${{ env.GITHUB_WORKFLOW }}-${{ matrix.arch }} - - name: Cache pip - uses: actions/cache@v2 - env: - cache-name: cache-python-pip - with: - path: ~/.cache/pip - key: v1-python-pip - - name: Run tests in container - run: | - docker run --rm -e CI -e CC -e PQCLEAN_ONLY_SCHEMES=dilithium3 -v $PWD:$PWD -w $PWD -v ~/ccache:/ccache pqclean/ci-container:${{ matrix.arch }} /bin/bash -c "\ - export CCACHE_NOSTATS=1 && \ - export CCACHE_DIR=/ccache && \ - export CCACHE_SLOPPINESS=include_file_mtime && \ - export CC=\"ccache $CC\" && \ - pip3 install -U -r requirements.txt && \ - cd test && \ - python3 -m pytest --verbose --numprocesses=auto" - test-windows: - needs: - - test-native - strategy: - matrix: - bits: - - 64 - - 32 - env: - PQCLEAN_ONLY_SCHEMES: dilithium3 - runs-on: windows-latest - steps: - - uses: actions/checkout@v2 - with: - submodules: true - - name: Setup astyle - run: | - # Setup strong crypto - Set-ItemProperty -Path "HKLM:\\SOFTWARE\\Wow6432Node\\Microsoft\\.NetFramework\\v4.0.30319" -Name 'SchUseStrongCrypto' -Value '1' -Type DWord - Set-ItemProperty -Path "HKLM:\\SOFTWARE\\Microsoft\\.NetFramework\\v4.0.30319" -Name "SchUseStrongCrypto" -Value '1' -Type DWord - Invoke-WebRequest -OutFile "test\\astyle.exe" "https://rded.nl/pqclean/AStyle.exe" - shell: powershell - - name: Setup Python - uses: actions/setup-python@main - with: - python-version: "3.x" - - name: Install python requirements - run: python -m pip install -U -r requirements.txt - - name: Run tests - run: | - call "C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Enterprise\\VC\\Auxiliary\\Build\\vcvars${{ matrix.bits }}.bat" - cd test - python -m pytest --verbose --numprocesses=auto - shell: cmd - test-macos: - needs: - - test-native - env: - PQCLEAN_ONLY_SCHEMES: dilithium3 - CCACHE_NOSTATS: 1 - CCACHE_SLOPPINESS: include_file_mtime - # XCode version - DEVELOPER_DIR: /Applications/Xcode_11.5.app/Contents/Developer - strategy: - matrix: - compiler: - - clang # XCode (Apple LLVM/Clang) - - gcc9 # GNU (Homebrew) - runs-on: macos-latest - steps: - - uses: actions/checkout@v2 - with: - submodules: true - - name: Install astyle - run: | - brew install astyle - - name: Set up GCC9 compiler - run: 'export PATH="/usr/local/bin:$PATH" && export CC=gcc-9' - if: matrix.compiler == 'gcc9' - - name: Setup Python - uses: actions/setup-python@main - with: - python-version: "3.x" - - name: Install Python dependencies - run: python -m pip install -U -r requirements.txt - - name: Run tests - run: | - cd test - python -m pytest --verbose --numprocesses=auto - diff --git a/.github/workflows/sign_dilithium3aes.yml b/.github/workflows/sign_dilithium3aes.yml deleted file mode 100644 index 8b7202ff..00000000 --- a/.github/workflows/sign_dilithium3aes.yml +++ /dev/null @@ -1,204 +0,0 @@ -on: - push: - paths: - # build if tests change - - 'test/**' - # do not build if other schemes duplicate_consistency files change - - '!test/duplicate_consistency/*.yml' - - 'test/duplicate_consistency/dilithium3aes*.yml' - # build if common files change - - 'common/**' - # build if scheme changed - - 'crypto_sign/dilithium3aes/**' - # build if workflow file changed - - '.github/workflows/sign_dilithium3aes.yml' - # Build if any files in the root change, except .md files - - '*' - - '!*.md' - pull_request: - paths: - # build if tests change - - 'test/**' - # do not build if other schemes duplicate_consistency files change - - '!test/duplicate_consistency/*.yml' - - 'test/duplicate_consistency/dilithium3aes*.yml' - # build if common files change - - 'common/**' - # build if scheme changed - - 'crypto_sign/dilithium3aes/**' - # build if workflow file changed - - '.github/workflows/sign_dilithium3aes.yml' - # Build if any files in the root change, except .md files - - '*' - - '!*.md' - schedule: - - cron: '5 4 * * *' - -name: Test dilithium3aes - -jobs: - test-native: - runs-on: ubuntu-latest - container: - image: pqclean/ci-container:${{ matrix.arch }} - env: - PQCLEAN_ONLY_SCHEMES: dilithium3aes - CC: ccache ${{ matrix.cc }} - CCACHE_NOSTATS: 1 - CCACHE_DIR: /ccache - CCACHE_SLOPPINESS: include_file_mtime - strategy: - matrix: - arch: - - amd64 - - i386 - cc: - - gcc - - clang - steps: - - name: Cancel Previous Runs - uses: thomwiggers/cancel-workflow-action@all_but_latest - with: - all_but_latest: true - access_token: ${{ github.token }} - continue-on-error: true - if: matrix.arch == 'amd64' && matrix.cc == 'gcc' - - uses: actions/checkout@v2 - with: - submodules: true - - name: Cache ccache - uses: actions/cache@v2 - env: - cache-name: cache-ccache - with: - path: /ccache - key: v1-${{ runner.os }}-build-${{ env.cache-name }}-${{ matrix.cc }}-${{ env.GITHUB_WORKFLOW }}-${{ matrix.arch }} - - name: Cache pip - uses: actions/cache@v2 - env: - cache-name: cache-python-pip - with: - path: ~/.cache/pip - key: v1-python-pip - - name: Install python dependencies - run: | - python3 -m pip install -U -r requirements.txt - - name: Run tests - run: | - cd test - python3 -m pytest --verbose --numprocesses=auto - test-emulated: - needs: - - test-native - runs-on: ubuntu-latest - strategy: - matrix: - arch: - - armhf - - unstable-ppc - cc: - - gcc - - clang - env: - CC: ${{ matrix.cc }} - steps: - - name: Register qemu-user-static - run: | - docker run --rm --privileged multiarch/qemu-user-static:register --reset - - uses: actions/checkout@v2 - with: - submodules: true - - name: Cache ccache - uses: actions/cache@v2 - env: - cache-name: cache-ccache - with: - path: ~/ccache - key: v1-${{ runner.os }}-build-${{ env.cache-name }}-${{ matrix.cc }}-${{ env.GITHUB_WORKFLOW }}-${{ matrix.arch }} - - name: Cache pip - uses: actions/cache@v2 - env: - cache-name: cache-python-pip - with: - path: ~/.cache/pip - key: v1-python-pip - - name: Run tests in container - run: | - docker run --rm -e CI -e CC -e PQCLEAN_ONLY_SCHEMES=dilithium3aes -v $PWD:$PWD -w $PWD -v ~/ccache:/ccache pqclean/ci-container:${{ matrix.arch }} /bin/bash -c "\ - export CCACHE_NOSTATS=1 && \ - export CCACHE_DIR=/ccache && \ - export CCACHE_SLOPPINESS=include_file_mtime && \ - export CC=\"ccache $CC\" && \ - pip3 install -U -r requirements.txt && \ - cd test && \ - python3 -m pytest --verbose --numprocesses=auto" - test-windows: - needs: - - test-native - strategy: - matrix: - bits: - - 64 - - 32 - env: - PQCLEAN_ONLY_SCHEMES: dilithium3aes - runs-on: windows-latest - steps: - - uses: actions/checkout@v2 - with: - submodules: true - - name: Setup astyle - run: | - # Setup strong crypto - Set-ItemProperty -Path "HKLM:\\SOFTWARE\\Wow6432Node\\Microsoft\\.NetFramework\\v4.0.30319" -Name 'SchUseStrongCrypto' -Value '1' -Type DWord - Set-ItemProperty -Path "HKLM:\\SOFTWARE\\Microsoft\\.NetFramework\\v4.0.30319" -Name "SchUseStrongCrypto" -Value '1' -Type DWord - Invoke-WebRequest -OutFile "test\\astyle.exe" "https://rded.nl/pqclean/AStyle.exe" - shell: powershell - - name: Setup Python - uses: actions/setup-python@main - with: - python-version: "3.x" - - name: Install python requirements - run: python -m pip install -U -r requirements.txt - - name: Run tests - run: | - call "C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Enterprise\\VC\\Auxiliary\\Build\\vcvars${{ matrix.bits }}.bat" - cd test - python -m pytest --verbose --numprocesses=auto - shell: cmd - test-macos: - needs: - - test-native - env: - PQCLEAN_ONLY_SCHEMES: dilithium3aes - CCACHE_NOSTATS: 1 - CCACHE_SLOPPINESS: include_file_mtime - # XCode version - DEVELOPER_DIR: /Applications/Xcode_11.5.app/Contents/Developer - strategy: - matrix: - compiler: - - clang # XCode (Apple LLVM/Clang) - - gcc9 # GNU (Homebrew) - runs-on: macos-latest - steps: - - uses: actions/checkout@v2 - with: - submodules: true - - name: Install astyle - run: | - brew install astyle - - name: Set up GCC9 compiler - run: 'export PATH="/usr/local/bin:$PATH" && export CC=gcc-9' - if: matrix.compiler == 'gcc9' - - name: Setup Python - uses: actions/setup-python@main - with: - python-version: "3.x" - - name: Install Python dependencies - run: python -m pip install -U -r requirements.txt - - name: Run tests - run: | - cd test - python -m pytest --verbose --numprocesses=auto - diff --git a/.github/workflows/sign_dilithium5.yml b/.github/workflows/sign_dilithium5.yml deleted file mode 100644 index cc1797b4..00000000 --- a/.github/workflows/sign_dilithium5.yml +++ /dev/null @@ -1,204 +0,0 @@ -on: - push: - paths: - # build if tests change - - 'test/**' - # do not build if other schemes duplicate_consistency files change - - '!test/duplicate_consistency/*.yml' - - 'test/duplicate_consistency/dilithium5*.yml' - # build if common files change - - 'common/**' - # build if scheme changed - - 'crypto_sign/dilithium5/**' - # build if workflow file changed - - '.github/workflows/sign_dilithium5.yml' - # Build if any files in the root change, except .md files - - '*' - - '!*.md' - pull_request: - paths: - # build if tests change - - 'test/**' - # do not build if other schemes duplicate_consistency files change - - '!test/duplicate_consistency/*.yml' - - 'test/duplicate_consistency/dilithium5*.yml' - # build if common files change - - 'common/**' - # build if scheme changed - - 'crypto_sign/dilithium5/**' - # build if workflow file changed - - '.github/workflows/sign_dilithium5.yml' - # Build if any files in the root change, except .md files - - '*' - - '!*.md' - schedule: - - cron: '5 4 * * *' - -name: Test dilithium5 - -jobs: - test-native: - runs-on: ubuntu-latest - container: - image: pqclean/ci-container:${{ matrix.arch }} - env: - PQCLEAN_ONLY_SCHEMES: dilithium5 - CC: ccache ${{ matrix.cc }} - CCACHE_NOSTATS: 1 - CCACHE_DIR: /ccache - CCACHE_SLOPPINESS: include_file_mtime - strategy: - matrix: - arch: - - amd64 - - i386 - cc: - - gcc - - clang - steps: - - name: Cancel Previous Runs - uses: thomwiggers/cancel-workflow-action@all_but_latest - with: - all_but_latest: true - access_token: ${{ github.token }} - continue-on-error: true - if: matrix.arch == 'amd64' && matrix.cc == 'gcc' - - uses: actions/checkout@v2 - with: - submodules: true - - name: Cache ccache - uses: actions/cache@v2 - env: - cache-name: cache-ccache - with: - path: /ccache - key: v1-${{ runner.os }}-build-${{ env.cache-name }}-${{ matrix.cc }}-${{ env.GITHUB_WORKFLOW }}-${{ matrix.arch }} - - name: Cache pip - uses: actions/cache@v2 - env: - cache-name: cache-python-pip - with: - path: ~/.cache/pip - key: v1-python-pip - - name: Install python dependencies - run: | - python3 -m pip install -U -r requirements.txt - - name: Run tests - run: | - cd test - python3 -m pytest --verbose --numprocesses=auto - test-emulated: - needs: - - test-native - runs-on: ubuntu-latest - strategy: - matrix: - arch: - - armhf - - unstable-ppc - cc: - - gcc - - clang - env: - CC: ${{ matrix.cc }} - steps: - - name: Register qemu-user-static - run: | - docker run --rm --privileged multiarch/qemu-user-static:register --reset - - uses: actions/checkout@v2 - with: - submodules: true - - name: Cache ccache - uses: actions/cache@v2 - env: - cache-name: cache-ccache - with: - path: ~/ccache - key: v1-${{ runner.os }}-build-${{ env.cache-name }}-${{ matrix.cc }}-${{ env.GITHUB_WORKFLOW }}-${{ matrix.arch }} - - name: Cache pip - uses: actions/cache@v2 - env: - cache-name: cache-python-pip - with: - path: ~/.cache/pip - key: v1-python-pip - - name: Run tests in container - run: | - docker run --rm -e CI -e CC -e PQCLEAN_ONLY_SCHEMES=dilithium5 -v $PWD:$PWD -w $PWD -v ~/ccache:/ccache pqclean/ci-container:${{ matrix.arch }} /bin/bash -c "\ - export CCACHE_NOSTATS=1 && \ - export CCACHE_DIR=/ccache && \ - export CCACHE_SLOPPINESS=include_file_mtime && \ - export CC=\"ccache $CC\" && \ - pip3 install -U -r requirements.txt && \ - cd test && \ - python3 -m pytest --verbose --numprocesses=auto" - test-windows: - needs: - - test-native - strategy: - matrix: - bits: - - 64 - - 32 - env: - PQCLEAN_ONLY_SCHEMES: dilithium5 - runs-on: windows-latest - steps: - - uses: actions/checkout@v2 - with: - submodules: true - - name: Setup astyle - run: | - # Setup strong crypto - Set-ItemProperty -Path "HKLM:\\SOFTWARE\\Wow6432Node\\Microsoft\\.NetFramework\\v4.0.30319" -Name 'SchUseStrongCrypto' -Value '1' -Type DWord - Set-ItemProperty -Path "HKLM:\\SOFTWARE\\Microsoft\\.NetFramework\\v4.0.30319" -Name "SchUseStrongCrypto" -Value '1' -Type DWord - Invoke-WebRequest -OutFile "test\\astyle.exe" "https://rded.nl/pqclean/AStyle.exe" - shell: powershell - - name: Setup Python - uses: actions/setup-python@main - with: - python-version: "3.x" - - name: Install python requirements - run: python -m pip install -U -r requirements.txt - - name: Run tests - run: | - call "C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Enterprise\\VC\\Auxiliary\\Build\\vcvars${{ matrix.bits }}.bat" - cd test - python -m pytest --verbose --numprocesses=auto - shell: cmd - test-macos: - needs: - - test-native - env: - PQCLEAN_ONLY_SCHEMES: dilithium5 - CCACHE_NOSTATS: 1 - CCACHE_SLOPPINESS: include_file_mtime - # XCode version - DEVELOPER_DIR: /Applications/Xcode_11.5.app/Contents/Developer - strategy: - matrix: - compiler: - - clang # XCode (Apple LLVM/Clang) - - gcc9 # GNU (Homebrew) - runs-on: macos-latest - steps: - - uses: actions/checkout@v2 - with: - submodules: true - - name: Install astyle - run: | - brew install astyle - - name: Set up GCC9 compiler - run: 'export PATH="/usr/local/bin:$PATH" && export CC=gcc-9' - if: matrix.compiler == 'gcc9' - - name: Setup Python - uses: actions/setup-python@main - with: - python-version: "3.x" - - name: Install Python dependencies - run: python -m pip install -U -r requirements.txt - - name: Run tests - run: | - cd test - python -m pytest --verbose --numprocesses=auto - diff --git a/.github/workflows/sign_dilithium5aes.yml b/.github/workflows/sign_dilithium5aes.yml deleted file mode 100644 index 3696bc4a..00000000 --- a/.github/workflows/sign_dilithium5aes.yml +++ /dev/null @@ -1,204 +0,0 @@ -on: - push: - paths: - # build if tests change - - 'test/**' - # do not build if other schemes duplicate_consistency files change - - '!test/duplicate_consistency/*.yml' - - 'test/duplicate_consistency/dilithium5aes*.yml' - # build if common files change - - 'common/**' - # build if scheme changed - - 'crypto_sign/dilithium5aes/**' - # build if workflow file changed - - '.github/workflows/sign_dilithium5aes.yml' - # Build if any files in the root change, except .md files - - '*' - - '!*.md' - pull_request: - paths: - # build if tests change - - 'test/**' - # do not build if other schemes duplicate_consistency files change - - '!test/duplicate_consistency/*.yml' - - 'test/duplicate_consistency/dilithium5aes*.yml' - # build if common files change - - 'common/**' - # build if scheme changed - - 'crypto_sign/dilithium5aes/**' - # build if workflow file changed - - '.github/workflows/sign_dilithium5aes.yml' - # Build if any files in the root change, except .md files - - '*' - - '!*.md' - schedule: - - cron: '5 4 * * *' - -name: Test dilithium5aes - -jobs: - test-native: - runs-on: ubuntu-latest - container: - image: pqclean/ci-container:${{ matrix.arch }} - env: - PQCLEAN_ONLY_SCHEMES: dilithium5aes - CC: ccache ${{ matrix.cc }} - CCACHE_NOSTATS: 1 - CCACHE_DIR: /ccache - CCACHE_SLOPPINESS: include_file_mtime - strategy: - matrix: - arch: - - amd64 - - i386 - cc: - - gcc - - clang - steps: - - name: Cancel Previous Runs - uses: thomwiggers/cancel-workflow-action@all_but_latest - with: - all_but_latest: true - access_token: ${{ github.token }} - continue-on-error: true - if: matrix.arch == 'amd64' && matrix.cc == 'gcc' - - uses: actions/checkout@v2 - with: - submodules: true - - name: Cache ccache - uses: actions/cache@v2 - env: - cache-name: cache-ccache - with: - path: /ccache - key: v1-${{ runner.os }}-build-${{ env.cache-name }}-${{ matrix.cc }}-${{ env.GITHUB_WORKFLOW }}-${{ matrix.arch }} - - name: Cache pip - uses: actions/cache@v2 - env: - cache-name: cache-python-pip - with: - path: ~/.cache/pip - key: v1-python-pip - - name: Install python dependencies - run: | - python3 -m pip install -U -r requirements.txt - - name: Run tests - run: | - cd test - python3 -m pytest --verbose --numprocesses=auto - test-emulated: - needs: - - test-native - runs-on: ubuntu-latest - strategy: - matrix: - arch: - - armhf - - unstable-ppc - cc: - - gcc - - clang - env: - CC: ${{ matrix.cc }} - steps: - - name: Register qemu-user-static - run: | - docker run --rm --privileged multiarch/qemu-user-static:register --reset - - uses: actions/checkout@v2 - with: - submodules: true - - name: Cache ccache - uses: actions/cache@v2 - env: - cache-name: cache-ccache - with: - path: ~/ccache - key: v1-${{ runner.os }}-build-${{ env.cache-name }}-${{ matrix.cc }}-${{ env.GITHUB_WORKFLOW }}-${{ matrix.arch }} - - name: Cache pip - uses: actions/cache@v2 - env: - cache-name: cache-python-pip - with: - path: ~/.cache/pip - key: v1-python-pip - - name: Run tests in container - run: | - docker run --rm -e CI -e CC -e PQCLEAN_ONLY_SCHEMES=dilithium5aes -v $PWD:$PWD -w $PWD -v ~/ccache:/ccache pqclean/ci-container:${{ matrix.arch }} /bin/bash -c "\ - export CCACHE_NOSTATS=1 && \ - export CCACHE_DIR=/ccache && \ - export CCACHE_SLOPPINESS=include_file_mtime && \ - export CC=\"ccache $CC\" && \ - pip3 install -U -r requirements.txt && \ - cd test && \ - python3 -m pytest --verbose --numprocesses=auto" - test-windows: - needs: - - test-native - strategy: - matrix: - bits: - - 64 - - 32 - env: - PQCLEAN_ONLY_SCHEMES: dilithium5aes - runs-on: windows-latest - steps: - - uses: actions/checkout@v2 - with: - submodules: true - - name: Setup astyle - run: | - # Setup strong crypto - Set-ItemProperty -Path "HKLM:\\SOFTWARE\\Wow6432Node\\Microsoft\\.NetFramework\\v4.0.30319" -Name 'SchUseStrongCrypto' -Value '1' -Type DWord - Set-ItemProperty -Path "HKLM:\\SOFTWARE\\Microsoft\\.NetFramework\\v4.0.30319" -Name "SchUseStrongCrypto" -Value '1' -Type DWord - Invoke-WebRequest -OutFile "test\\astyle.exe" "https://rded.nl/pqclean/AStyle.exe" - shell: powershell - - name: Setup Python - uses: actions/setup-python@main - with: - python-version: "3.x" - - name: Install python requirements - run: python -m pip install -U -r requirements.txt - - name: Run tests - run: | - call "C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Enterprise\\VC\\Auxiliary\\Build\\vcvars${{ matrix.bits }}.bat" - cd test - python -m pytest --verbose --numprocesses=auto - shell: cmd - test-macos: - needs: - - test-native - env: - PQCLEAN_ONLY_SCHEMES: dilithium5aes - CCACHE_NOSTATS: 1 - CCACHE_SLOPPINESS: include_file_mtime - # XCode version - DEVELOPER_DIR: /Applications/Xcode_11.5.app/Contents/Developer - strategy: - matrix: - compiler: - - clang # XCode (Apple LLVM/Clang) - - gcc9 # GNU (Homebrew) - runs-on: macos-latest - steps: - - uses: actions/checkout@v2 - with: - submodules: true - - name: Install astyle - run: | - brew install astyle - - name: Set up GCC9 compiler - run: 'export PATH="/usr/local/bin:$PATH" && export CC=gcc-9' - if: matrix.compiler == 'gcc9' - - name: Setup Python - uses: actions/setup-python@main - with: - python-version: "3.x" - - name: Install Python dependencies - run: python -m pip install -U -r requirements.txt - - name: Run tests - run: | - cd test - python -m pytest --verbose --numprocesses=auto - diff --git a/.github/workflows/sign_falcon-1024.yml b/.github/workflows/sign_falcon-1024.yml deleted file mode 100644 index af48aa09..00000000 --- a/.github/workflows/sign_falcon-1024.yml +++ /dev/null @@ -1,204 +0,0 @@ -on: - push: - paths: - # build if tests change - - 'test/**' - # do not build if other schemes duplicate_consistency files change - - '!test/duplicate_consistency/*.yml' - - 'test/duplicate_consistency/falcon-1024*.yml' - # build if common files change - - 'common/**' - # build if scheme changed - - 'crypto_sign/falcon-1024/**' - # build if workflow file changed - - '.github/workflows/sign_falcon-1024.yml' - # Build if any files in the root change, except .md files - - '*' - - '!*.md' - pull_request: - paths: - # build if tests change - - 'test/**' - # do not build if other schemes duplicate_consistency files change - - '!test/duplicate_consistency/*.yml' - - 'test/duplicate_consistency/falcon-1024*.yml' - # build if common files change - - 'common/**' - # build if scheme changed - - 'crypto_sign/falcon-1024/**' - # build if workflow file changed - - '.github/workflows/sign_falcon-1024.yml' - # Build if any files in the root change, except .md files - - '*' - - '!*.md' - schedule: - - cron: '5 4 * * *' - -name: Test falcon-1024 - -jobs: - test-native: - runs-on: ubuntu-latest - container: - image: pqclean/ci-container:${{ matrix.arch }} - env: - PQCLEAN_ONLY_SCHEMES: falcon-1024 - CC: ccache ${{ matrix.cc }} - CCACHE_NOSTATS: 1 - CCACHE_DIR: /ccache - CCACHE_SLOPPINESS: include_file_mtime - strategy: - matrix: - arch: - - amd64 - - i386 - cc: - - gcc - - clang - steps: - - name: Cancel Previous Runs - uses: thomwiggers/cancel-workflow-action@all_but_latest - with: - all_but_latest: true - access_token: ${{ github.token }} - continue-on-error: true - if: matrix.arch == 'amd64' && matrix.cc == 'gcc' - - uses: actions/checkout@v2 - with: - submodules: true - - name: Cache ccache - uses: actions/cache@v2 - env: - cache-name: cache-ccache - with: - path: /ccache - key: v1-${{ runner.os }}-build-${{ env.cache-name }}-${{ matrix.cc }}-${{ env.GITHUB_WORKFLOW }}-${{ matrix.arch }} - - name: Cache pip - uses: actions/cache@v2 - env: - cache-name: cache-python-pip - with: - path: ~/.cache/pip - key: v1-python-pip - - name: Install python dependencies - run: | - python3 -m pip install -U -r requirements.txt - - name: Run tests - run: | - cd test - python3 -m pytest --verbose --numprocesses=auto - test-emulated: - needs: - - test-native - runs-on: ubuntu-latest - strategy: - matrix: - arch: - - armhf - - unstable-ppc - cc: - - gcc - - clang - env: - CC: ${{ matrix.cc }} - steps: - - name: Register qemu-user-static - run: | - docker run --rm --privileged multiarch/qemu-user-static:register --reset - - uses: actions/checkout@v2 - with: - submodules: true - - name: Cache ccache - uses: actions/cache@v2 - env: - cache-name: cache-ccache - with: - path: ~/ccache - key: v1-${{ runner.os }}-build-${{ env.cache-name }}-${{ matrix.cc }}-${{ env.GITHUB_WORKFLOW }}-${{ matrix.arch }} - - name: Cache pip - uses: actions/cache@v2 - env: - cache-name: cache-python-pip - with: - path: ~/.cache/pip - key: v1-python-pip - - name: Run tests in container - run: | - docker run --rm -e CI -e CC -e PQCLEAN_ONLY_SCHEMES=falcon-1024 -v $PWD:$PWD -w $PWD -v ~/ccache:/ccache pqclean/ci-container:${{ matrix.arch }} /bin/bash -c "\ - export CCACHE_NOSTATS=1 && \ - export CCACHE_DIR=/ccache && \ - export CCACHE_SLOPPINESS=include_file_mtime && \ - export CC=\"ccache $CC\" && \ - pip3 install -U -r requirements.txt && \ - cd test && \ - python3 -m pytest --verbose --numprocesses=auto" - test-windows: - needs: - - test-native - strategy: - matrix: - bits: - - 64 - - 32 - env: - PQCLEAN_ONLY_SCHEMES: falcon-1024 - runs-on: windows-latest - steps: - - uses: actions/checkout@v2 - with: - submodules: true - - name: Setup astyle - run: | - # Setup strong crypto - Set-ItemProperty -Path "HKLM:\\SOFTWARE\\Wow6432Node\\Microsoft\\.NetFramework\\v4.0.30319" -Name 'SchUseStrongCrypto' -Value '1' -Type DWord - Set-ItemProperty -Path "HKLM:\\SOFTWARE\\Microsoft\\.NetFramework\\v4.0.30319" -Name "SchUseStrongCrypto" -Value '1' -Type DWord - Invoke-WebRequest -OutFile "test\\astyle.exe" "https://rded.nl/pqclean/AStyle.exe" - shell: powershell - - name: Setup Python - uses: actions/setup-python@main - with: - python-version: "3.x" - - name: Install python requirements - run: python -m pip install -U -r requirements.txt - - name: Run tests - run: | - call "C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Enterprise\\VC\\Auxiliary\\Build\\vcvars${{ matrix.bits }}.bat" - cd test - python -m pytest --verbose --numprocesses=auto - shell: cmd - test-macos: - needs: - - test-native - env: - PQCLEAN_ONLY_SCHEMES: falcon-1024 - CCACHE_NOSTATS: 1 - CCACHE_SLOPPINESS: include_file_mtime - # XCode version - DEVELOPER_DIR: /Applications/Xcode_11.5.app/Contents/Developer - strategy: - matrix: - compiler: - - clang # XCode (Apple LLVM/Clang) - - gcc9 # GNU (Homebrew) - runs-on: macos-latest - steps: - - uses: actions/checkout@v2 - with: - submodules: true - - name: Install astyle - run: | - brew install astyle - - name: Set up GCC9 compiler - run: 'export PATH="/usr/local/bin:$PATH" && export CC=gcc-9' - if: matrix.compiler == 'gcc9' - - name: Setup Python - uses: actions/setup-python@main - with: - python-version: "3.x" - - name: Install Python dependencies - run: python -m pip install -U -r requirements.txt - - name: Run tests - run: | - cd test - python -m pytest --verbose --numprocesses=auto - diff --git a/.github/workflows/sign_falcon-512.yml b/.github/workflows/sign_falcon-512.yml deleted file mode 100644 index 7bf860ef..00000000 --- a/.github/workflows/sign_falcon-512.yml +++ /dev/null @@ -1,204 +0,0 @@ -on: - push: - paths: - # build if tests change - - 'test/**' - # do not build if other schemes duplicate_consistency files change - - '!test/duplicate_consistency/*.yml' - - 'test/duplicate_consistency/falcon-512*.yml' - # build if common files change - - 'common/**' - # build if scheme changed - - 'crypto_sign/falcon-512/**' - # build if workflow file changed - - '.github/workflows/sign_falcon-512.yml' - # Build if any files in the root change, except .md files - - '*' - - '!*.md' - pull_request: - paths: - # build if tests change - - 'test/**' - # do not build if other schemes duplicate_consistency files change - - '!test/duplicate_consistency/*.yml' - - 'test/duplicate_consistency/falcon-512*.yml' - # build if common files change - - 'common/**' - # build if scheme changed - - 'crypto_sign/falcon-512/**' - # build if workflow file changed - - '.github/workflows/sign_falcon-512.yml' - # Build if any files in the root change, except .md files - - '*' - - '!*.md' - schedule: - - cron: '5 4 * * *' - -name: Test falcon-512 - -jobs: - test-native: - runs-on: ubuntu-latest - container: - image: pqclean/ci-container:${{ matrix.arch }} - env: - PQCLEAN_ONLY_SCHEMES: falcon-512 - CC: ccache ${{ matrix.cc }} - CCACHE_NOSTATS: 1 - CCACHE_DIR: /ccache - CCACHE_SLOPPINESS: include_file_mtime - strategy: - matrix: - arch: - - amd64 - - i386 - cc: - - gcc - - clang - steps: - - name: Cancel Previous Runs - uses: thomwiggers/cancel-workflow-action@all_but_latest - with: - all_but_latest: true - access_token: ${{ github.token }} - continue-on-error: true - if: matrix.arch == 'amd64' && matrix.cc == 'gcc' - - uses: actions/checkout@v2 - with: - submodules: true - - name: Cache ccache - uses: actions/cache@v2 - env: - cache-name: cache-ccache - with: - path: /ccache - key: v1-${{ runner.os }}-build-${{ env.cache-name }}-${{ matrix.cc }}-${{ env.GITHUB_WORKFLOW }}-${{ matrix.arch }} - - name: Cache pip - uses: actions/cache@v2 - env: - cache-name: cache-python-pip - with: - path: ~/.cache/pip - key: v1-python-pip - - name: Install python dependencies - run: | - python3 -m pip install -U -r requirements.txt - - name: Run tests - run: | - cd test - python3 -m pytest --verbose --numprocesses=auto - test-emulated: - needs: - - test-native - runs-on: ubuntu-latest - strategy: - matrix: - arch: - - armhf - - unstable-ppc - cc: - - gcc - - clang - env: - CC: ${{ matrix.cc }} - steps: - - name: Register qemu-user-static - run: | - docker run --rm --privileged multiarch/qemu-user-static:register --reset - - uses: actions/checkout@v2 - with: - submodules: true - - name: Cache ccache - uses: actions/cache@v2 - env: - cache-name: cache-ccache - with: - path: ~/ccache - key: v1-${{ runner.os }}-build-${{ env.cache-name }}-${{ matrix.cc }}-${{ env.GITHUB_WORKFLOW }}-${{ matrix.arch }} - - name: Cache pip - uses: actions/cache@v2 - env: - cache-name: cache-python-pip - with: - path: ~/.cache/pip - key: v1-python-pip - - name: Run tests in container - run: | - docker run --rm -e CI -e CC -e PQCLEAN_ONLY_SCHEMES=falcon-512 -v $PWD:$PWD -w $PWD -v ~/ccache:/ccache pqclean/ci-container:${{ matrix.arch }} /bin/bash -c "\ - export CCACHE_NOSTATS=1 && \ - export CCACHE_DIR=/ccache && \ - export CCACHE_SLOPPINESS=include_file_mtime && \ - export CC=\"ccache $CC\" && \ - pip3 install -U -r requirements.txt && \ - cd test && \ - python3 -m pytest --verbose --numprocesses=auto" - test-windows: - needs: - - test-native - strategy: - matrix: - bits: - - 64 - - 32 - env: - PQCLEAN_ONLY_SCHEMES: falcon-512 - runs-on: windows-latest - steps: - - uses: actions/checkout@v2 - with: - submodules: true - - name: Setup astyle - run: | - # Setup strong crypto - Set-ItemProperty -Path "HKLM:\\SOFTWARE\\Wow6432Node\\Microsoft\\.NetFramework\\v4.0.30319" -Name 'SchUseStrongCrypto' -Value '1' -Type DWord - Set-ItemProperty -Path "HKLM:\\SOFTWARE\\Microsoft\\.NetFramework\\v4.0.30319" -Name "SchUseStrongCrypto" -Value '1' -Type DWord - Invoke-WebRequest -OutFile "test\\astyle.exe" "https://rded.nl/pqclean/AStyle.exe" - shell: powershell - - name: Setup Python - uses: actions/setup-python@main - with: - python-version: "3.x" - - name: Install python requirements - run: python -m pip install -U -r requirements.txt - - name: Run tests - run: | - call "C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Enterprise\\VC\\Auxiliary\\Build\\vcvars${{ matrix.bits }}.bat" - cd test - python -m pytest --verbose --numprocesses=auto - shell: cmd - test-macos: - needs: - - test-native - env: - PQCLEAN_ONLY_SCHEMES: falcon-512 - CCACHE_NOSTATS: 1 - CCACHE_SLOPPINESS: include_file_mtime - # XCode version - DEVELOPER_DIR: /Applications/Xcode_11.5.app/Contents/Developer - strategy: - matrix: - compiler: - - clang # XCode (Apple LLVM/Clang) - - gcc9 # GNU (Homebrew) - runs-on: macos-latest - steps: - - uses: actions/checkout@v2 - with: - submodules: true - - name: Install astyle - run: | - brew install astyle - - name: Set up GCC9 compiler - run: 'export PATH="/usr/local/bin:$PATH" && export CC=gcc-9' - if: matrix.compiler == 'gcc9' - - name: Setup Python - uses: actions/setup-python@main - with: - python-version: "3.x" - - name: Install Python dependencies - run: python -m pip install -U -r requirements.txt - - name: Run tests - run: | - cd test - python -m pytest --verbose --numprocesses=auto - diff --git a/.github/workflows/sign_rainbowI-circumzenithal.yml b/.github/workflows/sign_rainbowI-circumzenithal.yml deleted file mode 100644 index ef8947e8..00000000 --- a/.github/workflows/sign_rainbowI-circumzenithal.yml +++ /dev/null @@ -1,204 +0,0 @@ -on: - push: - paths: - # build if tests change - - 'test/**' - # do not build if other schemes duplicate_consistency files change - - '!test/duplicate_consistency/*.yml' - - 'test/duplicate_consistency/rainbowI-circumzenithal*.yml' - # build if common files change - - 'common/**' - # build if scheme changed - - 'crypto_sign/rainbowI-circumzenithal/**' - # build if workflow file changed - - '.github/workflows/sign_rainbowI-circumzenithal.yml' - # Build if any files in the root change, except .md files - - '*' - - '!*.md' - pull_request: - paths: - # build if tests change - - 'test/**' - # do not build if other schemes duplicate_consistency files change - - '!test/duplicate_consistency/*.yml' - - 'test/duplicate_consistency/rainbowI-circumzenithal*.yml' - # build if common files change - - 'common/**' - # build if scheme changed - - 'crypto_sign/rainbowI-circumzenithal/**' - # build if workflow file changed - - '.github/workflows/sign_rainbowI-circumzenithal.yml' - # Build if any files in the root change, except .md files - - '*' - - '!*.md' - schedule: - - cron: '5 4 * * *' - -name: Test rainbowI-circumzenithal - -jobs: - test-native: - runs-on: ubuntu-latest - container: - image: pqclean/ci-container:${{ matrix.arch }} - env: - PQCLEAN_ONLY_SCHEMES: rainbowI-circumzenithal - CC: ccache ${{ matrix.cc }} - CCACHE_NOSTATS: 1 - CCACHE_DIR: /ccache - CCACHE_SLOPPINESS: include_file_mtime - strategy: - matrix: - arch: - - amd64 - - i386 - cc: - - gcc - - clang - steps: - - name: Cancel Previous Runs - uses: thomwiggers/cancel-workflow-action@all_but_latest - with: - all_but_latest: true - access_token: ${{ github.token }} - continue-on-error: true - if: matrix.arch == 'amd64' && matrix.cc == 'gcc' - - uses: actions/checkout@v2 - with: - submodules: true - - name: Cache ccache - uses: actions/cache@v2 - env: - cache-name: cache-ccache - with: - path: /ccache - key: v1-${{ runner.os }}-build-${{ env.cache-name }}-${{ matrix.cc }}-${{ env.GITHUB_WORKFLOW }}-${{ matrix.arch }} - - name: Cache pip - uses: actions/cache@v2 - env: - cache-name: cache-python-pip - with: - path: ~/.cache/pip - key: v1-python-pip - - name: Install python dependencies - run: | - python3 -m pip install -U -r requirements.txt - - name: Run tests - run: | - cd test - python3 -m pytest --verbose --numprocesses=auto - test-emulated: - needs: - - test-native - runs-on: ubuntu-latest - strategy: - matrix: - arch: - - armhf - - unstable-ppc - cc: - - gcc - - clang - env: - CC: ${{ matrix.cc }} - steps: - - name: Register qemu-user-static - run: | - docker run --rm --privileged multiarch/qemu-user-static:register --reset - - uses: actions/checkout@v2 - with: - submodules: true - - name: Cache ccache - uses: actions/cache@v2 - env: - cache-name: cache-ccache - with: - path: ~/ccache - key: v1-${{ runner.os }}-build-${{ env.cache-name }}-${{ matrix.cc }}-${{ env.GITHUB_WORKFLOW }}-${{ matrix.arch }} - - name: Cache pip - uses: actions/cache@v2 - env: - cache-name: cache-python-pip - with: - path: ~/.cache/pip - key: v1-python-pip - - name: Run tests in container - run: | - docker run --rm -e CI -e CC -e PQCLEAN_ONLY_SCHEMES=rainbowI-circumzenithal -v $PWD:$PWD -w $PWD -v ~/ccache:/ccache pqclean/ci-container:${{ matrix.arch }} /bin/bash -c "\ - export CCACHE_NOSTATS=1 && \ - export CCACHE_DIR=/ccache && \ - export CCACHE_SLOPPINESS=include_file_mtime && \ - export CC=\"ccache $CC\" && \ - pip3 install -U -r requirements.txt && \ - cd test && \ - python3 -m pytest --verbose --numprocesses=auto" - test-windows: - needs: - - test-native - strategy: - matrix: - bits: - - 64 - - 32 - env: - PQCLEAN_ONLY_SCHEMES: rainbowI-circumzenithal - runs-on: windows-latest - steps: - - uses: actions/checkout@v2 - with: - submodules: true - - name: Setup astyle - run: | - # Setup strong crypto - Set-ItemProperty -Path "HKLM:\\SOFTWARE\\Wow6432Node\\Microsoft\\.NetFramework\\v4.0.30319" -Name 'SchUseStrongCrypto' -Value '1' -Type DWord - Set-ItemProperty -Path "HKLM:\\SOFTWARE\\Microsoft\\.NetFramework\\v4.0.30319" -Name "SchUseStrongCrypto" -Value '1' -Type DWord - Invoke-WebRequest -OutFile "test\\astyle.exe" "https://rded.nl/pqclean/AStyle.exe" - shell: powershell - - name: Setup Python - uses: actions/setup-python@main - with: - python-version: "3.x" - - name: Install python requirements - run: python -m pip install -U -r requirements.txt - - name: Run tests - run: | - call "C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Enterprise\\VC\\Auxiliary\\Build\\vcvars${{ matrix.bits }}.bat" - cd test - python -m pytest --verbose --numprocesses=auto - shell: cmd - test-macos: - needs: - - test-native - env: - PQCLEAN_ONLY_SCHEMES: rainbowI-circumzenithal - CCACHE_NOSTATS: 1 - CCACHE_SLOPPINESS: include_file_mtime - # XCode version - DEVELOPER_DIR: /Applications/Xcode_11.5.app/Contents/Developer - strategy: - matrix: - compiler: - - clang # XCode (Apple LLVM/Clang) - - gcc9 # GNU (Homebrew) - runs-on: macos-latest - steps: - - uses: actions/checkout@v2 - with: - submodules: true - - name: Install astyle - run: | - brew install astyle - - name: Set up GCC9 compiler - run: 'export PATH="/usr/local/bin:$PATH" && export CC=gcc-9' - if: matrix.compiler == 'gcc9' - - name: Setup Python - uses: actions/setup-python@main - with: - python-version: "3.x" - - name: Install Python dependencies - run: python -m pip install -U -r requirements.txt - - name: Run tests - run: | - cd test - python -m pytest --verbose --numprocesses=auto - diff --git a/.github/workflows/sign_rainbowI-classic.yml b/.github/workflows/sign_rainbowI-classic.yml deleted file mode 100644 index 0d7bedf3..00000000 --- a/.github/workflows/sign_rainbowI-classic.yml +++ /dev/null @@ -1,204 +0,0 @@ -on: - push: - paths: - # build if tests change - - 'test/**' - # do not build if other schemes duplicate_consistency files change - - '!test/duplicate_consistency/*.yml' - - 'test/duplicate_consistency/rainbowI-classic*.yml' - # build if common files change - - 'common/**' - # build if scheme changed - - 'crypto_sign/rainbowI-classic/**' - # build if workflow file changed - - '.github/workflows/sign_rainbowI-classic.yml' - # Build if any files in the root change, except .md files - - '*' - - '!*.md' - pull_request: - paths: - # build if tests change - - 'test/**' - # do not build if other schemes duplicate_consistency files change - - '!test/duplicate_consistency/*.yml' - - 'test/duplicate_consistency/rainbowI-classic*.yml' - # build if common files change - - 'common/**' - # build if scheme changed - - 'crypto_sign/rainbowI-classic/**' - # build if workflow file changed - - '.github/workflows/sign_rainbowI-classic.yml' - # Build if any files in the root change, except .md files - - '*' - - '!*.md' - schedule: - - cron: '5 4 * * *' - -name: Test rainbowI-classic - -jobs: - test-native: - runs-on: ubuntu-latest - container: - image: pqclean/ci-container:${{ matrix.arch }} - env: - PQCLEAN_ONLY_SCHEMES: rainbowI-classic - CC: ccache ${{ matrix.cc }} - CCACHE_NOSTATS: 1 - CCACHE_DIR: /ccache - CCACHE_SLOPPINESS: include_file_mtime - strategy: - matrix: - arch: - - amd64 - - i386 - cc: - - gcc - - clang - steps: - - name: Cancel Previous Runs - uses: thomwiggers/cancel-workflow-action@all_but_latest - with: - all_but_latest: true - access_token: ${{ github.token }} - continue-on-error: true - if: matrix.arch == 'amd64' && matrix.cc == 'gcc' - - uses: actions/checkout@v2 - with: - submodules: true - - name: Cache ccache - uses: actions/cache@v2 - env: - cache-name: cache-ccache - with: - path: /ccache - key: v1-${{ runner.os }}-build-${{ env.cache-name }}-${{ matrix.cc }}-${{ env.GITHUB_WORKFLOW }}-${{ matrix.arch }} - - name: Cache pip - uses: actions/cache@v2 - env: - cache-name: cache-python-pip - with: - path: ~/.cache/pip - key: v1-python-pip - - name: Install python dependencies - run: | - python3 -m pip install -U -r requirements.txt - - name: Run tests - run: | - cd test - python3 -m pytest --verbose --numprocesses=auto - test-emulated: - needs: - - test-native - runs-on: ubuntu-latest - strategy: - matrix: - arch: - - armhf - - unstable-ppc - cc: - - gcc - - clang - env: - CC: ${{ matrix.cc }} - steps: - - name: Register qemu-user-static - run: | - docker run --rm --privileged multiarch/qemu-user-static:register --reset - - uses: actions/checkout@v2 - with: - submodules: true - - name: Cache ccache - uses: actions/cache@v2 - env: - cache-name: cache-ccache - with: - path: ~/ccache - key: v1-${{ runner.os }}-build-${{ env.cache-name }}-${{ matrix.cc }}-${{ env.GITHUB_WORKFLOW }}-${{ matrix.arch }} - - name: Cache pip - uses: actions/cache@v2 - env: - cache-name: cache-python-pip - with: - path: ~/.cache/pip - key: v1-python-pip - - name: Run tests in container - run: | - docker run --rm -e CI -e CC -e PQCLEAN_ONLY_SCHEMES=rainbowI-classic -v $PWD:$PWD -w $PWD -v ~/ccache:/ccache pqclean/ci-container:${{ matrix.arch }} /bin/bash -c "\ - export CCACHE_NOSTATS=1 && \ - export CCACHE_DIR=/ccache && \ - export CCACHE_SLOPPINESS=include_file_mtime && \ - export CC=\"ccache $CC\" && \ - pip3 install -U -r requirements.txt && \ - cd test && \ - python3 -m pytest --verbose --numprocesses=auto" - test-windows: - needs: - - test-native - strategy: - matrix: - bits: - - 64 - - 32 - env: - PQCLEAN_ONLY_SCHEMES: rainbowI-classic - runs-on: windows-latest - steps: - - uses: actions/checkout@v2 - with: - submodules: true - - name: Setup astyle - run: | - # Setup strong crypto - Set-ItemProperty -Path "HKLM:\\SOFTWARE\\Wow6432Node\\Microsoft\\.NetFramework\\v4.0.30319" -Name 'SchUseStrongCrypto' -Value '1' -Type DWord - Set-ItemProperty -Path "HKLM:\\SOFTWARE\\Microsoft\\.NetFramework\\v4.0.30319" -Name "SchUseStrongCrypto" -Value '1' -Type DWord - Invoke-WebRequest -OutFile "test\\astyle.exe" "https://rded.nl/pqclean/AStyle.exe" - shell: powershell - - name: Setup Python - uses: actions/setup-python@main - with: - python-version: "3.x" - - name: Install python requirements - run: python -m pip install -U -r requirements.txt - - name: Run tests - run: | - call "C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Enterprise\\VC\\Auxiliary\\Build\\vcvars${{ matrix.bits }}.bat" - cd test - python -m pytest --verbose --numprocesses=auto - shell: cmd - test-macos: - needs: - - test-native - env: - PQCLEAN_ONLY_SCHEMES: rainbowI-classic - CCACHE_NOSTATS: 1 - CCACHE_SLOPPINESS: include_file_mtime - # XCode version - DEVELOPER_DIR: /Applications/Xcode_11.5.app/Contents/Developer - strategy: - matrix: - compiler: - - clang # XCode (Apple LLVM/Clang) - - gcc9 # GNU (Homebrew) - runs-on: macos-latest - steps: - - uses: actions/checkout@v2 - with: - submodules: true - - name: Install astyle - run: | - brew install astyle - - name: Set up GCC9 compiler - run: 'export PATH="/usr/local/bin:$PATH" && export CC=gcc-9' - if: matrix.compiler == 'gcc9' - - name: Setup Python - uses: actions/setup-python@main - with: - python-version: "3.x" - - name: Install Python dependencies - run: python -m pip install -U -r requirements.txt - - name: Run tests - run: | - cd test - python -m pytest --verbose --numprocesses=auto - diff --git a/.github/workflows/sign_rainbowI-compressed.yml b/.github/workflows/sign_rainbowI-compressed.yml deleted file mode 100644 index 6d7a91ba..00000000 --- a/.github/workflows/sign_rainbowI-compressed.yml +++ /dev/null @@ -1,204 +0,0 @@ -on: - push: - paths: - # build if tests change - - 'test/**' - # do not build if other schemes duplicate_consistency files change - - '!test/duplicate_consistency/*.yml' - - 'test/duplicate_consistency/rainbowI-compressed*.yml' - # build if common files change - - 'common/**' - # build if scheme changed - - 'crypto_sign/rainbowI-compressed/**' - # build if workflow file changed - - '.github/workflows/sign_rainbowI-compressed.yml' - # Build if any files in the root change, except .md files - - '*' - - '!*.md' - pull_request: - paths: - # build if tests change - - 'test/**' - # do not build if other schemes duplicate_consistency files change - - '!test/duplicate_consistency/*.yml' - - 'test/duplicate_consistency/rainbowI-compressed*.yml' - # build if common files change - - 'common/**' - # build if scheme changed - - 'crypto_sign/rainbowI-compressed/**' - # build if workflow file changed - - '.github/workflows/sign_rainbowI-compressed.yml' - # Build if any files in the root change, except .md files - - '*' - - '!*.md' - schedule: - - cron: '5 4 * * *' - -name: Test rainbowI-compressed - -jobs: - test-native: - runs-on: ubuntu-latest - container: - image: pqclean/ci-container:${{ matrix.arch }} - env: - PQCLEAN_ONLY_SCHEMES: rainbowI-compressed - CC: ccache ${{ matrix.cc }} - CCACHE_NOSTATS: 1 - CCACHE_DIR: /ccache - CCACHE_SLOPPINESS: include_file_mtime - strategy: - matrix: - arch: - - amd64 - - i386 - cc: - - gcc - - clang - steps: - - name: Cancel Previous Runs - uses: thomwiggers/cancel-workflow-action@all_but_latest - with: - all_but_latest: true - access_token: ${{ github.token }} - continue-on-error: true - if: matrix.arch == 'amd64' && matrix.cc == 'gcc' - - uses: actions/checkout@v2 - with: - submodules: true - - name: Cache ccache - uses: actions/cache@v2 - env: - cache-name: cache-ccache - with: - path: /ccache - key: v1-${{ runner.os }}-build-${{ env.cache-name }}-${{ matrix.cc }}-${{ env.GITHUB_WORKFLOW }}-${{ matrix.arch }} - - name: Cache pip - uses: actions/cache@v2 - env: - cache-name: cache-python-pip - with: - path: ~/.cache/pip - key: v1-python-pip - - name: Install python dependencies - run: | - python3 -m pip install -U -r requirements.txt - - name: Run tests - run: | - cd test - python3 -m pytest --verbose --numprocesses=auto - test-emulated: - needs: - - test-native - runs-on: ubuntu-latest - strategy: - matrix: - arch: - - armhf - - unstable-ppc - cc: - - gcc - - clang - env: - CC: ${{ matrix.cc }} - steps: - - name: Register qemu-user-static - run: | - docker run --rm --privileged multiarch/qemu-user-static:register --reset - - uses: actions/checkout@v2 - with: - submodules: true - - name: Cache ccache - uses: actions/cache@v2 - env: - cache-name: cache-ccache - with: - path: ~/ccache - key: v1-${{ runner.os }}-build-${{ env.cache-name }}-${{ matrix.cc }}-${{ env.GITHUB_WORKFLOW }}-${{ matrix.arch }} - - name: Cache pip - uses: actions/cache@v2 - env: - cache-name: cache-python-pip - with: - path: ~/.cache/pip - key: v1-python-pip - - name: Run tests in container - run: | - docker run --rm -e CI -e CC -e PQCLEAN_ONLY_SCHEMES=rainbowI-compressed -v $PWD:$PWD -w $PWD -v ~/ccache:/ccache pqclean/ci-container:${{ matrix.arch }} /bin/bash -c "\ - export CCACHE_NOSTATS=1 && \ - export CCACHE_DIR=/ccache && \ - export CCACHE_SLOPPINESS=include_file_mtime && \ - export CC=\"ccache $CC\" && \ - pip3 install -U -r requirements.txt && \ - cd test && \ - python3 -m pytest --verbose --numprocesses=auto" - test-windows: - needs: - - test-native - strategy: - matrix: - bits: - - 64 - - 32 - env: - PQCLEAN_ONLY_SCHEMES: rainbowI-compressed - runs-on: windows-latest - steps: - - uses: actions/checkout@v2 - with: - submodules: true - - name: Setup astyle - run: | - # Setup strong crypto - Set-ItemProperty -Path "HKLM:\\SOFTWARE\\Wow6432Node\\Microsoft\\.NetFramework\\v4.0.30319" -Name 'SchUseStrongCrypto' -Value '1' -Type DWord - Set-ItemProperty -Path "HKLM:\\SOFTWARE\\Microsoft\\.NetFramework\\v4.0.30319" -Name "SchUseStrongCrypto" -Value '1' -Type DWord - Invoke-WebRequest -OutFile "test\\astyle.exe" "https://rded.nl/pqclean/AStyle.exe" - shell: powershell - - name: Setup Python - uses: actions/setup-python@main - with: - python-version: "3.x" - - name: Install python requirements - run: python -m pip install -U -r requirements.txt - - name: Run tests - run: | - call "C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Enterprise\\VC\\Auxiliary\\Build\\vcvars${{ matrix.bits }}.bat" - cd test - python -m pytest --verbose --numprocesses=auto - shell: cmd - test-macos: - needs: - - test-native - env: - PQCLEAN_ONLY_SCHEMES: rainbowI-compressed - CCACHE_NOSTATS: 1 - CCACHE_SLOPPINESS: include_file_mtime - # XCode version - DEVELOPER_DIR: /Applications/Xcode_11.5.app/Contents/Developer - strategy: - matrix: - compiler: - - clang # XCode (Apple LLVM/Clang) - - gcc9 # GNU (Homebrew) - runs-on: macos-latest - steps: - - uses: actions/checkout@v2 - with: - submodules: true - - name: Install astyle - run: | - brew install astyle - - name: Set up GCC9 compiler - run: 'export PATH="/usr/local/bin:$PATH" && export CC=gcc-9' - if: matrix.compiler == 'gcc9' - - name: Setup Python - uses: actions/setup-python@main - with: - python-version: "3.x" - - name: Install Python dependencies - run: python -m pip install -U -r requirements.txt - - name: Run tests - run: | - cd test - python -m pytest --verbose --numprocesses=auto - diff --git a/.github/workflows/sign_rainbowIII-circumzenithal.yml b/.github/workflows/sign_rainbowIII-circumzenithal.yml deleted file mode 100644 index 88b75850..00000000 --- a/.github/workflows/sign_rainbowIII-circumzenithal.yml +++ /dev/null @@ -1,204 +0,0 @@ -on: - push: - paths: - # build if tests change - - 'test/**' - # do not build if other schemes duplicate_consistency files change - - '!test/duplicate_consistency/*.yml' - - 'test/duplicate_consistency/rainbowIII-circumzenithal*.yml' - # build if common files change - - 'common/**' - # build if scheme changed - - 'crypto_sign/rainbowIII-circumzenithal/**' - # build if workflow file changed - - '.github/workflows/sign_rainbowIII-circumzenithal.yml' - # Build if any files in the root change, except .md files - - '*' - - '!*.md' - pull_request: - paths: - # build if tests change - - 'test/**' - # do not build if other schemes duplicate_consistency files change - - '!test/duplicate_consistency/*.yml' - - 'test/duplicate_consistency/rainbowIII-circumzenithal*.yml' - # build if common files change - - 'common/**' - # build if scheme changed - - 'crypto_sign/rainbowIII-circumzenithal/**' - # build if workflow file changed - - '.github/workflows/sign_rainbowIII-circumzenithal.yml' - # Build if any files in the root change, except .md files - - '*' - - '!*.md' - schedule: - - cron: '5 4 * * *' - -name: Test rainbowIII-circumzenithal - -jobs: - test-native: - runs-on: ubuntu-latest - container: - image: pqclean/ci-container:${{ matrix.arch }} - env: - PQCLEAN_ONLY_SCHEMES: rainbowIII-circumzenithal - CC: ccache ${{ matrix.cc }} - CCACHE_NOSTATS: 1 - CCACHE_DIR: /ccache - CCACHE_SLOPPINESS: include_file_mtime - strategy: - matrix: - arch: - - amd64 - - i386 - cc: - - gcc - - clang - steps: - - name: Cancel Previous Runs - uses: thomwiggers/cancel-workflow-action@all_but_latest - with: - all_but_latest: true - access_token: ${{ github.token }} - continue-on-error: true - if: matrix.arch == 'amd64' && matrix.cc == 'gcc' - - uses: actions/checkout@v2 - with: - submodules: true - - name: Cache ccache - uses: actions/cache@v2 - env: - cache-name: cache-ccache - with: - path: /ccache - key: v1-${{ runner.os }}-build-${{ env.cache-name }}-${{ matrix.cc }}-${{ env.GITHUB_WORKFLOW }}-${{ matrix.arch }} - - name: Cache pip - uses: actions/cache@v2 - env: - cache-name: cache-python-pip - with: - path: ~/.cache/pip - key: v1-python-pip - - name: Install python dependencies - run: | - python3 -m pip install -U -r requirements.txt - - name: Run tests - run: | - cd test - python3 -m pytest --verbose --numprocesses=auto - test-emulated: - needs: - - test-native - runs-on: ubuntu-latest - strategy: - matrix: - arch: - - armhf - - unstable-ppc - cc: - - gcc - - clang - env: - CC: ${{ matrix.cc }} - steps: - - name: Register qemu-user-static - run: | - docker run --rm --privileged multiarch/qemu-user-static:register --reset - - uses: actions/checkout@v2 - with: - submodules: true - - name: Cache ccache - uses: actions/cache@v2 - env: - cache-name: cache-ccache - with: - path: ~/ccache - key: v1-${{ runner.os }}-build-${{ env.cache-name }}-${{ matrix.cc }}-${{ env.GITHUB_WORKFLOW }}-${{ matrix.arch }} - - name: Cache pip - uses: actions/cache@v2 - env: - cache-name: cache-python-pip - with: - path: ~/.cache/pip - key: v1-python-pip - - name: Run tests in container - run: | - docker run --rm -e CI -e CC -e PQCLEAN_ONLY_SCHEMES=rainbowIII-circumzenithal -v $PWD:$PWD -w $PWD -v ~/ccache:/ccache pqclean/ci-container:${{ matrix.arch }} /bin/bash -c "\ - export CCACHE_NOSTATS=1 && \ - export CCACHE_DIR=/ccache && \ - export CCACHE_SLOPPINESS=include_file_mtime && \ - export CC=\"ccache $CC\" && \ - pip3 install -U -r requirements.txt && \ - cd test && \ - python3 -m pytest --verbose --numprocesses=auto" - test-windows: - needs: - - test-native - strategy: - matrix: - bits: - - 64 - - 32 - env: - PQCLEAN_ONLY_SCHEMES: rainbowIII-circumzenithal - runs-on: windows-latest - steps: - - uses: actions/checkout@v2 - with: - submodules: true - - name: Setup astyle - run: | - # Setup strong crypto - Set-ItemProperty -Path "HKLM:\\SOFTWARE\\Wow6432Node\\Microsoft\\.NetFramework\\v4.0.30319" -Name 'SchUseStrongCrypto' -Value '1' -Type DWord - Set-ItemProperty -Path "HKLM:\\SOFTWARE\\Microsoft\\.NetFramework\\v4.0.30319" -Name "SchUseStrongCrypto" -Value '1' -Type DWord - Invoke-WebRequest -OutFile "test\\astyle.exe" "https://rded.nl/pqclean/AStyle.exe" - shell: powershell - - name: Setup Python - uses: actions/setup-python@main - with: - python-version: "3.x" - - name: Install python requirements - run: python -m pip install -U -r requirements.txt - - name: Run tests - run: | - call "C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Enterprise\\VC\\Auxiliary\\Build\\vcvars${{ matrix.bits }}.bat" - cd test - python -m pytest --verbose --numprocesses=auto - shell: cmd - test-macos: - needs: - - test-native - env: - PQCLEAN_ONLY_SCHEMES: rainbowIII-circumzenithal - CCACHE_NOSTATS: 1 - CCACHE_SLOPPINESS: include_file_mtime - # XCode version - DEVELOPER_DIR: /Applications/Xcode_11.5.app/Contents/Developer - strategy: - matrix: - compiler: - - clang # XCode (Apple LLVM/Clang) - - gcc9 # GNU (Homebrew) - runs-on: macos-latest - steps: - - uses: actions/checkout@v2 - with: - submodules: true - - name: Install astyle - run: | - brew install astyle - - name: Set up GCC9 compiler - run: 'export PATH="/usr/local/bin:$PATH" && export CC=gcc-9' - if: matrix.compiler == 'gcc9' - - name: Setup Python - uses: actions/setup-python@main - with: - python-version: "3.x" - - name: Install Python dependencies - run: python -m pip install -U -r requirements.txt - - name: Run tests - run: | - cd test - python -m pytest --verbose --numprocesses=auto - diff --git a/.github/workflows/sign_rainbowIII-classic.yml b/.github/workflows/sign_rainbowIII-classic.yml deleted file mode 100644 index 720411cc..00000000 --- a/.github/workflows/sign_rainbowIII-classic.yml +++ /dev/null @@ -1,204 +0,0 @@ -on: - push: - paths: - # build if tests change - - 'test/**' - # do not build if other schemes duplicate_consistency files change - - '!test/duplicate_consistency/*.yml' - - 'test/duplicate_consistency/rainbowIII-classic*.yml' - # build if common files change - - 'common/**' - # build if scheme changed - - 'crypto_sign/rainbowIII-classic/**' - # build if workflow file changed - - '.github/workflows/sign_rainbowIII-classic.yml' - # Build if any files in the root change, except .md files - - '*' - - '!*.md' - pull_request: - paths: - # build if tests change - - 'test/**' - # do not build if other schemes duplicate_consistency files change - - '!test/duplicate_consistency/*.yml' - - 'test/duplicate_consistency/rainbowIII-classic*.yml' - # build if common files change - - 'common/**' - # build if scheme changed - - 'crypto_sign/rainbowIII-classic/**' - # build if workflow file changed - - '.github/workflows/sign_rainbowIII-classic.yml' - # Build if any files in the root change, except .md files - - '*' - - '!*.md' - schedule: - - cron: '5 4 * * *' - -name: Test rainbowIII-classic - -jobs: - test-native: - runs-on: ubuntu-latest - container: - image: pqclean/ci-container:${{ matrix.arch }} - env: - PQCLEAN_ONLY_SCHEMES: rainbowIII-classic - CC: ccache ${{ matrix.cc }} - CCACHE_NOSTATS: 1 - CCACHE_DIR: /ccache - CCACHE_SLOPPINESS: include_file_mtime - strategy: - matrix: - arch: - - amd64 - - i386 - cc: - - gcc - - clang - steps: - - name: Cancel Previous Runs - uses: thomwiggers/cancel-workflow-action@all_but_latest - with: - all_but_latest: true - access_token: ${{ github.token }} - continue-on-error: true - if: matrix.arch == 'amd64' && matrix.cc == 'gcc' - - uses: actions/checkout@v2 - with: - submodules: true - - name: Cache ccache - uses: actions/cache@v2 - env: - cache-name: cache-ccache - with: - path: /ccache - key: v1-${{ runner.os }}-build-${{ env.cache-name }}-${{ matrix.cc }}-${{ env.GITHUB_WORKFLOW }}-${{ matrix.arch }} - - name: Cache pip - uses: actions/cache@v2 - env: - cache-name: cache-python-pip - with: - path: ~/.cache/pip - key: v1-python-pip - - name: Install python dependencies - run: | - python3 -m pip install -U -r requirements.txt - - name: Run tests - run: | - cd test - python3 -m pytest --verbose --numprocesses=auto - test-emulated: - needs: - - test-native - runs-on: ubuntu-latest - strategy: - matrix: - arch: - - armhf - - unstable-ppc - cc: - - gcc - - clang - env: - CC: ${{ matrix.cc }} - steps: - - name: Register qemu-user-static - run: | - docker run --rm --privileged multiarch/qemu-user-static:register --reset - - uses: actions/checkout@v2 - with: - submodules: true - - name: Cache ccache - uses: actions/cache@v2 - env: - cache-name: cache-ccache - with: - path: ~/ccache - key: v1-${{ runner.os }}-build-${{ env.cache-name }}-${{ matrix.cc }}-${{ env.GITHUB_WORKFLOW }}-${{ matrix.arch }} - - name: Cache pip - uses: actions/cache@v2 - env: - cache-name: cache-python-pip - with: - path: ~/.cache/pip - key: v1-python-pip - - name: Run tests in container - run: | - docker run --rm -e CI -e CC -e PQCLEAN_ONLY_SCHEMES=rainbowIII-classic -v $PWD:$PWD -w $PWD -v ~/ccache:/ccache pqclean/ci-container:${{ matrix.arch }} /bin/bash -c "\ - export CCACHE_NOSTATS=1 && \ - export CCACHE_DIR=/ccache && \ - export CCACHE_SLOPPINESS=include_file_mtime && \ - export CC=\"ccache $CC\" && \ - pip3 install -U -r requirements.txt && \ - cd test && \ - python3 -m pytest --verbose --numprocesses=auto" - test-windows: - needs: - - test-native - strategy: - matrix: - bits: - - 64 - - 32 - env: - PQCLEAN_ONLY_SCHEMES: rainbowIII-classic - runs-on: windows-latest - steps: - - uses: actions/checkout@v2 - with: - submodules: true - - name: Setup astyle - run: | - # Setup strong crypto - Set-ItemProperty -Path "HKLM:\\SOFTWARE\\Wow6432Node\\Microsoft\\.NetFramework\\v4.0.30319" -Name 'SchUseStrongCrypto' -Value '1' -Type DWord - Set-ItemProperty -Path "HKLM:\\SOFTWARE\\Microsoft\\.NetFramework\\v4.0.30319" -Name "SchUseStrongCrypto" -Value '1' -Type DWord - Invoke-WebRequest -OutFile "test\\astyle.exe" "https://rded.nl/pqclean/AStyle.exe" - shell: powershell - - name: Setup Python - uses: actions/setup-python@main - with: - python-version: "3.x" - - name: Install python requirements - run: python -m pip install -U -r requirements.txt - - name: Run tests - run: | - call "C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Enterprise\\VC\\Auxiliary\\Build\\vcvars${{ matrix.bits }}.bat" - cd test - python -m pytest --verbose --numprocesses=auto - shell: cmd - test-macos: - needs: - - test-native - env: - PQCLEAN_ONLY_SCHEMES: rainbowIII-classic - CCACHE_NOSTATS: 1 - CCACHE_SLOPPINESS: include_file_mtime - # XCode version - DEVELOPER_DIR: /Applications/Xcode_11.5.app/Contents/Developer - strategy: - matrix: - compiler: - - clang # XCode (Apple LLVM/Clang) - - gcc9 # GNU (Homebrew) - runs-on: macos-latest - steps: - - uses: actions/checkout@v2 - with: - submodules: true - - name: Install astyle - run: | - brew install astyle - - name: Set up GCC9 compiler - run: 'export PATH="/usr/local/bin:$PATH" && export CC=gcc-9' - if: matrix.compiler == 'gcc9' - - name: Setup Python - uses: actions/setup-python@main - with: - python-version: "3.x" - - name: Install Python dependencies - run: python -m pip install -U -r requirements.txt - - name: Run tests - run: | - cd test - python -m pytest --verbose --numprocesses=auto - diff --git a/.github/workflows/sign_rainbowIII-compressed.yml b/.github/workflows/sign_rainbowIII-compressed.yml deleted file mode 100644 index 8f903908..00000000 --- a/.github/workflows/sign_rainbowIII-compressed.yml +++ /dev/null @@ -1,204 +0,0 @@ -on: - push: - paths: - # build if tests change - - 'test/**' - # do not build if other schemes duplicate_consistency files change - - '!test/duplicate_consistency/*.yml' - - 'test/duplicate_consistency/rainbowIII-compressed*.yml' - # build if common files change - - 'common/**' - # build if scheme changed - - 'crypto_sign/rainbowIII-compressed/**' - # build if workflow file changed - - '.github/workflows/sign_rainbowIII-compressed.yml' - # Build if any files in the root change, except .md files - - '*' - - '!*.md' - pull_request: - paths: - # build if tests change - - 'test/**' - # do not build if other schemes duplicate_consistency files change - - '!test/duplicate_consistency/*.yml' - - 'test/duplicate_consistency/rainbowIII-compressed*.yml' - # build if common files change - - 'common/**' - # build if scheme changed - - 'crypto_sign/rainbowIII-compressed/**' - # build if workflow file changed - - '.github/workflows/sign_rainbowIII-compressed.yml' - # Build if any files in the root change, except .md files - - '*' - - '!*.md' - schedule: - - cron: '5 4 * * *' - -name: Test rainbowIII-compressed - -jobs: - test-native: - runs-on: ubuntu-latest - container: - image: pqclean/ci-container:${{ matrix.arch }} - env: - PQCLEAN_ONLY_SCHEMES: rainbowIII-compressed - CC: ccache ${{ matrix.cc }} - CCACHE_NOSTATS: 1 - CCACHE_DIR: /ccache - CCACHE_SLOPPINESS: include_file_mtime - strategy: - matrix: - arch: - - amd64 - - i386 - cc: - - gcc - - clang - steps: - - name: Cancel Previous Runs - uses: thomwiggers/cancel-workflow-action@all_but_latest - with: - all_but_latest: true - access_token: ${{ github.token }} - continue-on-error: true - if: matrix.arch == 'amd64' && matrix.cc == 'gcc' - - uses: actions/checkout@v2 - with: - submodules: true - - name: Cache ccache - uses: actions/cache@v2 - env: - cache-name: cache-ccache - with: - path: /ccache - key: v1-${{ runner.os }}-build-${{ env.cache-name }}-${{ matrix.cc }}-${{ env.GITHUB_WORKFLOW }}-${{ matrix.arch }} - - name: Cache pip - uses: actions/cache@v2 - env: - cache-name: cache-python-pip - with: - path: ~/.cache/pip - key: v1-python-pip - - name: Install python dependencies - run: | - python3 -m pip install -U -r requirements.txt - - name: Run tests - run: | - cd test - python3 -m pytest --verbose --numprocesses=auto - test-emulated: - needs: - - test-native - runs-on: ubuntu-latest - strategy: - matrix: - arch: - - armhf - - unstable-ppc - cc: - - gcc - - clang - env: - CC: ${{ matrix.cc }} - steps: - - name: Register qemu-user-static - run: | - docker run --rm --privileged multiarch/qemu-user-static:register --reset - - uses: actions/checkout@v2 - with: - submodules: true - - name: Cache ccache - uses: actions/cache@v2 - env: - cache-name: cache-ccache - with: - path: ~/ccache - key: v1-${{ runner.os }}-build-${{ env.cache-name }}-${{ matrix.cc }}-${{ env.GITHUB_WORKFLOW }}-${{ matrix.arch }} - - name: Cache pip - uses: actions/cache@v2 - env: - cache-name: cache-python-pip - with: - path: ~/.cache/pip - key: v1-python-pip - - name: Run tests in container - run: | - docker run --rm -e CI -e CC -e PQCLEAN_ONLY_SCHEMES=rainbowIII-compressed -v $PWD:$PWD -w $PWD -v ~/ccache:/ccache pqclean/ci-container:${{ matrix.arch }} /bin/bash -c "\ - export CCACHE_NOSTATS=1 && \ - export CCACHE_DIR=/ccache && \ - export CCACHE_SLOPPINESS=include_file_mtime && \ - export CC=\"ccache $CC\" && \ - pip3 install -U -r requirements.txt && \ - cd test && \ - python3 -m pytest --verbose --numprocesses=auto" - test-windows: - needs: - - test-native - strategy: - matrix: - bits: - - 64 - - 32 - env: - PQCLEAN_ONLY_SCHEMES: rainbowIII-compressed - runs-on: windows-latest - steps: - - uses: actions/checkout@v2 - with: - submodules: true - - name: Setup astyle - run: | - # Setup strong crypto - Set-ItemProperty -Path "HKLM:\\SOFTWARE\\Wow6432Node\\Microsoft\\.NetFramework\\v4.0.30319" -Name 'SchUseStrongCrypto' -Value '1' -Type DWord - Set-ItemProperty -Path "HKLM:\\SOFTWARE\\Microsoft\\.NetFramework\\v4.0.30319" -Name "SchUseStrongCrypto" -Value '1' -Type DWord - Invoke-WebRequest -OutFile "test\\astyle.exe" "https://rded.nl/pqclean/AStyle.exe" - shell: powershell - - name: Setup Python - uses: actions/setup-python@main - with: - python-version: "3.x" - - name: Install python requirements - run: python -m pip install -U -r requirements.txt - - name: Run tests - run: | - call "C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Enterprise\\VC\\Auxiliary\\Build\\vcvars${{ matrix.bits }}.bat" - cd test - python -m pytest --verbose --numprocesses=auto - shell: cmd - test-macos: - needs: - - test-native - env: - PQCLEAN_ONLY_SCHEMES: rainbowIII-compressed - CCACHE_NOSTATS: 1 - CCACHE_SLOPPINESS: include_file_mtime - # XCode version - DEVELOPER_DIR: /Applications/Xcode_11.5.app/Contents/Developer - strategy: - matrix: - compiler: - - clang # XCode (Apple LLVM/Clang) - - gcc9 # GNU (Homebrew) - runs-on: macos-latest - steps: - - uses: actions/checkout@v2 - with: - submodules: true - - name: Install astyle - run: | - brew install astyle - - name: Set up GCC9 compiler - run: 'export PATH="/usr/local/bin:$PATH" && export CC=gcc-9' - if: matrix.compiler == 'gcc9' - - name: Setup Python - uses: actions/setup-python@main - with: - python-version: "3.x" - - name: Install Python dependencies - run: python -m pip install -U -r requirements.txt - - name: Run tests - run: | - cd test - python -m pytest --verbose --numprocesses=auto - diff --git a/.github/workflows/sign_rainbowV-circumzenithal.yml b/.github/workflows/sign_rainbowV-circumzenithal.yml deleted file mode 100644 index 3a01a0c7..00000000 --- a/.github/workflows/sign_rainbowV-circumzenithal.yml +++ /dev/null @@ -1,204 +0,0 @@ -on: - push: - paths: - # build if tests change - - 'test/**' - # do not build if other schemes duplicate_consistency files change - - '!test/duplicate_consistency/*.yml' - - 'test/duplicate_consistency/rainbowV-circumzenithal*.yml' - # build if common files change - - 'common/**' - # build if scheme changed - - 'crypto_sign/rainbowV-circumzenithal/**' - # build if workflow file changed - - '.github/workflows/sign_rainbowV-circumzenithal.yml' - # Build if any files in the root change, except .md files - - '*' - - '!*.md' - pull_request: - paths: - # build if tests change - - 'test/**' - # do not build if other schemes duplicate_consistency files change - - '!test/duplicate_consistency/*.yml' - - 'test/duplicate_consistency/rainbowV-circumzenithal*.yml' - # build if common files change - - 'common/**' - # build if scheme changed - - 'crypto_sign/rainbowV-circumzenithal/**' - # build if workflow file changed - - '.github/workflows/sign_rainbowV-circumzenithal.yml' - # Build if any files in the root change, except .md files - - '*' - - '!*.md' - schedule: - - cron: '5 4 * * *' - -name: Test rainbowV-circumzenithal - -jobs: - test-native: - runs-on: ubuntu-latest - container: - image: pqclean/ci-container:${{ matrix.arch }} - env: - PQCLEAN_ONLY_SCHEMES: rainbowV-circumzenithal - CC: ccache ${{ matrix.cc }} - CCACHE_NOSTATS: 1 - CCACHE_DIR: /ccache - CCACHE_SLOPPINESS: include_file_mtime - strategy: - matrix: - arch: - - amd64 - - i386 - cc: - - gcc - - clang - steps: - - name: Cancel Previous Runs - uses: thomwiggers/cancel-workflow-action@all_but_latest - with: - all_but_latest: true - access_token: ${{ github.token }} - continue-on-error: true - if: matrix.arch == 'amd64' && matrix.cc == 'gcc' - - uses: actions/checkout@v2 - with: - submodules: true - - name: Cache ccache - uses: actions/cache@v2 - env: - cache-name: cache-ccache - with: - path: /ccache - key: v1-${{ runner.os }}-build-${{ env.cache-name }}-${{ matrix.cc }}-${{ env.GITHUB_WORKFLOW }}-${{ matrix.arch }} - - name: Cache pip - uses: actions/cache@v2 - env: - cache-name: cache-python-pip - with: - path: ~/.cache/pip - key: v1-python-pip - - name: Install python dependencies - run: | - python3 -m pip install -U -r requirements.txt - - name: Run tests - run: | - cd test - python3 -m pytest --verbose --numprocesses=auto - test-emulated: - needs: - - test-native - runs-on: ubuntu-latest - strategy: - matrix: - arch: - - armhf - - unstable-ppc - cc: - - gcc - - clang - env: - CC: ${{ matrix.cc }} - steps: - - name: Register qemu-user-static - run: | - docker run --rm --privileged multiarch/qemu-user-static:register --reset - - uses: actions/checkout@v2 - with: - submodules: true - - name: Cache ccache - uses: actions/cache@v2 - env: - cache-name: cache-ccache - with: - path: ~/ccache - key: v1-${{ runner.os }}-build-${{ env.cache-name }}-${{ matrix.cc }}-${{ env.GITHUB_WORKFLOW }}-${{ matrix.arch }} - - name: Cache pip - uses: actions/cache@v2 - env: - cache-name: cache-python-pip - with: - path: ~/.cache/pip - key: v1-python-pip - - name: Run tests in container - run: | - docker run --rm -e CI -e CC -e PQCLEAN_ONLY_SCHEMES=rainbowV-circumzenithal -v $PWD:$PWD -w $PWD -v ~/ccache:/ccache pqclean/ci-container:${{ matrix.arch }} /bin/bash -c "\ - export CCACHE_NOSTATS=1 && \ - export CCACHE_DIR=/ccache && \ - export CCACHE_SLOPPINESS=include_file_mtime && \ - export CC=\"ccache $CC\" && \ - pip3 install -U -r requirements.txt && \ - cd test && \ - python3 -m pytest --verbose --numprocesses=auto" - test-windows: - needs: - - test-native - strategy: - matrix: - bits: - - 64 - - 32 - env: - PQCLEAN_ONLY_SCHEMES: rainbowV-circumzenithal - runs-on: windows-latest - steps: - - uses: actions/checkout@v2 - with: - submodules: true - - name: Setup astyle - run: | - # Setup strong crypto - Set-ItemProperty -Path "HKLM:\\SOFTWARE\\Wow6432Node\\Microsoft\\.NetFramework\\v4.0.30319" -Name 'SchUseStrongCrypto' -Value '1' -Type DWord - Set-ItemProperty -Path "HKLM:\\SOFTWARE\\Microsoft\\.NetFramework\\v4.0.30319" -Name "SchUseStrongCrypto" -Value '1' -Type DWord - Invoke-WebRequest -OutFile "test\\astyle.exe" "https://rded.nl/pqclean/AStyle.exe" - shell: powershell - - name: Setup Python - uses: actions/setup-python@main - with: - python-version: "3.x" - - name: Install python requirements - run: python -m pip install -U -r requirements.txt - - name: Run tests - run: | - call "C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Enterprise\\VC\\Auxiliary\\Build\\vcvars${{ matrix.bits }}.bat" - cd test - python -m pytest --verbose --numprocesses=auto - shell: cmd - test-macos: - needs: - - test-native - env: - PQCLEAN_ONLY_SCHEMES: rainbowV-circumzenithal - CCACHE_NOSTATS: 1 - CCACHE_SLOPPINESS: include_file_mtime - # XCode version - DEVELOPER_DIR: /Applications/Xcode_11.5.app/Contents/Developer - strategy: - matrix: - compiler: - - clang # XCode (Apple LLVM/Clang) - - gcc9 # GNU (Homebrew) - runs-on: macos-latest - steps: - - uses: actions/checkout@v2 - with: - submodules: true - - name: Install astyle - run: | - brew install astyle - - name: Set up GCC9 compiler - run: 'export PATH="/usr/local/bin:$PATH" && export CC=gcc-9' - if: matrix.compiler == 'gcc9' - - name: Setup Python - uses: actions/setup-python@main - with: - python-version: "3.x" - - name: Install Python dependencies - run: python -m pip install -U -r requirements.txt - - name: Run tests - run: | - cd test - python -m pytest --verbose --numprocesses=auto - diff --git a/.github/workflows/sign_rainbowV-classic.yml b/.github/workflows/sign_rainbowV-classic.yml deleted file mode 100644 index 049c5d3a..00000000 --- a/.github/workflows/sign_rainbowV-classic.yml +++ /dev/null @@ -1,204 +0,0 @@ -on: - push: - paths: - # build if tests change - - 'test/**' - # do not build if other schemes duplicate_consistency files change - - '!test/duplicate_consistency/*.yml' - - 'test/duplicate_consistency/rainbowV-classic*.yml' - # build if common files change - - 'common/**' - # build if scheme changed - - 'crypto_sign/rainbowV-classic/**' - # build if workflow file changed - - '.github/workflows/sign_rainbowV-classic.yml' - # Build if any files in the root change, except .md files - - '*' - - '!*.md' - pull_request: - paths: - # build if tests change - - 'test/**' - # do not build if other schemes duplicate_consistency files change - - '!test/duplicate_consistency/*.yml' - - 'test/duplicate_consistency/rainbowV-classic*.yml' - # build if common files change - - 'common/**' - # build if scheme changed - - 'crypto_sign/rainbowV-classic/**' - # build if workflow file changed - - '.github/workflows/sign_rainbowV-classic.yml' - # Build if any files in the root change, except .md files - - '*' - - '!*.md' - schedule: - - cron: '5 4 * * *' - -name: Test rainbowV-classic - -jobs: - test-native: - runs-on: ubuntu-latest - container: - image: pqclean/ci-container:${{ matrix.arch }} - env: - PQCLEAN_ONLY_SCHEMES: rainbowV-classic - CC: ccache ${{ matrix.cc }} - CCACHE_NOSTATS: 1 - CCACHE_DIR: /ccache - CCACHE_SLOPPINESS: include_file_mtime - strategy: - matrix: - arch: - - amd64 - - i386 - cc: - - gcc - - clang - steps: - - name: Cancel Previous Runs - uses: thomwiggers/cancel-workflow-action@all_but_latest - with: - all_but_latest: true - access_token: ${{ github.token }} - continue-on-error: true - if: matrix.arch == 'amd64' && matrix.cc == 'gcc' - - uses: actions/checkout@v2 - with: - submodules: true - - name: Cache ccache - uses: actions/cache@v2 - env: - cache-name: cache-ccache - with: - path: /ccache - key: v1-${{ runner.os }}-build-${{ env.cache-name }}-${{ matrix.cc }}-${{ env.GITHUB_WORKFLOW }}-${{ matrix.arch }} - - name: Cache pip - uses: actions/cache@v2 - env: - cache-name: cache-python-pip - with: - path: ~/.cache/pip - key: v1-python-pip - - name: Install python dependencies - run: | - python3 -m pip install -U -r requirements.txt - - name: Run tests - run: | - cd test - python3 -m pytest --verbose --numprocesses=auto - test-emulated: - needs: - - test-native - runs-on: ubuntu-latest - strategy: - matrix: - arch: - - armhf - - unstable-ppc - cc: - - gcc - - clang - env: - CC: ${{ matrix.cc }} - steps: - - name: Register qemu-user-static - run: | - docker run --rm --privileged multiarch/qemu-user-static:register --reset - - uses: actions/checkout@v2 - with: - submodules: true - - name: Cache ccache - uses: actions/cache@v2 - env: - cache-name: cache-ccache - with: - path: ~/ccache - key: v1-${{ runner.os }}-build-${{ env.cache-name }}-${{ matrix.cc }}-${{ env.GITHUB_WORKFLOW }}-${{ matrix.arch }} - - name: Cache pip - uses: actions/cache@v2 - env: - cache-name: cache-python-pip - with: - path: ~/.cache/pip - key: v1-python-pip - - name: Run tests in container - run: | - docker run --rm -e CI -e CC -e PQCLEAN_ONLY_SCHEMES=rainbowV-classic -v $PWD:$PWD -w $PWD -v ~/ccache:/ccache pqclean/ci-container:${{ matrix.arch }} /bin/bash -c "\ - export CCACHE_NOSTATS=1 && \ - export CCACHE_DIR=/ccache && \ - export CCACHE_SLOPPINESS=include_file_mtime && \ - export CC=\"ccache $CC\" && \ - pip3 install -U -r requirements.txt && \ - cd test && \ - python3 -m pytest --verbose --numprocesses=auto" - test-windows: - needs: - - test-native - strategy: - matrix: - bits: - - 64 - - 32 - env: - PQCLEAN_ONLY_SCHEMES: rainbowV-classic - runs-on: windows-latest - steps: - - uses: actions/checkout@v2 - with: - submodules: true - - name: Setup astyle - run: | - # Setup strong crypto - Set-ItemProperty -Path "HKLM:\\SOFTWARE\\Wow6432Node\\Microsoft\\.NetFramework\\v4.0.30319" -Name 'SchUseStrongCrypto' -Value '1' -Type DWord - Set-ItemProperty -Path "HKLM:\\SOFTWARE\\Microsoft\\.NetFramework\\v4.0.30319" -Name "SchUseStrongCrypto" -Value '1' -Type DWord - Invoke-WebRequest -OutFile "test\\astyle.exe" "https://rded.nl/pqclean/AStyle.exe" - shell: powershell - - name: Setup Python - uses: actions/setup-python@main - with: - python-version: "3.x" - - name: Install python requirements - run: python -m pip install -U -r requirements.txt - - name: Run tests - run: | - call "C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Enterprise\\VC\\Auxiliary\\Build\\vcvars${{ matrix.bits }}.bat" - cd test - python -m pytest --verbose --numprocesses=auto - shell: cmd - test-macos: - needs: - - test-native - env: - PQCLEAN_ONLY_SCHEMES: rainbowV-classic - CCACHE_NOSTATS: 1 - CCACHE_SLOPPINESS: include_file_mtime - # XCode version - DEVELOPER_DIR: /Applications/Xcode_11.5.app/Contents/Developer - strategy: - matrix: - compiler: - - clang # XCode (Apple LLVM/Clang) - - gcc9 # GNU (Homebrew) - runs-on: macos-latest - steps: - - uses: actions/checkout@v2 - with: - submodules: true - - name: Install astyle - run: | - brew install astyle - - name: Set up GCC9 compiler - run: 'export PATH="/usr/local/bin:$PATH" && export CC=gcc-9' - if: matrix.compiler == 'gcc9' - - name: Setup Python - uses: actions/setup-python@main - with: - python-version: "3.x" - - name: Install Python dependencies - run: python -m pip install -U -r requirements.txt - - name: Run tests - run: | - cd test - python -m pytest --verbose --numprocesses=auto - diff --git a/.github/workflows/sign_rainbowV-compressed.yml b/.github/workflows/sign_rainbowV-compressed.yml deleted file mode 100644 index 68d71ef3..00000000 --- a/.github/workflows/sign_rainbowV-compressed.yml +++ /dev/null @@ -1,204 +0,0 @@ -on: - push: - paths: - # build if tests change - - 'test/**' - # do not build if other schemes duplicate_consistency files change - - '!test/duplicate_consistency/*.yml' - - 'test/duplicate_consistency/rainbowV-compressed*.yml' - # build if common files change - - 'common/**' - # build if scheme changed - - 'crypto_sign/rainbowV-compressed/**' - # build if workflow file changed - - '.github/workflows/sign_rainbowV-compressed.yml' - # Build if any files in the root change, except .md files - - '*' - - '!*.md' - pull_request: - paths: - # build if tests change - - 'test/**' - # do not build if other schemes duplicate_consistency files change - - '!test/duplicate_consistency/*.yml' - - 'test/duplicate_consistency/rainbowV-compressed*.yml' - # build if common files change - - 'common/**' - # build if scheme changed - - 'crypto_sign/rainbowV-compressed/**' - # build if workflow file changed - - '.github/workflows/sign_rainbowV-compressed.yml' - # Build if any files in the root change, except .md files - - '*' - - '!*.md' - schedule: - - cron: '5 4 * * *' - -name: Test rainbowV-compressed - -jobs: - test-native: - runs-on: ubuntu-latest - container: - image: pqclean/ci-container:${{ matrix.arch }} - env: - PQCLEAN_ONLY_SCHEMES: rainbowV-compressed - CC: ccache ${{ matrix.cc }} - CCACHE_NOSTATS: 1 - CCACHE_DIR: /ccache - CCACHE_SLOPPINESS: include_file_mtime - strategy: - matrix: - arch: - - amd64 - - i386 - cc: - - gcc - - clang - steps: - - name: Cancel Previous Runs - uses: thomwiggers/cancel-workflow-action@all_but_latest - with: - all_but_latest: true - access_token: ${{ github.token }} - continue-on-error: true - if: matrix.arch == 'amd64' && matrix.cc == 'gcc' - - uses: actions/checkout@v2 - with: - submodules: true - - name: Cache ccache - uses: actions/cache@v2 - env: - cache-name: cache-ccache - with: - path: /ccache - key: v1-${{ runner.os }}-build-${{ env.cache-name }}-${{ matrix.cc }}-${{ env.GITHUB_WORKFLOW }}-${{ matrix.arch }} - - name: Cache pip - uses: actions/cache@v2 - env: - cache-name: cache-python-pip - with: - path: ~/.cache/pip - key: v1-python-pip - - name: Install python dependencies - run: | - python3 -m pip install -U -r requirements.txt - - name: Run tests - run: | - cd test - python3 -m pytest --verbose --numprocesses=auto - test-emulated: - needs: - - test-native - runs-on: ubuntu-latest - strategy: - matrix: - arch: - - armhf - - unstable-ppc - cc: - - gcc - - clang - env: - CC: ${{ matrix.cc }} - steps: - - name: Register qemu-user-static - run: | - docker run --rm --privileged multiarch/qemu-user-static:register --reset - - uses: actions/checkout@v2 - with: - submodules: true - - name: Cache ccache - uses: actions/cache@v2 - env: - cache-name: cache-ccache - with: - path: ~/ccache - key: v1-${{ runner.os }}-build-${{ env.cache-name }}-${{ matrix.cc }}-${{ env.GITHUB_WORKFLOW }}-${{ matrix.arch }} - - name: Cache pip - uses: actions/cache@v2 - env: - cache-name: cache-python-pip - with: - path: ~/.cache/pip - key: v1-python-pip - - name: Run tests in container - run: | - docker run --rm -e CI -e CC -e PQCLEAN_ONLY_SCHEMES=rainbowV-compressed -v $PWD:$PWD -w $PWD -v ~/ccache:/ccache pqclean/ci-container:${{ matrix.arch }} /bin/bash -c "\ - export CCACHE_NOSTATS=1 && \ - export CCACHE_DIR=/ccache && \ - export CCACHE_SLOPPINESS=include_file_mtime && \ - export CC=\"ccache $CC\" && \ - pip3 install -U -r requirements.txt && \ - cd test && \ - python3 -m pytest --verbose --numprocesses=auto" - test-windows: - needs: - - test-native - strategy: - matrix: - bits: - - 64 - - 32 - env: - PQCLEAN_ONLY_SCHEMES: rainbowV-compressed - runs-on: windows-latest - steps: - - uses: actions/checkout@v2 - with: - submodules: true - - name: Setup astyle - run: | - # Setup strong crypto - Set-ItemProperty -Path "HKLM:\\SOFTWARE\\Wow6432Node\\Microsoft\\.NetFramework\\v4.0.30319" -Name 'SchUseStrongCrypto' -Value '1' -Type DWord - Set-ItemProperty -Path "HKLM:\\SOFTWARE\\Microsoft\\.NetFramework\\v4.0.30319" -Name "SchUseStrongCrypto" -Value '1' -Type DWord - Invoke-WebRequest -OutFile "test\\astyle.exe" "https://rded.nl/pqclean/AStyle.exe" - shell: powershell - - name: Setup Python - uses: actions/setup-python@main - with: - python-version: "3.x" - - name: Install python requirements - run: python -m pip install -U -r requirements.txt - - name: Run tests - run: | - call "C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Enterprise\\VC\\Auxiliary\\Build\\vcvars${{ matrix.bits }}.bat" - cd test - python -m pytest --verbose --numprocesses=auto - shell: cmd - test-macos: - needs: - - test-native - env: - PQCLEAN_ONLY_SCHEMES: rainbowV-compressed - CCACHE_NOSTATS: 1 - CCACHE_SLOPPINESS: include_file_mtime - # XCode version - DEVELOPER_DIR: /Applications/Xcode_11.5.app/Contents/Developer - strategy: - matrix: - compiler: - - clang # XCode (Apple LLVM/Clang) - - gcc9 # GNU (Homebrew) - runs-on: macos-latest - steps: - - uses: actions/checkout@v2 - with: - submodules: true - - name: Install astyle - run: | - brew install astyle - - name: Set up GCC9 compiler - run: 'export PATH="/usr/local/bin:$PATH" && export CC=gcc-9' - if: matrix.compiler == 'gcc9' - - name: Setup Python - uses: actions/setup-python@main - with: - python-version: "3.x" - - name: Install Python dependencies - run: python -m pip install -U -r requirements.txt - - name: Run tests - run: | - cd test - python -m pytest --verbose --numprocesses=auto - diff --git a/.github/workflows/sign_sphincs-haraka-128f-robust.yml b/.github/workflows/sign_sphincs-haraka-128f-robust.yml deleted file mode 100644 index 972e3b47..00000000 --- a/.github/workflows/sign_sphincs-haraka-128f-robust.yml +++ /dev/null @@ -1,204 +0,0 @@ -on: - push: - paths: - # build if tests change - - 'test/**' - # do not build if other schemes duplicate_consistency files change - - '!test/duplicate_consistency/*.yml' - - 'test/duplicate_consistency/sphincs-haraka-128f-robust*.yml' - # build if common files change - - 'common/**' - # build if scheme changed - - 'crypto_sign/sphincs-haraka-128f-robust/**' - # build if workflow file changed - - '.github/workflows/sign_sphincs-haraka-128f-robust.yml' - # Build if any files in the root change, except .md files - - '*' - - '!*.md' - pull_request: - paths: - # build if tests change - - 'test/**' - # do not build if other schemes duplicate_consistency files change - - '!test/duplicate_consistency/*.yml' - - 'test/duplicate_consistency/sphincs-haraka-128f-robust*.yml' - # build if common files change - - 'common/**' - # build if scheme changed - - 'crypto_sign/sphincs-haraka-128f-robust/**' - # build if workflow file changed - - '.github/workflows/sign_sphincs-haraka-128f-robust.yml' - # Build if any files in the root change, except .md files - - '*' - - '!*.md' - schedule: - - cron: '5 4 * * *' - -name: Test sphincs-haraka-128f-robust - -jobs: - test-native: - runs-on: ubuntu-latest - container: - image: pqclean/ci-container:${{ matrix.arch }} - env: - PQCLEAN_ONLY_SCHEMES: sphincs-haraka-128f-robust - CC: ccache ${{ matrix.cc }} - CCACHE_NOSTATS: 1 - CCACHE_DIR: /ccache - CCACHE_SLOPPINESS: include_file_mtime - strategy: - matrix: - arch: - - amd64 - - i386 - cc: - - gcc - - clang - steps: - - name: Cancel Previous Runs - uses: thomwiggers/cancel-workflow-action@all_but_latest - with: - all_but_latest: true - access_token: ${{ github.token }} - continue-on-error: true - if: matrix.arch == 'amd64' && matrix.cc == 'gcc' - - uses: actions/checkout@v2 - with: - submodules: true - - name: Cache ccache - uses: actions/cache@v2 - env: - cache-name: cache-ccache - with: - path: /ccache - key: v1-${{ runner.os }}-build-${{ env.cache-name }}-${{ matrix.cc }}-${{ env.GITHUB_WORKFLOW }}-${{ matrix.arch }} - - name: Cache pip - uses: actions/cache@v2 - env: - cache-name: cache-python-pip - with: - path: ~/.cache/pip - key: v1-python-pip - - name: Install python dependencies - run: | - python3 -m pip install -U -r requirements.txt - - name: Run tests - run: | - cd test - python3 -m pytest --verbose --numprocesses=auto - test-emulated: - needs: - - test-native - runs-on: ubuntu-latest - strategy: - matrix: - arch: - - armhf - - unstable-ppc - cc: - - gcc - - clang - env: - CC: ${{ matrix.cc }} - steps: - - name: Register qemu-user-static - run: | - docker run --rm --privileged multiarch/qemu-user-static:register --reset - - uses: actions/checkout@v2 - with: - submodules: true - - name: Cache ccache - uses: actions/cache@v2 - env: - cache-name: cache-ccache - with: - path: ~/ccache - key: v1-${{ runner.os }}-build-${{ env.cache-name }}-${{ matrix.cc }}-${{ env.GITHUB_WORKFLOW }}-${{ matrix.arch }} - - name: Cache pip - uses: actions/cache@v2 - env: - cache-name: cache-python-pip - with: - path: ~/.cache/pip - key: v1-python-pip - - name: Run tests in container - run: | - docker run --rm -e CI -e CC -e PQCLEAN_ONLY_SCHEMES=sphincs-haraka-128f-robust -v $PWD:$PWD -w $PWD -v ~/ccache:/ccache pqclean/ci-container:${{ matrix.arch }} /bin/bash -c "\ - export CCACHE_NOSTATS=1 && \ - export CCACHE_DIR=/ccache && \ - export CCACHE_SLOPPINESS=include_file_mtime && \ - export CC=\"ccache $CC\" && \ - pip3 install -U -r requirements.txt && \ - cd test && \ - python3 -m pytest --verbose --numprocesses=auto" - test-windows: - needs: - - test-native - strategy: - matrix: - bits: - - 64 - - 32 - env: - PQCLEAN_ONLY_SCHEMES: sphincs-haraka-128f-robust - runs-on: windows-latest - steps: - - uses: actions/checkout@v2 - with: - submodules: true - - name: Setup astyle - run: | - # Setup strong crypto - Set-ItemProperty -Path "HKLM:\\SOFTWARE\\Wow6432Node\\Microsoft\\.NetFramework\\v4.0.30319" -Name 'SchUseStrongCrypto' -Value '1' -Type DWord - Set-ItemProperty -Path "HKLM:\\SOFTWARE\\Microsoft\\.NetFramework\\v4.0.30319" -Name "SchUseStrongCrypto" -Value '1' -Type DWord - Invoke-WebRequest -OutFile "test\\astyle.exe" "https://rded.nl/pqclean/AStyle.exe" - shell: powershell - - name: Setup Python - uses: actions/setup-python@main - with: - python-version: "3.x" - - name: Install python requirements - run: python -m pip install -U -r requirements.txt - - name: Run tests - run: | - call "C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Enterprise\\VC\\Auxiliary\\Build\\vcvars${{ matrix.bits }}.bat" - cd test - python -m pytest --verbose --numprocesses=auto - shell: cmd - test-macos: - needs: - - test-native - env: - PQCLEAN_ONLY_SCHEMES: sphincs-haraka-128f-robust - CCACHE_NOSTATS: 1 - CCACHE_SLOPPINESS: include_file_mtime - # XCode version - DEVELOPER_DIR: /Applications/Xcode_11.5.app/Contents/Developer - strategy: - matrix: - compiler: - - clang # XCode (Apple LLVM/Clang) - - gcc9 # GNU (Homebrew) - runs-on: macos-latest - steps: - - uses: actions/checkout@v2 - with: - submodules: true - - name: Install astyle - run: | - brew install astyle - - name: Set up GCC9 compiler - run: 'export PATH="/usr/local/bin:$PATH" && export CC=gcc-9' - if: matrix.compiler == 'gcc9' - - name: Setup Python - uses: actions/setup-python@main - with: - python-version: "3.x" - - name: Install Python dependencies - run: python -m pip install -U -r requirements.txt - - name: Run tests - run: | - cd test - python -m pytest --verbose --numprocesses=auto - diff --git a/.github/workflows/sign_sphincs-haraka-128f-simple.yml b/.github/workflows/sign_sphincs-haraka-128f-simple.yml deleted file mode 100644 index 58edb35e..00000000 --- a/.github/workflows/sign_sphincs-haraka-128f-simple.yml +++ /dev/null @@ -1,204 +0,0 @@ -on: - push: - paths: - # build if tests change - - 'test/**' - # do not build if other schemes duplicate_consistency files change - - '!test/duplicate_consistency/*.yml' - - 'test/duplicate_consistency/sphincs-haraka-128f-simple*.yml' - # build if common files change - - 'common/**' - # build if scheme changed - - 'crypto_sign/sphincs-haraka-128f-simple/**' - # build if workflow file changed - - '.github/workflows/sign_sphincs-haraka-128f-simple.yml' - # Build if any files in the root change, except .md files - - '*' - - '!*.md' - pull_request: - paths: - # build if tests change - - 'test/**' - # do not build if other schemes duplicate_consistency files change - - '!test/duplicate_consistency/*.yml' - - 'test/duplicate_consistency/sphincs-haraka-128f-simple*.yml' - # build if common files change - - 'common/**' - # build if scheme changed - - 'crypto_sign/sphincs-haraka-128f-simple/**' - # build if workflow file changed - - '.github/workflows/sign_sphincs-haraka-128f-simple.yml' - # Build if any files in the root change, except .md files - - '*' - - '!*.md' - schedule: - - cron: '5 4 * * *' - -name: Test sphincs-haraka-128f-simple - -jobs: - test-native: - runs-on: ubuntu-latest - container: - image: pqclean/ci-container:${{ matrix.arch }} - env: - PQCLEAN_ONLY_SCHEMES: sphincs-haraka-128f-simple - CC: ccache ${{ matrix.cc }} - CCACHE_NOSTATS: 1 - CCACHE_DIR: /ccache - CCACHE_SLOPPINESS: include_file_mtime - strategy: - matrix: - arch: - - amd64 - - i386 - cc: - - gcc - - clang - steps: - - name: Cancel Previous Runs - uses: thomwiggers/cancel-workflow-action@all_but_latest - with: - all_but_latest: true - access_token: ${{ github.token }} - continue-on-error: true - if: matrix.arch == 'amd64' && matrix.cc == 'gcc' - - uses: actions/checkout@v2 - with: - submodules: true - - name: Cache ccache - uses: actions/cache@v2 - env: - cache-name: cache-ccache - with: - path: /ccache - key: v1-${{ runner.os }}-build-${{ env.cache-name }}-${{ matrix.cc }}-${{ env.GITHUB_WORKFLOW }}-${{ matrix.arch }} - - name: Cache pip - uses: actions/cache@v2 - env: - cache-name: cache-python-pip - with: - path: ~/.cache/pip - key: v1-python-pip - - name: Install python dependencies - run: | - python3 -m pip install -U -r requirements.txt - - name: Run tests - run: | - cd test - python3 -m pytest --verbose --numprocesses=auto - test-emulated: - needs: - - test-native - runs-on: ubuntu-latest - strategy: - matrix: - arch: - - armhf - - unstable-ppc - cc: - - gcc - - clang - env: - CC: ${{ matrix.cc }} - steps: - - name: Register qemu-user-static - run: | - docker run --rm --privileged multiarch/qemu-user-static:register --reset - - uses: actions/checkout@v2 - with: - submodules: true - - name: Cache ccache - uses: actions/cache@v2 - env: - cache-name: cache-ccache - with: - path: ~/ccache - key: v1-${{ runner.os }}-build-${{ env.cache-name }}-${{ matrix.cc }}-${{ env.GITHUB_WORKFLOW }}-${{ matrix.arch }} - - name: Cache pip - uses: actions/cache@v2 - env: - cache-name: cache-python-pip - with: - path: ~/.cache/pip - key: v1-python-pip - - name: Run tests in container - run: | - docker run --rm -e CI -e CC -e PQCLEAN_ONLY_SCHEMES=sphincs-haraka-128f-simple -v $PWD:$PWD -w $PWD -v ~/ccache:/ccache pqclean/ci-container:${{ matrix.arch }} /bin/bash -c "\ - export CCACHE_NOSTATS=1 && \ - export CCACHE_DIR=/ccache && \ - export CCACHE_SLOPPINESS=include_file_mtime && \ - export CC=\"ccache $CC\" && \ - pip3 install -U -r requirements.txt && \ - cd test && \ - python3 -m pytest --verbose --numprocesses=auto" - test-windows: - needs: - - test-native - strategy: - matrix: - bits: - - 64 - - 32 - env: - PQCLEAN_ONLY_SCHEMES: sphincs-haraka-128f-simple - runs-on: windows-latest - steps: - - uses: actions/checkout@v2 - with: - submodules: true - - name: Setup astyle - run: | - # Setup strong crypto - Set-ItemProperty -Path "HKLM:\\SOFTWARE\\Wow6432Node\\Microsoft\\.NetFramework\\v4.0.30319" -Name 'SchUseStrongCrypto' -Value '1' -Type DWord - Set-ItemProperty -Path "HKLM:\\SOFTWARE\\Microsoft\\.NetFramework\\v4.0.30319" -Name "SchUseStrongCrypto" -Value '1' -Type DWord - Invoke-WebRequest -OutFile "test\\astyle.exe" "https://rded.nl/pqclean/AStyle.exe" - shell: powershell - - name: Setup Python - uses: actions/setup-python@main - with: - python-version: "3.x" - - name: Install python requirements - run: python -m pip install -U -r requirements.txt - - name: Run tests - run: | - call "C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Enterprise\\VC\\Auxiliary\\Build\\vcvars${{ matrix.bits }}.bat" - cd test - python -m pytest --verbose --numprocesses=auto - shell: cmd - test-macos: - needs: - - test-native - env: - PQCLEAN_ONLY_SCHEMES: sphincs-haraka-128f-simple - CCACHE_NOSTATS: 1 - CCACHE_SLOPPINESS: include_file_mtime - # XCode version - DEVELOPER_DIR: /Applications/Xcode_11.5.app/Contents/Developer - strategy: - matrix: - compiler: - - clang # XCode (Apple LLVM/Clang) - - gcc9 # GNU (Homebrew) - runs-on: macos-latest - steps: - - uses: actions/checkout@v2 - with: - submodules: true - - name: Install astyle - run: | - brew install astyle - - name: Set up GCC9 compiler - run: 'export PATH="/usr/local/bin:$PATH" && export CC=gcc-9' - if: matrix.compiler == 'gcc9' - - name: Setup Python - uses: actions/setup-python@main - with: - python-version: "3.x" - - name: Install Python dependencies - run: python -m pip install -U -r requirements.txt - - name: Run tests - run: | - cd test - python -m pytest --verbose --numprocesses=auto - diff --git a/.github/workflows/sign_sphincs-haraka-128s-robust.yml b/.github/workflows/sign_sphincs-haraka-128s-robust.yml deleted file mode 100644 index 88ab2c62..00000000 --- a/.github/workflows/sign_sphincs-haraka-128s-robust.yml +++ /dev/null @@ -1,204 +0,0 @@ -on: - push: - paths: - # build if tests change - - 'test/**' - # do not build if other schemes duplicate_consistency files change - - '!test/duplicate_consistency/*.yml' - - 'test/duplicate_consistency/sphincs-haraka-128s-robust*.yml' - # build if common files change - - 'common/**' - # build if scheme changed - - 'crypto_sign/sphincs-haraka-128s-robust/**' - # build if workflow file changed - - '.github/workflows/sign_sphincs-haraka-128s-robust.yml' - # Build if any files in the root change, except .md files - - '*' - - '!*.md' - pull_request: - paths: - # build if tests change - - 'test/**' - # do not build if other schemes duplicate_consistency files change - - '!test/duplicate_consistency/*.yml' - - 'test/duplicate_consistency/sphincs-haraka-128s-robust*.yml' - # build if common files change - - 'common/**' - # build if scheme changed - - 'crypto_sign/sphincs-haraka-128s-robust/**' - # build if workflow file changed - - '.github/workflows/sign_sphincs-haraka-128s-robust.yml' - # Build if any files in the root change, except .md files - - '*' - - '!*.md' - schedule: - - cron: '5 4 * * *' - -name: Test sphincs-haraka-128s-robust - -jobs: - test-native: - runs-on: ubuntu-latest - container: - image: pqclean/ci-container:${{ matrix.arch }} - env: - PQCLEAN_ONLY_SCHEMES: sphincs-haraka-128s-robust - CC: ccache ${{ matrix.cc }} - CCACHE_NOSTATS: 1 - CCACHE_DIR: /ccache - CCACHE_SLOPPINESS: include_file_mtime - strategy: - matrix: - arch: - - amd64 - - i386 - cc: - - gcc - - clang - steps: - - name: Cancel Previous Runs - uses: thomwiggers/cancel-workflow-action@all_but_latest - with: - all_but_latest: true - access_token: ${{ github.token }} - continue-on-error: true - if: matrix.arch == 'amd64' && matrix.cc == 'gcc' - - uses: actions/checkout@v2 - with: - submodules: true - - name: Cache ccache - uses: actions/cache@v2 - env: - cache-name: cache-ccache - with: - path: /ccache - key: v1-${{ runner.os }}-build-${{ env.cache-name }}-${{ matrix.cc }}-${{ env.GITHUB_WORKFLOW }}-${{ matrix.arch }} - - name: Cache pip - uses: actions/cache@v2 - env: - cache-name: cache-python-pip - with: - path: ~/.cache/pip - key: v1-python-pip - - name: Install python dependencies - run: | - python3 -m pip install -U -r requirements.txt - - name: Run tests - run: | - cd test - python3 -m pytest --verbose --numprocesses=auto - test-emulated: - needs: - - test-native - runs-on: ubuntu-latest - strategy: - matrix: - arch: - - armhf - - unstable-ppc - cc: - - gcc - - clang - env: - CC: ${{ matrix.cc }} - steps: - - name: Register qemu-user-static - run: | - docker run --rm --privileged multiarch/qemu-user-static:register --reset - - uses: actions/checkout@v2 - with: - submodules: true - - name: Cache ccache - uses: actions/cache@v2 - env: - cache-name: cache-ccache - with: - path: ~/ccache - key: v1-${{ runner.os }}-build-${{ env.cache-name }}-${{ matrix.cc }}-${{ env.GITHUB_WORKFLOW }}-${{ matrix.arch }} - - name: Cache pip - uses: actions/cache@v2 - env: - cache-name: cache-python-pip - with: - path: ~/.cache/pip - key: v1-python-pip - - name: Run tests in container - run: | - docker run --rm -e CI -e CC -e PQCLEAN_ONLY_SCHEMES=sphincs-haraka-128s-robust -v $PWD:$PWD -w $PWD -v ~/ccache:/ccache pqclean/ci-container:${{ matrix.arch }} /bin/bash -c "\ - export CCACHE_NOSTATS=1 && \ - export CCACHE_DIR=/ccache && \ - export CCACHE_SLOPPINESS=include_file_mtime && \ - export CC=\"ccache $CC\" && \ - pip3 install -U -r requirements.txt && \ - cd test && \ - python3 -m pytest --verbose --numprocesses=auto" - test-windows: - needs: - - test-native - strategy: - matrix: - bits: - - 64 - - 32 - env: - PQCLEAN_ONLY_SCHEMES: sphincs-haraka-128s-robust - runs-on: windows-latest - steps: - - uses: actions/checkout@v2 - with: - submodules: true - - name: Setup astyle - run: | - # Setup strong crypto - Set-ItemProperty -Path "HKLM:\\SOFTWARE\\Wow6432Node\\Microsoft\\.NetFramework\\v4.0.30319" -Name 'SchUseStrongCrypto' -Value '1' -Type DWord - Set-ItemProperty -Path "HKLM:\\SOFTWARE\\Microsoft\\.NetFramework\\v4.0.30319" -Name "SchUseStrongCrypto" -Value '1' -Type DWord - Invoke-WebRequest -OutFile "test\\astyle.exe" "https://rded.nl/pqclean/AStyle.exe" - shell: powershell - - name: Setup Python - uses: actions/setup-python@main - with: - python-version: "3.x" - - name: Install python requirements - run: python -m pip install -U -r requirements.txt - - name: Run tests - run: | - call "C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Enterprise\\VC\\Auxiliary\\Build\\vcvars${{ matrix.bits }}.bat" - cd test - python -m pytest --verbose --numprocesses=auto - shell: cmd - test-macos: - needs: - - test-native - env: - PQCLEAN_ONLY_SCHEMES: sphincs-haraka-128s-robust - CCACHE_NOSTATS: 1 - CCACHE_SLOPPINESS: include_file_mtime - # XCode version - DEVELOPER_DIR: /Applications/Xcode_11.5.app/Contents/Developer - strategy: - matrix: - compiler: - - clang # XCode (Apple LLVM/Clang) - - gcc9 # GNU (Homebrew) - runs-on: macos-latest - steps: - - uses: actions/checkout@v2 - with: - submodules: true - - name: Install astyle - run: | - brew install astyle - - name: Set up GCC9 compiler - run: 'export PATH="/usr/local/bin:$PATH" && export CC=gcc-9' - if: matrix.compiler == 'gcc9' - - name: Setup Python - uses: actions/setup-python@main - with: - python-version: "3.x" - - name: Install Python dependencies - run: python -m pip install -U -r requirements.txt - - name: Run tests - run: | - cd test - python -m pytest --verbose --numprocesses=auto - diff --git a/.github/workflows/sign_sphincs-haraka-128s-simple.yml b/.github/workflows/sign_sphincs-haraka-128s-simple.yml deleted file mode 100644 index 22fab772..00000000 --- a/.github/workflows/sign_sphincs-haraka-128s-simple.yml +++ /dev/null @@ -1,204 +0,0 @@ -on: - push: - paths: - # build if tests change - - 'test/**' - # do not build if other schemes duplicate_consistency files change - - '!test/duplicate_consistency/*.yml' - - 'test/duplicate_consistency/sphincs-haraka-128s-simple*.yml' - # build if common files change - - 'common/**' - # build if scheme changed - - 'crypto_sign/sphincs-haraka-128s-simple/**' - # build if workflow file changed - - '.github/workflows/sign_sphincs-haraka-128s-simple.yml' - # Build if any files in the root change, except .md files - - '*' - - '!*.md' - pull_request: - paths: - # build if tests change - - 'test/**' - # do not build if other schemes duplicate_consistency files change - - '!test/duplicate_consistency/*.yml' - - 'test/duplicate_consistency/sphincs-haraka-128s-simple*.yml' - # build if common files change - - 'common/**' - # build if scheme changed - - 'crypto_sign/sphincs-haraka-128s-simple/**' - # build if workflow file changed - - '.github/workflows/sign_sphincs-haraka-128s-simple.yml' - # Build if any files in the root change, except .md files - - '*' - - '!*.md' - schedule: - - cron: '5 4 * * *' - -name: Test sphincs-haraka-128s-simple - -jobs: - test-native: - runs-on: ubuntu-latest - container: - image: pqclean/ci-container:${{ matrix.arch }} - env: - PQCLEAN_ONLY_SCHEMES: sphincs-haraka-128s-simple - CC: ccache ${{ matrix.cc }} - CCACHE_NOSTATS: 1 - CCACHE_DIR: /ccache - CCACHE_SLOPPINESS: include_file_mtime - strategy: - matrix: - arch: - - amd64 - - i386 - cc: - - gcc - - clang - steps: - - name: Cancel Previous Runs - uses: thomwiggers/cancel-workflow-action@all_but_latest - with: - all_but_latest: true - access_token: ${{ github.token }} - continue-on-error: true - if: matrix.arch == 'amd64' && matrix.cc == 'gcc' - - uses: actions/checkout@v2 - with: - submodules: true - - name: Cache ccache - uses: actions/cache@v2 - env: - cache-name: cache-ccache - with: - path: /ccache - key: v1-${{ runner.os }}-build-${{ env.cache-name }}-${{ matrix.cc }}-${{ env.GITHUB_WORKFLOW }}-${{ matrix.arch }} - - name: Cache pip - uses: actions/cache@v2 - env: - cache-name: cache-python-pip - with: - path: ~/.cache/pip - key: v1-python-pip - - name: Install python dependencies - run: | - python3 -m pip install -U -r requirements.txt - - name: Run tests - run: | - cd test - python3 -m pytest --verbose --numprocesses=auto - test-emulated: - needs: - - test-native - runs-on: ubuntu-latest - strategy: - matrix: - arch: - - armhf - - unstable-ppc - cc: - - gcc - - clang - env: - CC: ${{ matrix.cc }} - steps: - - name: Register qemu-user-static - run: | - docker run --rm --privileged multiarch/qemu-user-static:register --reset - - uses: actions/checkout@v2 - with: - submodules: true - - name: Cache ccache - uses: actions/cache@v2 - env: - cache-name: cache-ccache - with: - path: ~/ccache - key: v1-${{ runner.os }}-build-${{ env.cache-name }}-${{ matrix.cc }}-${{ env.GITHUB_WORKFLOW }}-${{ matrix.arch }} - - name: Cache pip - uses: actions/cache@v2 - env: - cache-name: cache-python-pip - with: - path: ~/.cache/pip - key: v1-python-pip - - name: Run tests in container - run: | - docker run --rm -e CI -e CC -e PQCLEAN_ONLY_SCHEMES=sphincs-haraka-128s-simple -v $PWD:$PWD -w $PWD -v ~/ccache:/ccache pqclean/ci-container:${{ matrix.arch }} /bin/bash -c "\ - export CCACHE_NOSTATS=1 && \ - export CCACHE_DIR=/ccache && \ - export CCACHE_SLOPPINESS=include_file_mtime && \ - export CC=\"ccache $CC\" && \ - pip3 install -U -r requirements.txt && \ - cd test && \ - python3 -m pytest --verbose --numprocesses=auto" - test-windows: - needs: - - test-native - strategy: - matrix: - bits: - - 64 - - 32 - env: - PQCLEAN_ONLY_SCHEMES: sphincs-haraka-128s-simple - runs-on: windows-latest - steps: - - uses: actions/checkout@v2 - with: - submodules: true - - name: Setup astyle - run: | - # Setup strong crypto - Set-ItemProperty -Path "HKLM:\\SOFTWARE\\Wow6432Node\\Microsoft\\.NetFramework\\v4.0.30319" -Name 'SchUseStrongCrypto' -Value '1' -Type DWord - Set-ItemProperty -Path "HKLM:\\SOFTWARE\\Microsoft\\.NetFramework\\v4.0.30319" -Name "SchUseStrongCrypto" -Value '1' -Type DWord - Invoke-WebRequest -OutFile "test\\astyle.exe" "https://rded.nl/pqclean/AStyle.exe" - shell: powershell - - name: Setup Python - uses: actions/setup-python@main - with: - python-version: "3.x" - - name: Install python requirements - run: python -m pip install -U -r requirements.txt - - name: Run tests - run: | - call "C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Enterprise\\VC\\Auxiliary\\Build\\vcvars${{ matrix.bits }}.bat" - cd test - python -m pytest --verbose --numprocesses=auto - shell: cmd - test-macos: - needs: - - test-native - env: - PQCLEAN_ONLY_SCHEMES: sphincs-haraka-128s-simple - CCACHE_NOSTATS: 1 - CCACHE_SLOPPINESS: include_file_mtime - # XCode version - DEVELOPER_DIR: /Applications/Xcode_11.5.app/Contents/Developer - strategy: - matrix: - compiler: - - clang # XCode (Apple LLVM/Clang) - - gcc9 # GNU (Homebrew) - runs-on: macos-latest - steps: - - uses: actions/checkout@v2 - with: - submodules: true - - name: Install astyle - run: | - brew install astyle - - name: Set up GCC9 compiler - run: 'export PATH="/usr/local/bin:$PATH" && export CC=gcc-9' - if: matrix.compiler == 'gcc9' - - name: Setup Python - uses: actions/setup-python@main - with: - python-version: "3.x" - - name: Install Python dependencies - run: python -m pip install -U -r requirements.txt - - name: Run tests - run: | - cd test - python -m pytest --verbose --numprocesses=auto - diff --git a/.github/workflows/sign_sphincs-haraka-192f-robust.yml b/.github/workflows/sign_sphincs-haraka-192f-robust.yml deleted file mode 100644 index 96b8e6e9..00000000 --- a/.github/workflows/sign_sphincs-haraka-192f-robust.yml +++ /dev/null @@ -1,204 +0,0 @@ -on: - push: - paths: - # build if tests change - - 'test/**' - # do not build if other schemes duplicate_consistency files change - - '!test/duplicate_consistency/*.yml' - - 'test/duplicate_consistency/sphincs-haraka-192f-robust*.yml' - # build if common files change - - 'common/**' - # build if scheme changed - - 'crypto_sign/sphincs-haraka-192f-robust/**' - # build if workflow file changed - - '.github/workflows/sign_sphincs-haraka-192f-robust.yml' - # Build if any files in the root change, except .md files - - '*' - - '!*.md' - pull_request: - paths: - # build if tests change - - 'test/**' - # do not build if other schemes duplicate_consistency files change - - '!test/duplicate_consistency/*.yml' - - 'test/duplicate_consistency/sphincs-haraka-192f-robust*.yml' - # build if common files change - - 'common/**' - # build if scheme changed - - 'crypto_sign/sphincs-haraka-192f-robust/**' - # build if workflow file changed - - '.github/workflows/sign_sphincs-haraka-192f-robust.yml' - # Build if any files in the root change, except .md files - - '*' - - '!*.md' - schedule: - - cron: '5 4 * * *' - -name: Test sphincs-haraka-192f-robust - -jobs: - test-native: - runs-on: ubuntu-latest - container: - image: pqclean/ci-container:${{ matrix.arch }} - env: - PQCLEAN_ONLY_SCHEMES: sphincs-haraka-192f-robust - CC: ccache ${{ matrix.cc }} - CCACHE_NOSTATS: 1 - CCACHE_DIR: /ccache - CCACHE_SLOPPINESS: include_file_mtime - strategy: - matrix: - arch: - - amd64 - - i386 - cc: - - gcc - - clang - steps: - - name: Cancel Previous Runs - uses: thomwiggers/cancel-workflow-action@all_but_latest - with: - all_but_latest: true - access_token: ${{ github.token }} - continue-on-error: true - if: matrix.arch == 'amd64' && matrix.cc == 'gcc' - - uses: actions/checkout@v2 - with: - submodules: true - - name: Cache ccache - uses: actions/cache@v2 - env: - cache-name: cache-ccache - with: - path: /ccache - key: v1-${{ runner.os }}-build-${{ env.cache-name }}-${{ matrix.cc }}-${{ env.GITHUB_WORKFLOW }}-${{ matrix.arch }} - - name: Cache pip - uses: actions/cache@v2 - env: - cache-name: cache-python-pip - with: - path: ~/.cache/pip - key: v1-python-pip - - name: Install python dependencies - run: | - python3 -m pip install -U -r requirements.txt - - name: Run tests - run: | - cd test - python3 -m pytest --verbose --numprocesses=auto - test-emulated: - needs: - - test-native - runs-on: ubuntu-latest - strategy: - matrix: - arch: - - armhf - - unstable-ppc - cc: - - gcc - - clang - env: - CC: ${{ matrix.cc }} - steps: - - name: Register qemu-user-static - run: | - docker run --rm --privileged multiarch/qemu-user-static:register --reset - - uses: actions/checkout@v2 - with: - submodules: true - - name: Cache ccache - uses: actions/cache@v2 - env: - cache-name: cache-ccache - with: - path: ~/ccache - key: v1-${{ runner.os }}-build-${{ env.cache-name }}-${{ matrix.cc }}-${{ env.GITHUB_WORKFLOW }}-${{ matrix.arch }} - - name: Cache pip - uses: actions/cache@v2 - env: - cache-name: cache-python-pip - with: - path: ~/.cache/pip - key: v1-python-pip - - name: Run tests in container - run: | - docker run --rm -e CI -e CC -e PQCLEAN_ONLY_SCHEMES=sphincs-haraka-192f-robust -v $PWD:$PWD -w $PWD -v ~/ccache:/ccache pqclean/ci-container:${{ matrix.arch }} /bin/bash -c "\ - export CCACHE_NOSTATS=1 && \ - export CCACHE_DIR=/ccache && \ - export CCACHE_SLOPPINESS=include_file_mtime && \ - export CC=\"ccache $CC\" && \ - pip3 install -U -r requirements.txt && \ - cd test && \ - python3 -m pytest --verbose --numprocesses=auto" - test-windows: - needs: - - test-native - strategy: - matrix: - bits: - - 64 - - 32 - env: - PQCLEAN_ONLY_SCHEMES: sphincs-haraka-192f-robust - runs-on: windows-latest - steps: - - uses: actions/checkout@v2 - with: - submodules: true - - name: Setup astyle - run: | - # Setup strong crypto - Set-ItemProperty -Path "HKLM:\\SOFTWARE\\Wow6432Node\\Microsoft\\.NetFramework\\v4.0.30319" -Name 'SchUseStrongCrypto' -Value '1' -Type DWord - Set-ItemProperty -Path "HKLM:\\SOFTWARE\\Microsoft\\.NetFramework\\v4.0.30319" -Name "SchUseStrongCrypto" -Value '1' -Type DWord - Invoke-WebRequest -OutFile "test\\astyle.exe" "https://rded.nl/pqclean/AStyle.exe" - shell: powershell - - name: Setup Python - uses: actions/setup-python@main - with: - python-version: "3.x" - - name: Install python requirements - run: python -m pip install -U -r requirements.txt - - name: Run tests - run: | - call "C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Enterprise\\VC\\Auxiliary\\Build\\vcvars${{ matrix.bits }}.bat" - cd test - python -m pytest --verbose --numprocesses=auto - shell: cmd - test-macos: - needs: - - test-native - env: - PQCLEAN_ONLY_SCHEMES: sphincs-haraka-192f-robust - CCACHE_NOSTATS: 1 - CCACHE_SLOPPINESS: include_file_mtime - # XCode version - DEVELOPER_DIR: /Applications/Xcode_11.5.app/Contents/Developer - strategy: - matrix: - compiler: - - clang # XCode (Apple LLVM/Clang) - - gcc9 # GNU (Homebrew) - runs-on: macos-latest - steps: - - uses: actions/checkout@v2 - with: - submodules: true - - name: Install astyle - run: | - brew install astyle - - name: Set up GCC9 compiler - run: 'export PATH="/usr/local/bin:$PATH" && export CC=gcc-9' - if: matrix.compiler == 'gcc9' - - name: Setup Python - uses: actions/setup-python@main - with: - python-version: "3.x" - - name: Install Python dependencies - run: python -m pip install -U -r requirements.txt - - name: Run tests - run: | - cd test - python -m pytest --verbose --numprocesses=auto - diff --git a/.github/workflows/sign_sphincs-haraka-192f-simple.yml b/.github/workflows/sign_sphincs-haraka-192f-simple.yml deleted file mode 100644 index 62f98ee0..00000000 --- a/.github/workflows/sign_sphincs-haraka-192f-simple.yml +++ /dev/null @@ -1,204 +0,0 @@ -on: - push: - paths: - # build if tests change - - 'test/**' - # do not build if other schemes duplicate_consistency files change - - '!test/duplicate_consistency/*.yml' - - 'test/duplicate_consistency/sphincs-haraka-192f-simple*.yml' - # build if common files change - - 'common/**' - # build if scheme changed - - 'crypto_sign/sphincs-haraka-192f-simple/**' - # build if workflow file changed - - '.github/workflows/sign_sphincs-haraka-192f-simple.yml' - # Build if any files in the root change, except .md files - - '*' - - '!*.md' - pull_request: - paths: - # build if tests change - - 'test/**' - # do not build if other schemes duplicate_consistency files change - - '!test/duplicate_consistency/*.yml' - - 'test/duplicate_consistency/sphincs-haraka-192f-simple*.yml' - # build if common files change - - 'common/**' - # build if scheme changed - - 'crypto_sign/sphincs-haraka-192f-simple/**' - # build if workflow file changed - - '.github/workflows/sign_sphincs-haraka-192f-simple.yml' - # Build if any files in the root change, except .md files - - '*' - - '!*.md' - schedule: - - cron: '5 4 * * *' - -name: Test sphincs-haraka-192f-simple - -jobs: - test-native: - runs-on: ubuntu-latest - container: - image: pqclean/ci-container:${{ matrix.arch }} - env: - PQCLEAN_ONLY_SCHEMES: sphincs-haraka-192f-simple - CC: ccache ${{ matrix.cc }} - CCACHE_NOSTATS: 1 - CCACHE_DIR: /ccache - CCACHE_SLOPPINESS: include_file_mtime - strategy: - matrix: - arch: - - amd64 - - i386 - cc: - - gcc - - clang - steps: - - name: Cancel Previous Runs - uses: thomwiggers/cancel-workflow-action@all_but_latest - with: - all_but_latest: true - access_token: ${{ github.token }} - continue-on-error: true - if: matrix.arch == 'amd64' && matrix.cc == 'gcc' - - uses: actions/checkout@v2 - with: - submodules: true - - name: Cache ccache - uses: actions/cache@v2 - env: - cache-name: cache-ccache - with: - path: /ccache - key: v1-${{ runner.os }}-build-${{ env.cache-name }}-${{ matrix.cc }}-${{ env.GITHUB_WORKFLOW }}-${{ matrix.arch }} - - name: Cache pip - uses: actions/cache@v2 - env: - cache-name: cache-python-pip - with: - path: ~/.cache/pip - key: v1-python-pip - - name: Install python dependencies - run: | - python3 -m pip install -U -r requirements.txt - - name: Run tests - run: | - cd test - python3 -m pytest --verbose --numprocesses=auto - test-emulated: - needs: - - test-native - runs-on: ubuntu-latest - strategy: - matrix: - arch: - - armhf - - unstable-ppc - cc: - - gcc - - clang - env: - CC: ${{ matrix.cc }} - steps: - - name: Register qemu-user-static - run: | - docker run --rm --privileged multiarch/qemu-user-static:register --reset - - uses: actions/checkout@v2 - with: - submodules: true - - name: Cache ccache - uses: actions/cache@v2 - env: - cache-name: cache-ccache - with: - path: ~/ccache - key: v1-${{ runner.os }}-build-${{ env.cache-name }}-${{ matrix.cc }}-${{ env.GITHUB_WORKFLOW }}-${{ matrix.arch }} - - name: Cache pip - uses: actions/cache@v2 - env: - cache-name: cache-python-pip - with: - path: ~/.cache/pip - key: v1-python-pip - - name: Run tests in container - run: | - docker run --rm -e CI -e CC -e PQCLEAN_ONLY_SCHEMES=sphincs-haraka-192f-simple -v $PWD:$PWD -w $PWD -v ~/ccache:/ccache pqclean/ci-container:${{ matrix.arch }} /bin/bash -c "\ - export CCACHE_NOSTATS=1 && \ - export CCACHE_DIR=/ccache && \ - export CCACHE_SLOPPINESS=include_file_mtime && \ - export CC=\"ccache $CC\" && \ - pip3 install -U -r requirements.txt && \ - cd test && \ - python3 -m pytest --verbose --numprocesses=auto" - test-windows: - needs: - - test-native - strategy: - matrix: - bits: - - 64 - - 32 - env: - PQCLEAN_ONLY_SCHEMES: sphincs-haraka-192f-simple - runs-on: windows-latest - steps: - - uses: actions/checkout@v2 - with: - submodules: true - - name: Setup astyle - run: | - # Setup strong crypto - Set-ItemProperty -Path "HKLM:\\SOFTWARE\\Wow6432Node\\Microsoft\\.NetFramework\\v4.0.30319" -Name 'SchUseStrongCrypto' -Value '1' -Type DWord - Set-ItemProperty -Path "HKLM:\\SOFTWARE\\Microsoft\\.NetFramework\\v4.0.30319" -Name "SchUseStrongCrypto" -Value '1' -Type DWord - Invoke-WebRequest -OutFile "test\\astyle.exe" "https://rded.nl/pqclean/AStyle.exe" - shell: powershell - - name: Setup Python - uses: actions/setup-python@main - with: - python-version: "3.x" - - name: Install python requirements - run: python -m pip install -U -r requirements.txt - - name: Run tests - run: | - call "C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Enterprise\\VC\\Auxiliary\\Build\\vcvars${{ matrix.bits }}.bat" - cd test - python -m pytest --verbose --numprocesses=auto - shell: cmd - test-macos: - needs: - - test-native - env: - PQCLEAN_ONLY_SCHEMES: sphincs-haraka-192f-simple - CCACHE_NOSTATS: 1 - CCACHE_SLOPPINESS: include_file_mtime - # XCode version - DEVELOPER_DIR: /Applications/Xcode_11.5.app/Contents/Developer - strategy: - matrix: - compiler: - - clang # XCode (Apple LLVM/Clang) - - gcc9 # GNU (Homebrew) - runs-on: macos-latest - steps: - - uses: actions/checkout@v2 - with: - submodules: true - - name: Install astyle - run: | - brew install astyle - - name: Set up GCC9 compiler - run: 'export PATH="/usr/local/bin:$PATH" && export CC=gcc-9' - if: matrix.compiler == 'gcc9' - - name: Setup Python - uses: actions/setup-python@main - with: - python-version: "3.x" - - name: Install Python dependencies - run: python -m pip install -U -r requirements.txt - - name: Run tests - run: | - cd test - python -m pytest --verbose --numprocesses=auto - diff --git a/.github/workflows/sign_sphincs-haraka-192s-robust.yml b/.github/workflows/sign_sphincs-haraka-192s-robust.yml deleted file mode 100644 index 96a14d06..00000000 --- a/.github/workflows/sign_sphincs-haraka-192s-robust.yml +++ /dev/null @@ -1,204 +0,0 @@ -on: - push: - paths: - # build if tests change - - 'test/**' - # do not build if other schemes duplicate_consistency files change - - '!test/duplicate_consistency/*.yml' - - 'test/duplicate_consistency/sphincs-haraka-192s-robust*.yml' - # build if common files change - - 'common/**' - # build if scheme changed - - 'crypto_sign/sphincs-haraka-192s-robust/**' - # build if workflow file changed - - '.github/workflows/sign_sphincs-haraka-192s-robust.yml' - # Build if any files in the root change, except .md files - - '*' - - '!*.md' - pull_request: - paths: - # build if tests change - - 'test/**' - # do not build if other schemes duplicate_consistency files change - - '!test/duplicate_consistency/*.yml' - - 'test/duplicate_consistency/sphincs-haraka-192s-robust*.yml' - # build if common files change - - 'common/**' - # build if scheme changed - - 'crypto_sign/sphincs-haraka-192s-robust/**' - # build if workflow file changed - - '.github/workflows/sign_sphincs-haraka-192s-robust.yml' - # Build if any files in the root change, except .md files - - '*' - - '!*.md' - schedule: - - cron: '5 4 * * *' - -name: Test sphincs-haraka-192s-robust - -jobs: - test-native: - runs-on: ubuntu-latest - container: - image: pqclean/ci-container:${{ matrix.arch }} - env: - PQCLEAN_ONLY_SCHEMES: sphincs-haraka-192s-robust - CC: ccache ${{ matrix.cc }} - CCACHE_NOSTATS: 1 - CCACHE_DIR: /ccache - CCACHE_SLOPPINESS: include_file_mtime - strategy: - matrix: - arch: - - amd64 - - i386 - cc: - - gcc - - clang - steps: - - name: Cancel Previous Runs - uses: thomwiggers/cancel-workflow-action@all_but_latest - with: - all_but_latest: true - access_token: ${{ github.token }} - continue-on-error: true - if: matrix.arch == 'amd64' && matrix.cc == 'gcc' - - uses: actions/checkout@v2 - with: - submodules: true - - name: Cache ccache - uses: actions/cache@v2 - env: - cache-name: cache-ccache - with: - path: /ccache - key: v1-${{ runner.os }}-build-${{ env.cache-name }}-${{ matrix.cc }}-${{ env.GITHUB_WORKFLOW }}-${{ matrix.arch }} - - name: Cache pip - uses: actions/cache@v2 - env: - cache-name: cache-python-pip - with: - path: ~/.cache/pip - key: v1-python-pip - - name: Install python dependencies - run: | - python3 -m pip install -U -r requirements.txt - - name: Run tests - run: | - cd test - python3 -m pytest --verbose --numprocesses=auto - test-emulated: - needs: - - test-native - runs-on: ubuntu-latest - strategy: - matrix: - arch: - - armhf - - unstable-ppc - cc: - - gcc - - clang - env: - CC: ${{ matrix.cc }} - steps: - - name: Register qemu-user-static - run: | - docker run --rm --privileged multiarch/qemu-user-static:register --reset - - uses: actions/checkout@v2 - with: - submodules: true - - name: Cache ccache - uses: actions/cache@v2 - env: - cache-name: cache-ccache - with: - path: ~/ccache - key: v1-${{ runner.os }}-build-${{ env.cache-name }}-${{ matrix.cc }}-${{ env.GITHUB_WORKFLOW }}-${{ matrix.arch }} - - name: Cache pip - uses: actions/cache@v2 - env: - cache-name: cache-python-pip - with: - path: ~/.cache/pip - key: v1-python-pip - - name: Run tests in container - run: | - docker run --rm -e CI -e CC -e PQCLEAN_ONLY_SCHEMES=sphincs-haraka-192s-robust -v $PWD:$PWD -w $PWD -v ~/ccache:/ccache pqclean/ci-container:${{ matrix.arch }} /bin/bash -c "\ - export CCACHE_NOSTATS=1 && \ - export CCACHE_DIR=/ccache && \ - export CCACHE_SLOPPINESS=include_file_mtime && \ - export CC=\"ccache $CC\" && \ - pip3 install -U -r requirements.txt && \ - cd test && \ - python3 -m pytest --verbose --numprocesses=auto" - test-windows: - needs: - - test-native - strategy: - matrix: - bits: - - 64 - - 32 - env: - PQCLEAN_ONLY_SCHEMES: sphincs-haraka-192s-robust - runs-on: windows-latest - steps: - - uses: actions/checkout@v2 - with: - submodules: true - - name: Setup astyle - run: | - # Setup strong crypto - Set-ItemProperty -Path "HKLM:\\SOFTWARE\\Wow6432Node\\Microsoft\\.NetFramework\\v4.0.30319" -Name 'SchUseStrongCrypto' -Value '1' -Type DWord - Set-ItemProperty -Path "HKLM:\\SOFTWARE\\Microsoft\\.NetFramework\\v4.0.30319" -Name "SchUseStrongCrypto" -Value '1' -Type DWord - Invoke-WebRequest -OutFile "test\\astyle.exe" "https://rded.nl/pqclean/AStyle.exe" - shell: powershell - - name: Setup Python - uses: actions/setup-python@main - with: - python-version: "3.x" - - name: Install python requirements - run: python -m pip install -U -r requirements.txt - - name: Run tests - run: | - call "C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Enterprise\\VC\\Auxiliary\\Build\\vcvars${{ matrix.bits }}.bat" - cd test - python -m pytest --verbose --numprocesses=auto - shell: cmd - test-macos: - needs: - - test-native - env: - PQCLEAN_ONLY_SCHEMES: sphincs-haraka-192s-robust - CCACHE_NOSTATS: 1 - CCACHE_SLOPPINESS: include_file_mtime - # XCode version - DEVELOPER_DIR: /Applications/Xcode_11.5.app/Contents/Developer - strategy: - matrix: - compiler: - - clang # XCode (Apple LLVM/Clang) - - gcc9 # GNU (Homebrew) - runs-on: macos-latest - steps: - - uses: actions/checkout@v2 - with: - submodules: true - - name: Install astyle - run: | - brew install astyle - - name: Set up GCC9 compiler - run: 'export PATH="/usr/local/bin:$PATH" && export CC=gcc-9' - if: matrix.compiler == 'gcc9' - - name: Setup Python - uses: actions/setup-python@main - with: - python-version: "3.x" - - name: Install Python dependencies - run: python -m pip install -U -r requirements.txt - - name: Run tests - run: | - cd test - python -m pytest --verbose --numprocesses=auto - diff --git a/.github/workflows/sign_sphincs-haraka-192s-simple.yml b/.github/workflows/sign_sphincs-haraka-192s-simple.yml deleted file mode 100644 index 91fb9283..00000000 --- a/.github/workflows/sign_sphincs-haraka-192s-simple.yml +++ /dev/null @@ -1,204 +0,0 @@ -on: - push: - paths: - # build if tests change - - 'test/**' - # do not build if other schemes duplicate_consistency files change - - '!test/duplicate_consistency/*.yml' - - 'test/duplicate_consistency/sphincs-haraka-192s-simple*.yml' - # build if common files change - - 'common/**' - # build if scheme changed - - 'crypto_sign/sphincs-haraka-192s-simple/**' - # build if workflow file changed - - '.github/workflows/sign_sphincs-haraka-192s-simple.yml' - # Build if any files in the root change, except .md files - - '*' - - '!*.md' - pull_request: - paths: - # build if tests change - - 'test/**' - # do not build if other schemes duplicate_consistency files change - - '!test/duplicate_consistency/*.yml' - - 'test/duplicate_consistency/sphincs-haraka-192s-simple*.yml' - # build if common files change - - 'common/**' - # build if scheme changed - - 'crypto_sign/sphincs-haraka-192s-simple/**' - # build if workflow file changed - - '.github/workflows/sign_sphincs-haraka-192s-simple.yml' - # Build if any files in the root change, except .md files - - '*' - - '!*.md' - schedule: - - cron: '5 4 * * *' - -name: Test sphincs-haraka-192s-simple - -jobs: - test-native: - runs-on: ubuntu-latest - container: - image: pqclean/ci-container:${{ matrix.arch }} - env: - PQCLEAN_ONLY_SCHEMES: sphincs-haraka-192s-simple - CC: ccache ${{ matrix.cc }} - CCACHE_NOSTATS: 1 - CCACHE_DIR: /ccache - CCACHE_SLOPPINESS: include_file_mtime - strategy: - matrix: - arch: - - amd64 - - i386 - cc: - - gcc - - clang - steps: - - name: Cancel Previous Runs - uses: thomwiggers/cancel-workflow-action@all_but_latest - with: - all_but_latest: true - access_token: ${{ github.token }} - continue-on-error: true - if: matrix.arch == 'amd64' && matrix.cc == 'gcc' - - uses: actions/checkout@v2 - with: - submodules: true - - name: Cache ccache - uses: actions/cache@v2 - env: - cache-name: cache-ccache - with: - path: /ccache - key: v1-${{ runner.os }}-build-${{ env.cache-name }}-${{ matrix.cc }}-${{ env.GITHUB_WORKFLOW }}-${{ matrix.arch }} - - name: Cache pip - uses: actions/cache@v2 - env: - cache-name: cache-python-pip - with: - path: ~/.cache/pip - key: v1-python-pip - - name: Install python dependencies - run: | - python3 -m pip install -U -r requirements.txt - - name: Run tests - run: | - cd test - python3 -m pytest --verbose --numprocesses=auto - test-emulated: - needs: - - test-native - runs-on: ubuntu-latest - strategy: - matrix: - arch: - - armhf - - unstable-ppc - cc: - - gcc - - clang - env: - CC: ${{ matrix.cc }} - steps: - - name: Register qemu-user-static - run: | - docker run --rm --privileged multiarch/qemu-user-static:register --reset - - uses: actions/checkout@v2 - with: - submodules: true - - name: Cache ccache - uses: actions/cache@v2 - env: - cache-name: cache-ccache - with: - path: ~/ccache - key: v1-${{ runner.os }}-build-${{ env.cache-name }}-${{ matrix.cc }}-${{ env.GITHUB_WORKFLOW }}-${{ matrix.arch }} - - name: Cache pip - uses: actions/cache@v2 - env: - cache-name: cache-python-pip - with: - path: ~/.cache/pip - key: v1-python-pip - - name: Run tests in container - run: | - docker run --rm -e CI -e CC -e PQCLEAN_ONLY_SCHEMES=sphincs-haraka-192s-simple -v $PWD:$PWD -w $PWD -v ~/ccache:/ccache pqclean/ci-container:${{ matrix.arch }} /bin/bash -c "\ - export CCACHE_NOSTATS=1 && \ - export CCACHE_DIR=/ccache && \ - export CCACHE_SLOPPINESS=include_file_mtime && \ - export CC=\"ccache $CC\" && \ - pip3 install -U -r requirements.txt && \ - cd test && \ - python3 -m pytest --verbose --numprocesses=auto" - test-windows: - needs: - - test-native - strategy: - matrix: - bits: - - 64 - - 32 - env: - PQCLEAN_ONLY_SCHEMES: sphincs-haraka-192s-simple - runs-on: windows-latest - steps: - - uses: actions/checkout@v2 - with: - submodules: true - - name: Setup astyle - run: | - # Setup strong crypto - Set-ItemProperty -Path "HKLM:\\SOFTWARE\\Wow6432Node\\Microsoft\\.NetFramework\\v4.0.30319" -Name 'SchUseStrongCrypto' -Value '1' -Type DWord - Set-ItemProperty -Path "HKLM:\\SOFTWARE\\Microsoft\\.NetFramework\\v4.0.30319" -Name "SchUseStrongCrypto" -Value '1' -Type DWord - Invoke-WebRequest -OutFile "test\\astyle.exe" "https://rded.nl/pqclean/AStyle.exe" - shell: powershell - - name: Setup Python - uses: actions/setup-python@main - with: - python-version: "3.x" - - name: Install python requirements - run: python -m pip install -U -r requirements.txt - - name: Run tests - run: | - call "C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Enterprise\\VC\\Auxiliary\\Build\\vcvars${{ matrix.bits }}.bat" - cd test - python -m pytest --verbose --numprocesses=auto - shell: cmd - test-macos: - needs: - - test-native - env: - PQCLEAN_ONLY_SCHEMES: sphincs-haraka-192s-simple - CCACHE_NOSTATS: 1 - CCACHE_SLOPPINESS: include_file_mtime - # XCode version - DEVELOPER_DIR: /Applications/Xcode_11.5.app/Contents/Developer - strategy: - matrix: - compiler: - - clang # XCode (Apple LLVM/Clang) - - gcc9 # GNU (Homebrew) - runs-on: macos-latest - steps: - - uses: actions/checkout@v2 - with: - submodules: true - - name: Install astyle - run: | - brew install astyle - - name: Set up GCC9 compiler - run: 'export PATH="/usr/local/bin:$PATH" && export CC=gcc-9' - if: matrix.compiler == 'gcc9' - - name: Setup Python - uses: actions/setup-python@main - with: - python-version: "3.x" - - name: Install Python dependencies - run: python -m pip install -U -r requirements.txt - - name: Run tests - run: | - cd test - python -m pytest --verbose --numprocesses=auto - diff --git a/.github/workflows/sign_sphincs-haraka-256f-robust.yml b/.github/workflows/sign_sphincs-haraka-256f-robust.yml deleted file mode 100644 index d84dee8e..00000000 --- a/.github/workflows/sign_sphincs-haraka-256f-robust.yml +++ /dev/null @@ -1,204 +0,0 @@ -on: - push: - paths: - # build if tests change - - 'test/**' - # do not build if other schemes duplicate_consistency files change - - '!test/duplicate_consistency/*.yml' - - 'test/duplicate_consistency/sphincs-haraka-256f-robust*.yml' - # build if common files change - - 'common/**' - # build if scheme changed - - 'crypto_sign/sphincs-haraka-256f-robust/**' - # build if workflow file changed - - '.github/workflows/sign_sphincs-haraka-256f-robust.yml' - # Build if any files in the root change, except .md files - - '*' - - '!*.md' - pull_request: - paths: - # build if tests change - - 'test/**' - # do not build if other schemes duplicate_consistency files change - - '!test/duplicate_consistency/*.yml' - - 'test/duplicate_consistency/sphincs-haraka-256f-robust*.yml' - # build if common files change - - 'common/**' - # build if scheme changed - - 'crypto_sign/sphincs-haraka-256f-robust/**' - # build if workflow file changed - - '.github/workflows/sign_sphincs-haraka-256f-robust.yml' - # Build if any files in the root change, except .md files - - '*' - - '!*.md' - schedule: - - cron: '5 4 * * *' - -name: Test sphincs-haraka-256f-robust - -jobs: - test-native: - runs-on: ubuntu-latest - container: - image: pqclean/ci-container:${{ matrix.arch }} - env: - PQCLEAN_ONLY_SCHEMES: sphincs-haraka-256f-robust - CC: ccache ${{ matrix.cc }} - CCACHE_NOSTATS: 1 - CCACHE_DIR: /ccache - CCACHE_SLOPPINESS: include_file_mtime - strategy: - matrix: - arch: - - amd64 - - i386 - cc: - - gcc - - clang - steps: - - name: Cancel Previous Runs - uses: thomwiggers/cancel-workflow-action@all_but_latest - with: - all_but_latest: true - access_token: ${{ github.token }} - continue-on-error: true - if: matrix.arch == 'amd64' && matrix.cc == 'gcc' - - uses: actions/checkout@v2 - with: - submodules: true - - name: Cache ccache - uses: actions/cache@v2 - env: - cache-name: cache-ccache - with: - path: /ccache - key: v1-${{ runner.os }}-build-${{ env.cache-name }}-${{ matrix.cc }}-${{ env.GITHUB_WORKFLOW }}-${{ matrix.arch }} - - name: Cache pip - uses: actions/cache@v2 - env: - cache-name: cache-python-pip - with: - path: ~/.cache/pip - key: v1-python-pip - - name: Install python dependencies - run: | - python3 -m pip install -U -r requirements.txt - - name: Run tests - run: | - cd test - python3 -m pytest --verbose --numprocesses=auto - test-emulated: - needs: - - test-native - runs-on: ubuntu-latest - strategy: - matrix: - arch: - - armhf - - unstable-ppc - cc: - - gcc - - clang - env: - CC: ${{ matrix.cc }} - steps: - - name: Register qemu-user-static - run: | - docker run --rm --privileged multiarch/qemu-user-static:register --reset - - uses: actions/checkout@v2 - with: - submodules: true - - name: Cache ccache - uses: actions/cache@v2 - env: - cache-name: cache-ccache - with: - path: ~/ccache - key: v1-${{ runner.os }}-build-${{ env.cache-name }}-${{ matrix.cc }}-${{ env.GITHUB_WORKFLOW }}-${{ matrix.arch }} - - name: Cache pip - uses: actions/cache@v2 - env: - cache-name: cache-python-pip - with: - path: ~/.cache/pip - key: v1-python-pip - - name: Run tests in container - run: | - docker run --rm -e CI -e CC -e PQCLEAN_ONLY_SCHEMES=sphincs-haraka-256f-robust -v $PWD:$PWD -w $PWD -v ~/ccache:/ccache pqclean/ci-container:${{ matrix.arch }} /bin/bash -c "\ - export CCACHE_NOSTATS=1 && \ - export CCACHE_DIR=/ccache && \ - export CCACHE_SLOPPINESS=include_file_mtime && \ - export CC=\"ccache $CC\" && \ - pip3 install -U -r requirements.txt && \ - cd test && \ - python3 -m pytest --verbose --numprocesses=auto" - test-windows: - needs: - - test-native - strategy: - matrix: - bits: - - 64 - - 32 - env: - PQCLEAN_ONLY_SCHEMES: sphincs-haraka-256f-robust - runs-on: windows-latest - steps: - - uses: actions/checkout@v2 - with: - submodules: true - - name: Setup astyle - run: | - # Setup strong crypto - Set-ItemProperty -Path "HKLM:\\SOFTWARE\\Wow6432Node\\Microsoft\\.NetFramework\\v4.0.30319" -Name 'SchUseStrongCrypto' -Value '1' -Type DWord - Set-ItemProperty -Path "HKLM:\\SOFTWARE\\Microsoft\\.NetFramework\\v4.0.30319" -Name "SchUseStrongCrypto" -Value '1' -Type DWord - Invoke-WebRequest -OutFile "test\\astyle.exe" "https://rded.nl/pqclean/AStyle.exe" - shell: powershell - - name: Setup Python - uses: actions/setup-python@main - with: - python-version: "3.x" - - name: Install python requirements - run: python -m pip install -U -r requirements.txt - - name: Run tests - run: | - call "C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Enterprise\\VC\\Auxiliary\\Build\\vcvars${{ matrix.bits }}.bat" - cd test - python -m pytest --verbose --numprocesses=auto - shell: cmd - test-macos: - needs: - - test-native - env: - PQCLEAN_ONLY_SCHEMES: sphincs-haraka-256f-robust - CCACHE_NOSTATS: 1 - CCACHE_SLOPPINESS: include_file_mtime - # XCode version - DEVELOPER_DIR: /Applications/Xcode_11.5.app/Contents/Developer - strategy: - matrix: - compiler: - - clang # XCode (Apple LLVM/Clang) - - gcc9 # GNU (Homebrew) - runs-on: macos-latest - steps: - - uses: actions/checkout@v2 - with: - submodules: true - - name: Install astyle - run: | - brew install astyle - - name: Set up GCC9 compiler - run: 'export PATH="/usr/local/bin:$PATH" && export CC=gcc-9' - if: matrix.compiler == 'gcc9' - - name: Setup Python - uses: actions/setup-python@main - with: - python-version: "3.x" - - name: Install Python dependencies - run: python -m pip install -U -r requirements.txt - - name: Run tests - run: | - cd test - python -m pytest --verbose --numprocesses=auto - diff --git a/.github/workflows/sign_sphincs-haraka-256f-simple.yml b/.github/workflows/sign_sphincs-haraka-256f-simple.yml deleted file mode 100644 index 6ff095a9..00000000 --- a/.github/workflows/sign_sphincs-haraka-256f-simple.yml +++ /dev/null @@ -1,204 +0,0 @@ -on: - push: - paths: - # build if tests change - - 'test/**' - # do not build if other schemes duplicate_consistency files change - - '!test/duplicate_consistency/*.yml' - - 'test/duplicate_consistency/sphincs-haraka-256f-simple*.yml' - # build if common files change - - 'common/**' - # build if scheme changed - - 'crypto_sign/sphincs-haraka-256f-simple/**' - # build if workflow file changed - - '.github/workflows/sign_sphincs-haraka-256f-simple.yml' - # Build if any files in the root change, except .md files - - '*' - - '!*.md' - pull_request: - paths: - # build if tests change - - 'test/**' - # do not build if other schemes duplicate_consistency files change - - '!test/duplicate_consistency/*.yml' - - 'test/duplicate_consistency/sphincs-haraka-256f-simple*.yml' - # build if common files change - - 'common/**' - # build if scheme changed - - 'crypto_sign/sphincs-haraka-256f-simple/**' - # build if workflow file changed - - '.github/workflows/sign_sphincs-haraka-256f-simple.yml' - # Build if any files in the root change, except .md files - - '*' - - '!*.md' - schedule: - - cron: '5 4 * * *' - -name: Test sphincs-haraka-256f-simple - -jobs: - test-native: - runs-on: ubuntu-latest - container: - image: pqclean/ci-container:${{ matrix.arch }} - env: - PQCLEAN_ONLY_SCHEMES: sphincs-haraka-256f-simple - CC: ccache ${{ matrix.cc }} - CCACHE_NOSTATS: 1 - CCACHE_DIR: /ccache - CCACHE_SLOPPINESS: include_file_mtime - strategy: - matrix: - arch: - - amd64 - - i386 - cc: - - gcc - - clang - steps: - - name: Cancel Previous Runs - uses: thomwiggers/cancel-workflow-action@all_but_latest - with: - all_but_latest: true - access_token: ${{ github.token }} - continue-on-error: true - if: matrix.arch == 'amd64' && matrix.cc == 'gcc' - - uses: actions/checkout@v2 - with: - submodules: true - - name: Cache ccache - uses: actions/cache@v2 - env: - cache-name: cache-ccache - with: - path: /ccache - key: v1-${{ runner.os }}-build-${{ env.cache-name }}-${{ matrix.cc }}-${{ env.GITHUB_WORKFLOW }}-${{ matrix.arch }} - - name: Cache pip - uses: actions/cache@v2 - env: - cache-name: cache-python-pip - with: - path: ~/.cache/pip - key: v1-python-pip - - name: Install python dependencies - run: | - python3 -m pip install -U -r requirements.txt - - name: Run tests - run: | - cd test - python3 -m pytest --verbose --numprocesses=auto - test-emulated: - needs: - - test-native - runs-on: ubuntu-latest - strategy: - matrix: - arch: - - armhf - - unstable-ppc - cc: - - gcc - - clang - env: - CC: ${{ matrix.cc }} - steps: - - name: Register qemu-user-static - run: | - docker run --rm --privileged multiarch/qemu-user-static:register --reset - - uses: actions/checkout@v2 - with: - submodules: true - - name: Cache ccache - uses: actions/cache@v2 - env: - cache-name: cache-ccache - with: - path: ~/ccache - key: v1-${{ runner.os }}-build-${{ env.cache-name }}-${{ matrix.cc }}-${{ env.GITHUB_WORKFLOW }}-${{ matrix.arch }} - - name: Cache pip - uses: actions/cache@v2 - env: - cache-name: cache-python-pip - with: - path: ~/.cache/pip - key: v1-python-pip - - name: Run tests in container - run: | - docker run --rm -e CI -e CC -e PQCLEAN_ONLY_SCHEMES=sphincs-haraka-256f-simple -v $PWD:$PWD -w $PWD -v ~/ccache:/ccache pqclean/ci-container:${{ matrix.arch }} /bin/bash -c "\ - export CCACHE_NOSTATS=1 && \ - export CCACHE_DIR=/ccache && \ - export CCACHE_SLOPPINESS=include_file_mtime && \ - export CC=\"ccache $CC\" && \ - pip3 install -U -r requirements.txt && \ - cd test && \ - python3 -m pytest --verbose --numprocesses=auto" - test-windows: - needs: - - test-native - strategy: - matrix: - bits: - - 64 - - 32 - env: - PQCLEAN_ONLY_SCHEMES: sphincs-haraka-256f-simple - runs-on: windows-latest - steps: - - uses: actions/checkout@v2 - with: - submodules: true - - name: Setup astyle - run: | - # Setup strong crypto - Set-ItemProperty -Path "HKLM:\\SOFTWARE\\Wow6432Node\\Microsoft\\.NetFramework\\v4.0.30319" -Name 'SchUseStrongCrypto' -Value '1' -Type DWord - Set-ItemProperty -Path "HKLM:\\SOFTWARE\\Microsoft\\.NetFramework\\v4.0.30319" -Name "SchUseStrongCrypto" -Value '1' -Type DWord - Invoke-WebRequest -OutFile "test\\astyle.exe" "https://rded.nl/pqclean/AStyle.exe" - shell: powershell - - name: Setup Python - uses: actions/setup-python@main - with: - python-version: "3.x" - - name: Install python requirements - run: python -m pip install -U -r requirements.txt - - name: Run tests - run: | - call "C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Enterprise\\VC\\Auxiliary\\Build\\vcvars${{ matrix.bits }}.bat" - cd test - python -m pytest --verbose --numprocesses=auto - shell: cmd - test-macos: - needs: - - test-native - env: - PQCLEAN_ONLY_SCHEMES: sphincs-haraka-256f-simple - CCACHE_NOSTATS: 1 - CCACHE_SLOPPINESS: include_file_mtime - # XCode version - DEVELOPER_DIR: /Applications/Xcode_11.5.app/Contents/Developer - strategy: - matrix: - compiler: - - clang # XCode (Apple LLVM/Clang) - - gcc9 # GNU (Homebrew) - runs-on: macos-latest - steps: - - uses: actions/checkout@v2 - with: - submodules: true - - name: Install astyle - run: | - brew install astyle - - name: Set up GCC9 compiler - run: 'export PATH="/usr/local/bin:$PATH" && export CC=gcc-9' - if: matrix.compiler == 'gcc9' - - name: Setup Python - uses: actions/setup-python@main - with: - python-version: "3.x" - - name: Install Python dependencies - run: python -m pip install -U -r requirements.txt - - name: Run tests - run: | - cd test - python -m pytest --verbose --numprocesses=auto - diff --git a/.github/workflows/sign_sphincs-haraka-256s-robust.yml b/.github/workflows/sign_sphincs-haraka-256s-robust.yml deleted file mode 100644 index bb35b4b5..00000000 --- a/.github/workflows/sign_sphincs-haraka-256s-robust.yml +++ /dev/null @@ -1,204 +0,0 @@ -on: - push: - paths: - # build if tests change - - 'test/**' - # do not build if other schemes duplicate_consistency files change - - '!test/duplicate_consistency/*.yml' - - 'test/duplicate_consistency/sphincs-haraka-256s-robust*.yml' - # build if common files change - - 'common/**' - # build if scheme changed - - 'crypto_sign/sphincs-haraka-256s-robust/**' - # build if workflow file changed - - '.github/workflows/sign_sphincs-haraka-256s-robust.yml' - # Build if any files in the root change, except .md files - - '*' - - '!*.md' - pull_request: - paths: - # build if tests change - - 'test/**' - # do not build if other schemes duplicate_consistency files change - - '!test/duplicate_consistency/*.yml' - - 'test/duplicate_consistency/sphincs-haraka-256s-robust*.yml' - # build if common files change - - 'common/**' - # build if scheme changed - - 'crypto_sign/sphincs-haraka-256s-robust/**' - # build if workflow file changed - - '.github/workflows/sign_sphincs-haraka-256s-robust.yml' - # Build if any files in the root change, except .md files - - '*' - - '!*.md' - schedule: - - cron: '5 4 * * *' - -name: Test sphincs-haraka-256s-robust - -jobs: - test-native: - runs-on: ubuntu-latest - container: - image: pqclean/ci-container:${{ matrix.arch }} - env: - PQCLEAN_ONLY_SCHEMES: sphincs-haraka-256s-robust - CC: ccache ${{ matrix.cc }} - CCACHE_NOSTATS: 1 - CCACHE_DIR: /ccache - CCACHE_SLOPPINESS: include_file_mtime - strategy: - matrix: - arch: - - amd64 - - i386 - cc: - - gcc - - clang - steps: - - name: Cancel Previous Runs - uses: thomwiggers/cancel-workflow-action@all_but_latest - with: - all_but_latest: true - access_token: ${{ github.token }} - continue-on-error: true - if: matrix.arch == 'amd64' && matrix.cc == 'gcc' - - uses: actions/checkout@v2 - with: - submodules: true - - name: Cache ccache - uses: actions/cache@v2 - env: - cache-name: cache-ccache - with: - path: /ccache - key: v1-${{ runner.os }}-build-${{ env.cache-name }}-${{ matrix.cc }}-${{ env.GITHUB_WORKFLOW }}-${{ matrix.arch }} - - name: Cache pip - uses: actions/cache@v2 - env: - cache-name: cache-python-pip - with: - path: ~/.cache/pip - key: v1-python-pip - - name: Install python dependencies - run: | - python3 -m pip install -U -r requirements.txt - - name: Run tests - run: | - cd test - python3 -m pytest --verbose --numprocesses=auto - test-emulated: - needs: - - test-native - runs-on: ubuntu-latest - strategy: - matrix: - arch: - - armhf - - unstable-ppc - cc: - - gcc - - clang - env: - CC: ${{ matrix.cc }} - steps: - - name: Register qemu-user-static - run: | - docker run --rm --privileged multiarch/qemu-user-static:register --reset - - uses: actions/checkout@v2 - with: - submodules: true - - name: Cache ccache - uses: actions/cache@v2 - env: - cache-name: cache-ccache - with: - path: ~/ccache - key: v1-${{ runner.os }}-build-${{ env.cache-name }}-${{ matrix.cc }}-${{ env.GITHUB_WORKFLOW }}-${{ matrix.arch }} - - name: Cache pip - uses: actions/cache@v2 - env: - cache-name: cache-python-pip - with: - path: ~/.cache/pip - key: v1-python-pip - - name: Run tests in container - run: | - docker run --rm -e CI -e CC -e PQCLEAN_ONLY_SCHEMES=sphincs-haraka-256s-robust -v $PWD:$PWD -w $PWD -v ~/ccache:/ccache pqclean/ci-container:${{ matrix.arch }} /bin/bash -c "\ - export CCACHE_NOSTATS=1 && \ - export CCACHE_DIR=/ccache && \ - export CCACHE_SLOPPINESS=include_file_mtime && \ - export CC=\"ccache $CC\" && \ - pip3 install -U -r requirements.txt && \ - cd test && \ - python3 -m pytest --verbose --numprocesses=auto" - test-windows: - needs: - - test-native - strategy: - matrix: - bits: - - 64 - - 32 - env: - PQCLEAN_ONLY_SCHEMES: sphincs-haraka-256s-robust - runs-on: windows-latest - steps: - - uses: actions/checkout@v2 - with: - submodules: true - - name: Setup astyle - run: | - # Setup strong crypto - Set-ItemProperty -Path "HKLM:\\SOFTWARE\\Wow6432Node\\Microsoft\\.NetFramework\\v4.0.30319" -Name 'SchUseStrongCrypto' -Value '1' -Type DWord - Set-ItemProperty -Path "HKLM:\\SOFTWARE\\Microsoft\\.NetFramework\\v4.0.30319" -Name "SchUseStrongCrypto" -Value '1' -Type DWord - Invoke-WebRequest -OutFile "test\\astyle.exe" "https://rded.nl/pqclean/AStyle.exe" - shell: powershell - - name: Setup Python - uses: actions/setup-python@main - with: - python-version: "3.x" - - name: Install python requirements - run: python -m pip install -U -r requirements.txt - - name: Run tests - run: | - call "C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Enterprise\\VC\\Auxiliary\\Build\\vcvars${{ matrix.bits }}.bat" - cd test - python -m pytest --verbose --numprocesses=auto - shell: cmd - test-macos: - needs: - - test-native - env: - PQCLEAN_ONLY_SCHEMES: sphincs-haraka-256s-robust - CCACHE_NOSTATS: 1 - CCACHE_SLOPPINESS: include_file_mtime - # XCode version - DEVELOPER_DIR: /Applications/Xcode_11.5.app/Contents/Developer - strategy: - matrix: - compiler: - - clang # XCode (Apple LLVM/Clang) - - gcc9 # GNU (Homebrew) - runs-on: macos-latest - steps: - - uses: actions/checkout@v2 - with: - submodules: true - - name: Install astyle - run: | - brew install astyle - - name: Set up GCC9 compiler - run: 'export PATH="/usr/local/bin:$PATH" && export CC=gcc-9' - if: matrix.compiler == 'gcc9' - - name: Setup Python - uses: actions/setup-python@main - with: - python-version: "3.x" - - name: Install Python dependencies - run: python -m pip install -U -r requirements.txt - - name: Run tests - run: | - cd test - python -m pytest --verbose --numprocesses=auto - diff --git a/.github/workflows/sign_sphincs-haraka-256s-simple.yml b/.github/workflows/sign_sphincs-haraka-256s-simple.yml deleted file mode 100644 index 9e9d3ae9..00000000 --- a/.github/workflows/sign_sphincs-haraka-256s-simple.yml +++ /dev/null @@ -1,204 +0,0 @@ -on: - push: - paths: - # build if tests change - - 'test/**' - # do not build if other schemes duplicate_consistency files change - - '!test/duplicate_consistency/*.yml' - - 'test/duplicate_consistency/sphincs-haraka-256s-simple*.yml' - # build if common files change - - 'common/**' - # build if scheme changed - - 'crypto_sign/sphincs-haraka-256s-simple/**' - # build if workflow file changed - - '.github/workflows/sign_sphincs-haraka-256s-simple.yml' - # Build if any files in the root change, except .md files - - '*' - - '!*.md' - pull_request: - paths: - # build if tests change - - 'test/**' - # do not build if other schemes duplicate_consistency files change - - '!test/duplicate_consistency/*.yml' - - 'test/duplicate_consistency/sphincs-haraka-256s-simple*.yml' - # build if common files change - - 'common/**' - # build if scheme changed - - 'crypto_sign/sphincs-haraka-256s-simple/**' - # build if workflow file changed - - '.github/workflows/sign_sphincs-haraka-256s-simple.yml' - # Build if any files in the root change, except .md files - - '*' - - '!*.md' - schedule: - - cron: '5 4 * * *' - -name: Test sphincs-haraka-256s-simple - -jobs: - test-native: - runs-on: ubuntu-latest - container: - image: pqclean/ci-container:${{ matrix.arch }} - env: - PQCLEAN_ONLY_SCHEMES: sphincs-haraka-256s-simple - CC: ccache ${{ matrix.cc }} - CCACHE_NOSTATS: 1 - CCACHE_DIR: /ccache - CCACHE_SLOPPINESS: include_file_mtime - strategy: - matrix: - arch: - - amd64 - - i386 - cc: - - gcc - - clang - steps: - - name: Cancel Previous Runs - uses: thomwiggers/cancel-workflow-action@all_but_latest - with: - all_but_latest: true - access_token: ${{ github.token }} - continue-on-error: true - if: matrix.arch == 'amd64' && matrix.cc == 'gcc' - - uses: actions/checkout@v2 - with: - submodules: true - - name: Cache ccache - uses: actions/cache@v2 - env: - cache-name: cache-ccache - with: - path: /ccache - key: v1-${{ runner.os }}-build-${{ env.cache-name }}-${{ matrix.cc }}-${{ env.GITHUB_WORKFLOW }}-${{ matrix.arch }} - - name: Cache pip - uses: actions/cache@v2 - env: - cache-name: cache-python-pip - with: - path: ~/.cache/pip - key: v1-python-pip - - name: Install python dependencies - run: | - python3 -m pip install -U -r requirements.txt - - name: Run tests - run: | - cd test - python3 -m pytest --verbose --numprocesses=auto - test-emulated: - needs: - - test-native - runs-on: ubuntu-latest - strategy: - matrix: - arch: - - armhf - - unstable-ppc - cc: - - gcc - - clang - env: - CC: ${{ matrix.cc }} - steps: - - name: Register qemu-user-static - run: | - docker run --rm --privileged multiarch/qemu-user-static:register --reset - - uses: actions/checkout@v2 - with: - submodules: true - - name: Cache ccache - uses: actions/cache@v2 - env: - cache-name: cache-ccache - with: - path: ~/ccache - key: v1-${{ runner.os }}-build-${{ env.cache-name }}-${{ matrix.cc }}-${{ env.GITHUB_WORKFLOW }}-${{ matrix.arch }} - - name: Cache pip - uses: actions/cache@v2 - env: - cache-name: cache-python-pip - with: - path: ~/.cache/pip - key: v1-python-pip - - name: Run tests in container - run: | - docker run --rm -e CI -e CC -e PQCLEAN_ONLY_SCHEMES=sphincs-haraka-256s-simple -v $PWD:$PWD -w $PWD -v ~/ccache:/ccache pqclean/ci-container:${{ matrix.arch }} /bin/bash -c "\ - export CCACHE_NOSTATS=1 && \ - export CCACHE_DIR=/ccache && \ - export CCACHE_SLOPPINESS=include_file_mtime && \ - export CC=\"ccache $CC\" && \ - pip3 install -U -r requirements.txt && \ - cd test && \ - python3 -m pytest --verbose --numprocesses=auto" - test-windows: - needs: - - test-native - strategy: - matrix: - bits: - - 64 - - 32 - env: - PQCLEAN_ONLY_SCHEMES: sphincs-haraka-256s-simple - runs-on: windows-latest - steps: - - uses: actions/checkout@v2 - with: - submodules: true - - name: Setup astyle - run: | - # Setup strong crypto - Set-ItemProperty -Path "HKLM:\\SOFTWARE\\Wow6432Node\\Microsoft\\.NetFramework\\v4.0.30319" -Name 'SchUseStrongCrypto' -Value '1' -Type DWord - Set-ItemProperty -Path "HKLM:\\SOFTWARE\\Microsoft\\.NetFramework\\v4.0.30319" -Name "SchUseStrongCrypto" -Value '1' -Type DWord - Invoke-WebRequest -OutFile "test\\astyle.exe" "https://rded.nl/pqclean/AStyle.exe" - shell: powershell - - name: Setup Python - uses: actions/setup-python@main - with: - python-version: "3.x" - - name: Install python requirements - run: python -m pip install -U -r requirements.txt - - name: Run tests - run: | - call "C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Enterprise\\VC\\Auxiliary\\Build\\vcvars${{ matrix.bits }}.bat" - cd test - python -m pytest --verbose --numprocesses=auto - shell: cmd - test-macos: - needs: - - test-native - env: - PQCLEAN_ONLY_SCHEMES: sphincs-haraka-256s-simple - CCACHE_NOSTATS: 1 - CCACHE_SLOPPINESS: include_file_mtime - # XCode version - DEVELOPER_DIR: /Applications/Xcode_11.5.app/Contents/Developer - strategy: - matrix: - compiler: - - clang # XCode (Apple LLVM/Clang) - - gcc9 # GNU (Homebrew) - runs-on: macos-latest - steps: - - uses: actions/checkout@v2 - with: - submodules: true - - name: Install astyle - run: | - brew install astyle - - name: Set up GCC9 compiler - run: 'export PATH="/usr/local/bin:$PATH" && export CC=gcc-9' - if: matrix.compiler == 'gcc9' - - name: Setup Python - uses: actions/setup-python@main - with: - python-version: "3.x" - - name: Install Python dependencies - run: python -m pip install -U -r requirements.txt - - name: Run tests - run: | - cd test - python -m pytest --verbose --numprocesses=auto - diff --git a/.github/workflows/sign_sphincs-sha256-128f-robust.yml b/.github/workflows/sign_sphincs-sha256-128f-robust.yml deleted file mode 100644 index 50e8cb3b..00000000 --- a/.github/workflows/sign_sphincs-sha256-128f-robust.yml +++ /dev/null @@ -1,204 +0,0 @@ -on: - push: - paths: - # build if tests change - - 'test/**' - # do not build if other schemes duplicate_consistency files change - - '!test/duplicate_consistency/*.yml' - - 'test/duplicate_consistency/sphincs-sha256-128f-robust*.yml' - # build if common files change - - 'common/**' - # build if scheme changed - - 'crypto_sign/sphincs-sha256-128f-robust/**' - # build if workflow file changed - - '.github/workflows/sign_sphincs-sha256-128f-robust.yml' - # Build if any files in the root change, except .md files - - '*' - - '!*.md' - pull_request: - paths: - # build if tests change - - 'test/**' - # do not build if other schemes duplicate_consistency files change - - '!test/duplicate_consistency/*.yml' - - 'test/duplicate_consistency/sphincs-sha256-128f-robust*.yml' - # build if common files change - - 'common/**' - # build if scheme changed - - 'crypto_sign/sphincs-sha256-128f-robust/**' - # build if workflow file changed - - '.github/workflows/sign_sphincs-sha256-128f-robust.yml' - # Build if any files in the root change, except .md files - - '*' - - '!*.md' - schedule: - - cron: '5 4 * * *' - -name: Test sphincs-sha256-128f-robust - -jobs: - test-native: - runs-on: ubuntu-latest - container: - image: pqclean/ci-container:${{ matrix.arch }} - env: - PQCLEAN_ONLY_SCHEMES: sphincs-sha256-128f-robust - CC: ccache ${{ matrix.cc }} - CCACHE_NOSTATS: 1 - CCACHE_DIR: /ccache - CCACHE_SLOPPINESS: include_file_mtime - strategy: - matrix: - arch: - - amd64 - - i386 - cc: - - gcc - - clang - steps: - - name: Cancel Previous Runs - uses: thomwiggers/cancel-workflow-action@all_but_latest - with: - all_but_latest: true - access_token: ${{ github.token }} - continue-on-error: true - if: matrix.arch == 'amd64' && matrix.cc == 'gcc' - - uses: actions/checkout@v2 - with: - submodules: true - - name: Cache ccache - uses: actions/cache@v2 - env: - cache-name: cache-ccache - with: - path: /ccache - key: v1-${{ runner.os }}-build-${{ env.cache-name }}-${{ matrix.cc }}-${{ env.GITHUB_WORKFLOW }}-${{ matrix.arch }} - - name: Cache pip - uses: actions/cache@v2 - env: - cache-name: cache-python-pip - with: - path: ~/.cache/pip - key: v1-python-pip - - name: Install python dependencies - run: | - python3 -m pip install -U -r requirements.txt - - name: Run tests - run: | - cd test - python3 -m pytest --verbose --numprocesses=auto - test-emulated: - needs: - - test-native - runs-on: ubuntu-latest - strategy: - matrix: - arch: - - armhf - - unstable-ppc - cc: - - gcc - - clang - env: - CC: ${{ matrix.cc }} - steps: - - name: Register qemu-user-static - run: | - docker run --rm --privileged multiarch/qemu-user-static:register --reset - - uses: actions/checkout@v2 - with: - submodules: true - - name: Cache ccache - uses: actions/cache@v2 - env: - cache-name: cache-ccache - with: - path: ~/ccache - key: v1-${{ runner.os }}-build-${{ env.cache-name }}-${{ matrix.cc }}-${{ env.GITHUB_WORKFLOW }}-${{ matrix.arch }} - - name: Cache pip - uses: actions/cache@v2 - env: - cache-name: cache-python-pip - with: - path: ~/.cache/pip - key: v1-python-pip - - name: Run tests in container - run: | - docker run --rm -e CI -e CC -e PQCLEAN_ONLY_SCHEMES=sphincs-sha256-128f-robust -v $PWD:$PWD -w $PWD -v ~/ccache:/ccache pqclean/ci-container:${{ matrix.arch }} /bin/bash -c "\ - export CCACHE_NOSTATS=1 && \ - export CCACHE_DIR=/ccache && \ - export CCACHE_SLOPPINESS=include_file_mtime && \ - export CC=\"ccache $CC\" && \ - pip3 install -U -r requirements.txt && \ - cd test && \ - python3 -m pytest --verbose --numprocesses=auto" - test-windows: - needs: - - test-native - strategy: - matrix: - bits: - - 64 - - 32 - env: - PQCLEAN_ONLY_SCHEMES: sphincs-sha256-128f-robust - runs-on: windows-latest - steps: - - uses: actions/checkout@v2 - with: - submodules: true - - name: Setup astyle - run: | - # Setup strong crypto - Set-ItemProperty -Path "HKLM:\\SOFTWARE\\Wow6432Node\\Microsoft\\.NetFramework\\v4.0.30319" -Name 'SchUseStrongCrypto' -Value '1' -Type DWord - Set-ItemProperty -Path "HKLM:\\SOFTWARE\\Microsoft\\.NetFramework\\v4.0.30319" -Name "SchUseStrongCrypto" -Value '1' -Type DWord - Invoke-WebRequest -OutFile "test\\astyle.exe" "https://rded.nl/pqclean/AStyle.exe" - shell: powershell - - name: Setup Python - uses: actions/setup-python@main - with: - python-version: "3.x" - - name: Install python requirements - run: python -m pip install -U -r requirements.txt - - name: Run tests - run: | - call "C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Enterprise\\VC\\Auxiliary\\Build\\vcvars${{ matrix.bits }}.bat" - cd test - python -m pytest --verbose --numprocesses=auto - shell: cmd - test-macos: - needs: - - test-native - env: - PQCLEAN_ONLY_SCHEMES: sphincs-sha256-128f-robust - CCACHE_NOSTATS: 1 - CCACHE_SLOPPINESS: include_file_mtime - # XCode version - DEVELOPER_DIR: /Applications/Xcode_11.5.app/Contents/Developer - strategy: - matrix: - compiler: - - clang # XCode (Apple LLVM/Clang) - - gcc9 # GNU (Homebrew) - runs-on: macos-latest - steps: - - uses: actions/checkout@v2 - with: - submodules: true - - name: Install astyle - run: | - brew install astyle - - name: Set up GCC9 compiler - run: 'export PATH="/usr/local/bin:$PATH" && export CC=gcc-9' - if: matrix.compiler == 'gcc9' - - name: Setup Python - uses: actions/setup-python@main - with: - python-version: "3.x" - - name: Install Python dependencies - run: python -m pip install -U -r requirements.txt - - name: Run tests - run: | - cd test - python -m pytest --verbose --numprocesses=auto - diff --git a/.github/workflows/sign_sphincs-sha256-128f-simple.yml b/.github/workflows/sign_sphincs-sha256-128f-simple.yml deleted file mode 100644 index e2fc958b..00000000 --- a/.github/workflows/sign_sphincs-sha256-128f-simple.yml +++ /dev/null @@ -1,204 +0,0 @@ -on: - push: - paths: - # build if tests change - - 'test/**' - # do not build if other schemes duplicate_consistency files change - - '!test/duplicate_consistency/*.yml' - - 'test/duplicate_consistency/sphincs-sha256-128f-simple*.yml' - # build if common files change - - 'common/**' - # build if scheme changed - - 'crypto_sign/sphincs-sha256-128f-simple/**' - # build if workflow file changed - - '.github/workflows/sign_sphincs-sha256-128f-simple.yml' - # Build if any files in the root change, except .md files - - '*' - - '!*.md' - pull_request: - paths: - # build if tests change - - 'test/**' - # do not build if other schemes duplicate_consistency files change - - '!test/duplicate_consistency/*.yml' - - 'test/duplicate_consistency/sphincs-sha256-128f-simple*.yml' - # build if common files change - - 'common/**' - # build if scheme changed - - 'crypto_sign/sphincs-sha256-128f-simple/**' - # build if workflow file changed - - '.github/workflows/sign_sphincs-sha256-128f-simple.yml' - # Build if any files in the root change, except .md files - - '*' - - '!*.md' - schedule: - - cron: '5 4 * * *' - -name: Test sphincs-sha256-128f-simple - -jobs: - test-native: - runs-on: ubuntu-latest - container: - image: pqclean/ci-container:${{ matrix.arch }} - env: - PQCLEAN_ONLY_SCHEMES: sphincs-sha256-128f-simple - CC: ccache ${{ matrix.cc }} - CCACHE_NOSTATS: 1 - CCACHE_DIR: /ccache - CCACHE_SLOPPINESS: include_file_mtime - strategy: - matrix: - arch: - - amd64 - - i386 - cc: - - gcc - - clang - steps: - - name: Cancel Previous Runs - uses: thomwiggers/cancel-workflow-action@all_but_latest - with: - all_but_latest: true - access_token: ${{ github.token }} - continue-on-error: true - if: matrix.arch == 'amd64' && matrix.cc == 'gcc' - - uses: actions/checkout@v2 - with: - submodules: true - - name: Cache ccache - uses: actions/cache@v2 - env: - cache-name: cache-ccache - with: - path: /ccache - key: v1-${{ runner.os }}-build-${{ env.cache-name }}-${{ matrix.cc }}-${{ env.GITHUB_WORKFLOW }}-${{ matrix.arch }} - - name: Cache pip - uses: actions/cache@v2 - env: - cache-name: cache-python-pip - with: - path: ~/.cache/pip - key: v1-python-pip - - name: Install python dependencies - run: | - python3 -m pip install -U -r requirements.txt - - name: Run tests - run: | - cd test - python3 -m pytest --verbose --numprocesses=auto - test-emulated: - needs: - - test-native - runs-on: ubuntu-latest - strategy: - matrix: - arch: - - armhf - - unstable-ppc - cc: - - gcc - - clang - env: - CC: ${{ matrix.cc }} - steps: - - name: Register qemu-user-static - run: | - docker run --rm --privileged multiarch/qemu-user-static:register --reset - - uses: actions/checkout@v2 - with: - submodules: true - - name: Cache ccache - uses: actions/cache@v2 - env: - cache-name: cache-ccache - with: - path: ~/ccache - key: v1-${{ runner.os }}-build-${{ env.cache-name }}-${{ matrix.cc }}-${{ env.GITHUB_WORKFLOW }}-${{ matrix.arch }} - - name: Cache pip - uses: actions/cache@v2 - env: - cache-name: cache-python-pip - with: - path: ~/.cache/pip - key: v1-python-pip - - name: Run tests in container - run: | - docker run --rm -e CI -e CC -e PQCLEAN_ONLY_SCHEMES=sphincs-sha256-128f-simple -v $PWD:$PWD -w $PWD -v ~/ccache:/ccache pqclean/ci-container:${{ matrix.arch }} /bin/bash -c "\ - export CCACHE_NOSTATS=1 && \ - export CCACHE_DIR=/ccache && \ - export CCACHE_SLOPPINESS=include_file_mtime && \ - export CC=\"ccache $CC\" && \ - pip3 install -U -r requirements.txt && \ - cd test && \ - python3 -m pytest --verbose --numprocesses=auto" - test-windows: - needs: - - test-native - strategy: - matrix: - bits: - - 64 - - 32 - env: - PQCLEAN_ONLY_SCHEMES: sphincs-sha256-128f-simple - runs-on: windows-latest - steps: - - uses: actions/checkout@v2 - with: - submodules: true - - name: Setup astyle - run: | - # Setup strong crypto - Set-ItemProperty -Path "HKLM:\\SOFTWARE\\Wow6432Node\\Microsoft\\.NetFramework\\v4.0.30319" -Name 'SchUseStrongCrypto' -Value '1' -Type DWord - Set-ItemProperty -Path "HKLM:\\SOFTWARE\\Microsoft\\.NetFramework\\v4.0.30319" -Name "SchUseStrongCrypto" -Value '1' -Type DWord - Invoke-WebRequest -OutFile "test\\astyle.exe" "https://rded.nl/pqclean/AStyle.exe" - shell: powershell - - name: Setup Python - uses: actions/setup-python@main - with: - python-version: "3.x" - - name: Install python requirements - run: python -m pip install -U -r requirements.txt - - name: Run tests - run: | - call "C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Enterprise\\VC\\Auxiliary\\Build\\vcvars${{ matrix.bits }}.bat" - cd test - python -m pytest --verbose --numprocesses=auto - shell: cmd - test-macos: - needs: - - test-native - env: - PQCLEAN_ONLY_SCHEMES: sphincs-sha256-128f-simple - CCACHE_NOSTATS: 1 - CCACHE_SLOPPINESS: include_file_mtime - # XCode version - DEVELOPER_DIR: /Applications/Xcode_11.5.app/Contents/Developer - strategy: - matrix: - compiler: - - clang # XCode (Apple LLVM/Clang) - - gcc9 # GNU (Homebrew) - runs-on: macos-latest - steps: - - uses: actions/checkout@v2 - with: - submodules: true - - name: Install astyle - run: | - brew install astyle - - name: Set up GCC9 compiler - run: 'export PATH="/usr/local/bin:$PATH" && export CC=gcc-9' - if: matrix.compiler == 'gcc9' - - name: Setup Python - uses: actions/setup-python@main - with: - python-version: "3.x" - - name: Install Python dependencies - run: python -m pip install -U -r requirements.txt - - name: Run tests - run: | - cd test - python -m pytest --verbose --numprocesses=auto - diff --git a/.github/workflows/sign_sphincs-sha256-128s-robust.yml b/.github/workflows/sign_sphincs-sha256-128s-robust.yml deleted file mode 100644 index 9bf5b7d7..00000000 --- a/.github/workflows/sign_sphincs-sha256-128s-robust.yml +++ /dev/null @@ -1,204 +0,0 @@ -on: - push: - paths: - # build if tests change - - 'test/**' - # do not build if other schemes duplicate_consistency files change - - '!test/duplicate_consistency/*.yml' - - 'test/duplicate_consistency/sphincs-sha256-128s-robust*.yml' - # build if common files change - - 'common/**' - # build if scheme changed - - 'crypto_sign/sphincs-sha256-128s-robust/**' - # build if workflow file changed - - '.github/workflows/sign_sphincs-sha256-128s-robust.yml' - # Build if any files in the root change, except .md files - - '*' - - '!*.md' - pull_request: - paths: - # build if tests change - - 'test/**' - # do not build if other schemes duplicate_consistency files change - - '!test/duplicate_consistency/*.yml' - - 'test/duplicate_consistency/sphincs-sha256-128s-robust*.yml' - # build if common files change - - 'common/**' - # build if scheme changed - - 'crypto_sign/sphincs-sha256-128s-robust/**' - # build if workflow file changed - - '.github/workflows/sign_sphincs-sha256-128s-robust.yml' - # Build if any files in the root change, except .md files - - '*' - - '!*.md' - schedule: - - cron: '5 4 * * *' - -name: Test sphincs-sha256-128s-robust - -jobs: - test-native: - runs-on: ubuntu-latest - container: - image: pqclean/ci-container:${{ matrix.arch }} - env: - PQCLEAN_ONLY_SCHEMES: sphincs-sha256-128s-robust - CC: ccache ${{ matrix.cc }} - CCACHE_NOSTATS: 1 - CCACHE_DIR: /ccache - CCACHE_SLOPPINESS: include_file_mtime - strategy: - matrix: - arch: - - amd64 - - i386 - cc: - - gcc - - clang - steps: - - name: Cancel Previous Runs - uses: thomwiggers/cancel-workflow-action@all_but_latest - with: - all_but_latest: true - access_token: ${{ github.token }} - continue-on-error: true - if: matrix.arch == 'amd64' && matrix.cc == 'gcc' - - uses: actions/checkout@v2 - with: - submodules: true - - name: Cache ccache - uses: actions/cache@v2 - env: - cache-name: cache-ccache - with: - path: /ccache - key: v1-${{ runner.os }}-build-${{ env.cache-name }}-${{ matrix.cc }}-${{ env.GITHUB_WORKFLOW }}-${{ matrix.arch }} - - name: Cache pip - uses: actions/cache@v2 - env: - cache-name: cache-python-pip - with: - path: ~/.cache/pip - key: v1-python-pip - - name: Install python dependencies - run: | - python3 -m pip install -U -r requirements.txt - - name: Run tests - run: | - cd test - python3 -m pytest --verbose --numprocesses=auto - test-emulated: - needs: - - test-native - runs-on: ubuntu-latest - strategy: - matrix: - arch: - - armhf - - unstable-ppc - cc: - - gcc - - clang - env: - CC: ${{ matrix.cc }} - steps: - - name: Register qemu-user-static - run: | - docker run --rm --privileged multiarch/qemu-user-static:register --reset - - uses: actions/checkout@v2 - with: - submodules: true - - name: Cache ccache - uses: actions/cache@v2 - env: - cache-name: cache-ccache - with: - path: ~/ccache - key: v1-${{ runner.os }}-build-${{ env.cache-name }}-${{ matrix.cc }}-${{ env.GITHUB_WORKFLOW }}-${{ matrix.arch }} - - name: Cache pip - uses: actions/cache@v2 - env: - cache-name: cache-python-pip - with: - path: ~/.cache/pip - key: v1-python-pip - - name: Run tests in container - run: | - docker run --rm -e CI -e CC -e PQCLEAN_ONLY_SCHEMES=sphincs-sha256-128s-robust -v $PWD:$PWD -w $PWD -v ~/ccache:/ccache pqclean/ci-container:${{ matrix.arch }} /bin/bash -c "\ - export CCACHE_NOSTATS=1 && \ - export CCACHE_DIR=/ccache && \ - export CCACHE_SLOPPINESS=include_file_mtime && \ - export CC=\"ccache $CC\" && \ - pip3 install -U -r requirements.txt && \ - cd test && \ - python3 -m pytest --verbose --numprocesses=auto" - test-windows: - needs: - - test-native - strategy: - matrix: - bits: - - 64 - - 32 - env: - PQCLEAN_ONLY_SCHEMES: sphincs-sha256-128s-robust - runs-on: windows-latest - steps: - - uses: actions/checkout@v2 - with: - submodules: true - - name: Setup astyle - run: | - # Setup strong crypto - Set-ItemProperty -Path "HKLM:\\SOFTWARE\\Wow6432Node\\Microsoft\\.NetFramework\\v4.0.30319" -Name 'SchUseStrongCrypto' -Value '1' -Type DWord - Set-ItemProperty -Path "HKLM:\\SOFTWARE\\Microsoft\\.NetFramework\\v4.0.30319" -Name "SchUseStrongCrypto" -Value '1' -Type DWord - Invoke-WebRequest -OutFile "test\\astyle.exe" "https://rded.nl/pqclean/AStyle.exe" - shell: powershell - - name: Setup Python - uses: actions/setup-python@main - with: - python-version: "3.x" - - name: Install python requirements - run: python -m pip install -U -r requirements.txt - - name: Run tests - run: | - call "C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Enterprise\\VC\\Auxiliary\\Build\\vcvars${{ matrix.bits }}.bat" - cd test - python -m pytest --verbose --numprocesses=auto - shell: cmd - test-macos: - needs: - - test-native - env: - PQCLEAN_ONLY_SCHEMES: sphincs-sha256-128s-robust - CCACHE_NOSTATS: 1 - CCACHE_SLOPPINESS: include_file_mtime - # XCode version - DEVELOPER_DIR: /Applications/Xcode_11.5.app/Contents/Developer - strategy: - matrix: - compiler: - - clang # XCode (Apple LLVM/Clang) - - gcc9 # GNU (Homebrew) - runs-on: macos-latest - steps: - - uses: actions/checkout@v2 - with: - submodules: true - - name: Install astyle - run: | - brew install astyle - - name: Set up GCC9 compiler - run: 'export PATH="/usr/local/bin:$PATH" && export CC=gcc-9' - if: matrix.compiler == 'gcc9' - - name: Setup Python - uses: actions/setup-python@main - with: - python-version: "3.x" - - name: Install Python dependencies - run: python -m pip install -U -r requirements.txt - - name: Run tests - run: | - cd test - python -m pytest --verbose --numprocesses=auto - diff --git a/.github/workflows/sign_sphincs-sha256-128s-simple.yml b/.github/workflows/sign_sphincs-sha256-128s-simple.yml deleted file mode 100644 index ff227a4a..00000000 --- a/.github/workflows/sign_sphincs-sha256-128s-simple.yml +++ /dev/null @@ -1,204 +0,0 @@ -on: - push: - paths: - # build if tests change - - 'test/**' - # do not build if other schemes duplicate_consistency files change - - '!test/duplicate_consistency/*.yml' - - 'test/duplicate_consistency/sphincs-sha256-128s-simple*.yml' - # build if common files change - - 'common/**' - # build if scheme changed - - 'crypto_sign/sphincs-sha256-128s-simple/**' - # build if workflow file changed - - '.github/workflows/sign_sphincs-sha256-128s-simple.yml' - # Build if any files in the root change, except .md files - - '*' - - '!*.md' - pull_request: - paths: - # build if tests change - - 'test/**' - # do not build if other schemes duplicate_consistency files change - - '!test/duplicate_consistency/*.yml' - - 'test/duplicate_consistency/sphincs-sha256-128s-simple*.yml' - # build if common files change - - 'common/**' - # build if scheme changed - - 'crypto_sign/sphincs-sha256-128s-simple/**' - # build if workflow file changed - - '.github/workflows/sign_sphincs-sha256-128s-simple.yml' - # Build if any files in the root change, except .md files - - '*' - - '!*.md' - schedule: - - cron: '5 4 * * *' - -name: Test sphincs-sha256-128s-simple - -jobs: - test-native: - runs-on: ubuntu-latest - container: - image: pqclean/ci-container:${{ matrix.arch }} - env: - PQCLEAN_ONLY_SCHEMES: sphincs-sha256-128s-simple - CC: ccache ${{ matrix.cc }} - CCACHE_NOSTATS: 1 - CCACHE_DIR: /ccache - CCACHE_SLOPPINESS: include_file_mtime - strategy: - matrix: - arch: - - amd64 - - i386 - cc: - - gcc - - clang - steps: - - name: Cancel Previous Runs - uses: thomwiggers/cancel-workflow-action@all_but_latest - with: - all_but_latest: true - access_token: ${{ github.token }} - continue-on-error: true - if: matrix.arch == 'amd64' && matrix.cc == 'gcc' - - uses: actions/checkout@v2 - with: - submodules: true - - name: Cache ccache - uses: actions/cache@v2 - env: - cache-name: cache-ccache - with: - path: /ccache - key: v1-${{ runner.os }}-build-${{ env.cache-name }}-${{ matrix.cc }}-${{ env.GITHUB_WORKFLOW }}-${{ matrix.arch }} - - name: Cache pip - uses: actions/cache@v2 - env: - cache-name: cache-python-pip - with: - path: ~/.cache/pip - key: v1-python-pip - - name: Install python dependencies - run: | - python3 -m pip install -U -r requirements.txt - - name: Run tests - run: | - cd test - python3 -m pytest --verbose --numprocesses=auto - test-emulated: - needs: - - test-native - runs-on: ubuntu-latest - strategy: - matrix: - arch: - - armhf - - unstable-ppc - cc: - - gcc - - clang - env: - CC: ${{ matrix.cc }} - steps: - - name: Register qemu-user-static - run: | - docker run --rm --privileged multiarch/qemu-user-static:register --reset - - uses: actions/checkout@v2 - with: - submodules: true - - name: Cache ccache - uses: actions/cache@v2 - env: - cache-name: cache-ccache - with: - path: ~/ccache - key: v1-${{ runner.os }}-build-${{ env.cache-name }}-${{ matrix.cc }}-${{ env.GITHUB_WORKFLOW }}-${{ matrix.arch }} - - name: Cache pip - uses: actions/cache@v2 - env: - cache-name: cache-python-pip - with: - path: ~/.cache/pip - key: v1-python-pip - - name: Run tests in container - run: | - docker run --rm -e CI -e CC -e PQCLEAN_ONLY_SCHEMES=sphincs-sha256-128s-simple -v $PWD:$PWD -w $PWD -v ~/ccache:/ccache pqclean/ci-container:${{ matrix.arch }} /bin/bash -c "\ - export CCACHE_NOSTATS=1 && \ - export CCACHE_DIR=/ccache && \ - export CCACHE_SLOPPINESS=include_file_mtime && \ - export CC=\"ccache $CC\" && \ - pip3 install -U -r requirements.txt && \ - cd test && \ - python3 -m pytest --verbose --numprocesses=auto" - test-windows: - needs: - - test-native - strategy: - matrix: - bits: - - 64 - - 32 - env: - PQCLEAN_ONLY_SCHEMES: sphincs-sha256-128s-simple - runs-on: windows-latest - steps: - - uses: actions/checkout@v2 - with: - submodules: true - - name: Setup astyle - run: | - # Setup strong crypto - Set-ItemProperty -Path "HKLM:\\SOFTWARE\\Wow6432Node\\Microsoft\\.NetFramework\\v4.0.30319" -Name 'SchUseStrongCrypto' -Value '1' -Type DWord - Set-ItemProperty -Path "HKLM:\\SOFTWARE\\Microsoft\\.NetFramework\\v4.0.30319" -Name "SchUseStrongCrypto" -Value '1' -Type DWord - Invoke-WebRequest -OutFile "test\\astyle.exe" "https://rded.nl/pqclean/AStyle.exe" - shell: powershell - - name: Setup Python - uses: actions/setup-python@main - with: - python-version: "3.x" - - name: Install python requirements - run: python -m pip install -U -r requirements.txt - - name: Run tests - run: | - call "C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Enterprise\\VC\\Auxiliary\\Build\\vcvars${{ matrix.bits }}.bat" - cd test - python -m pytest --verbose --numprocesses=auto - shell: cmd - test-macos: - needs: - - test-native - env: - PQCLEAN_ONLY_SCHEMES: sphincs-sha256-128s-simple - CCACHE_NOSTATS: 1 - CCACHE_SLOPPINESS: include_file_mtime - # XCode version - DEVELOPER_DIR: /Applications/Xcode_11.5.app/Contents/Developer - strategy: - matrix: - compiler: - - clang # XCode (Apple LLVM/Clang) - - gcc9 # GNU (Homebrew) - runs-on: macos-latest - steps: - - uses: actions/checkout@v2 - with: - submodules: true - - name: Install astyle - run: | - brew install astyle - - name: Set up GCC9 compiler - run: 'export PATH="/usr/local/bin:$PATH" && export CC=gcc-9' - if: matrix.compiler == 'gcc9' - - name: Setup Python - uses: actions/setup-python@main - with: - python-version: "3.x" - - name: Install Python dependencies - run: python -m pip install -U -r requirements.txt - - name: Run tests - run: | - cd test - python -m pytest --verbose --numprocesses=auto - diff --git a/.github/workflows/sign_sphincs-sha256-192f-robust.yml b/.github/workflows/sign_sphincs-sha256-192f-robust.yml deleted file mode 100644 index b9bdf607..00000000 --- a/.github/workflows/sign_sphincs-sha256-192f-robust.yml +++ /dev/null @@ -1,204 +0,0 @@ -on: - push: - paths: - # build if tests change - - 'test/**' - # do not build if other schemes duplicate_consistency files change - - '!test/duplicate_consistency/*.yml' - - 'test/duplicate_consistency/sphincs-sha256-192f-robust*.yml' - # build if common files change - - 'common/**' - # build if scheme changed - - 'crypto_sign/sphincs-sha256-192f-robust/**' - # build if workflow file changed - - '.github/workflows/sign_sphincs-sha256-192f-robust.yml' - # Build if any files in the root change, except .md files - - '*' - - '!*.md' - pull_request: - paths: - # build if tests change - - 'test/**' - # do not build if other schemes duplicate_consistency files change - - '!test/duplicate_consistency/*.yml' - - 'test/duplicate_consistency/sphincs-sha256-192f-robust*.yml' - # build if common files change - - 'common/**' - # build if scheme changed - - 'crypto_sign/sphincs-sha256-192f-robust/**' - # build if workflow file changed - - '.github/workflows/sign_sphincs-sha256-192f-robust.yml' - # Build if any files in the root change, except .md files - - '*' - - '!*.md' - schedule: - - cron: '5 4 * * *' - -name: Test sphincs-sha256-192f-robust - -jobs: - test-native: - runs-on: ubuntu-latest - container: - image: pqclean/ci-container:${{ matrix.arch }} - env: - PQCLEAN_ONLY_SCHEMES: sphincs-sha256-192f-robust - CC: ccache ${{ matrix.cc }} - CCACHE_NOSTATS: 1 - CCACHE_DIR: /ccache - CCACHE_SLOPPINESS: include_file_mtime - strategy: - matrix: - arch: - - amd64 - - i386 - cc: - - gcc - - clang - steps: - - name: Cancel Previous Runs - uses: thomwiggers/cancel-workflow-action@all_but_latest - with: - all_but_latest: true - access_token: ${{ github.token }} - continue-on-error: true - if: matrix.arch == 'amd64' && matrix.cc == 'gcc' - - uses: actions/checkout@v2 - with: - submodules: true - - name: Cache ccache - uses: actions/cache@v2 - env: - cache-name: cache-ccache - with: - path: /ccache - key: v1-${{ runner.os }}-build-${{ env.cache-name }}-${{ matrix.cc }}-${{ env.GITHUB_WORKFLOW }}-${{ matrix.arch }} - - name: Cache pip - uses: actions/cache@v2 - env: - cache-name: cache-python-pip - with: - path: ~/.cache/pip - key: v1-python-pip - - name: Install python dependencies - run: | - python3 -m pip install -U -r requirements.txt - - name: Run tests - run: | - cd test - python3 -m pytest --verbose --numprocesses=auto - test-emulated: - needs: - - test-native - runs-on: ubuntu-latest - strategy: - matrix: - arch: - - armhf - - unstable-ppc - cc: - - gcc - - clang - env: - CC: ${{ matrix.cc }} - steps: - - name: Register qemu-user-static - run: | - docker run --rm --privileged multiarch/qemu-user-static:register --reset - - uses: actions/checkout@v2 - with: - submodules: true - - name: Cache ccache - uses: actions/cache@v2 - env: - cache-name: cache-ccache - with: - path: ~/ccache - key: v1-${{ runner.os }}-build-${{ env.cache-name }}-${{ matrix.cc }}-${{ env.GITHUB_WORKFLOW }}-${{ matrix.arch }} - - name: Cache pip - uses: actions/cache@v2 - env: - cache-name: cache-python-pip - with: - path: ~/.cache/pip - key: v1-python-pip - - name: Run tests in container - run: | - docker run --rm -e CI -e CC -e PQCLEAN_ONLY_SCHEMES=sphincs-sha256-192f-robust -v $PWD:$PWD -w $PWD -v ~/ccache:/ccache pqclean/ci-container:${{ matrix.arch }} /bin/bash -c "\ - export CCACHE_NOSTATS=1 && \ - export CCACHE_DIR=/ccache && \ - export CCACHE_SLOPPINESS=include_file_mtime && \ - export CC=\"ccache $CC\" && \ - pip3 install -U -r requirements.txt && \ - cd test && \ - python3 -m pytest --verbose --numprocesses=auto" - test-windows: - needs: - - test-native - strategy: - matrix: - bits: - - 64 - - 32 - env: - PQCLEAN_ONLY_SCHEMES: sphincs-sha256-192f-robust - runs-on: windows-latest - steps: - - uses: actions/checkout@v2 - with: - submodules: true - - name: Setup astyle - run: | - # Setup strong crypto - Set-ItemProperty -Path "HKLM:\\SOFTWARE\\Wow6432Node\\Microsoft\\.NetFramework\\v4.0.30319" -Name 'SchUseStrongCrypto' -Value '1' -Type DWord - Set-ItemProperty -Path "HKLM:\\SOFTWARE\\Microsoft\\.NetFramework\\v4.0.30319" -Name "SchUseStrongCrypto" -Value '1' -Type DWord - Invoke-WebRequest -OutFile "test\\astyle.exe" "https://rded.nl/pqclean/AStyle.exe" - shell: powershell - - name: Setup Python - uses: actions/setup-python@main - with: - python-version: "3.x" - - name: Install python requirements - run: python -m pip install -U -r requirements.txt - - name: Run tests - run: | - call "C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Enterprise\\VC\\Auxiliary\\Build\\vcvars${{ matrix.bits }}.bat" - cd test - python -m pytest --verbose --numprocesses=auto - shell: cmd - test-macos: - needs: - - test-native - env: - PQCLEAN_ONLY_SCHEMES: sphincs-sha256-192f-robust - CCACHE_NOSTATS: 1 - CCACHE_SLOPPINESS: include_file_mtime - # XCode version - DEVELOPER_DIR: /Applications/Xcode_11.5.app/Contents/Developer - strategy: - matrix: - compiler: - - clang # XCode (Apple LLVM/Clang) - - gcc9 # GNU (Homebrew) - runs-on: macos-latest - steps: - - uses: actions/checkout@v2 - with: - submodules: true - - name: Install astyle - run: | - brew install astyle - - name: Set up GCC9 compiler - run: 'export PATH="/usr/local/bin:$PATH" && export CC=gcc-9' - if: matrix.compiler == 'gcc9' - - name: Setup Python - uses: actions/setup-python@main - with: - python-version: "3.x" - - name: Install Python dependencies - run: python -m pip install -U -r requirements.txt - - name: Run tests - run: | - cd test - python -m pytest --verbose --numprocesses=auto - diff --git a/.github/workflows/sign_sphincs-sha256-192f-simple.yml b/.github/workflows/sign_sphincs-sha256-192f-simple.yml deleted file mode 100644 index 7ede4fd0..00000000 --- a/.github/workflows/sign_sphincs-sha256-192f-simple.yml +++ /dev/null @@ -1,204 +0,0 @@ -on: - push: - paths: - # build if tests change - - 'test/**' - # do not build if other schemes duplicate_consistency files change - - '!test/duplicate_consistency/*.yml' - - 'test/duplicate_consistency/sphincs-sha256-192f-simple*.yml' - # build if common files change - - 'common/**' - # build if scheme changed - - 'crypto_sign/sphincs-sha256-192f-simple/**' - # build if workflow file changed - - '.github/workflows/sign_sphincs-sha256-192f-simple.yml' - # Build if any files in the root change, except .md files - - '*' - - '!*.md' - pull_request: - paths: - # build if tests change - - 'test/**' - # do not build if other schemes duplicate_consistency files change - - '!test/duplicate_consistency/*.yml' - - 'test/duplicate_consistency/sphincs-sha256-192f-simple*.yml' - # build if common files change - - 'common/**' - # build if scheme changed - - 'crypto_sign/sphincs-sha256-192f-simple/**' - # build if workflow file changed - - '.github/workflows/sign_sphincs-sha256-192f-simple.yml' - # Build if any files in the root change, except .md files - - '*' - - '!*.md' - schedule: - - cron: '5 4 * * *' - -name: Test sphincs-sha256-192f-simple - -jobs: - test-native: - runs-on: ubuntu-latest - container: - image: pqclean/ci-container:${{ matrix.arch }} - env: - PQCLEAN_ONLY_SCHEMES: sphincs-sha256-192f-simple - CC: ccache ${{ matrix.cc }} - CCACHE_NOSTATS: 1 - CCACHE_DIR: /ccache - CCACHE_SLOPPINESS: include_file_mtime - strategy: - matrix: - arch: - - amd64 - - i386 - cc: - - gcc - - clang - steps: - - name: Cancel Previous Runs - uses: thomwiggers/cancel-workflow-action@all_but_latest - with: - all_but_latest: true - access_token: ${{ github.token }} - continue-on-error: true - if: matrix.arch == 'amd64' && matrix.cc == 'gcc' - - uses: actions/checkout@v2 - with: - submodules: true - - name: Cache ccache - uses: actions/cache@v2 - env: - cache-name: cache-ccache - with: - path: /ccache - key: v1-${{ runner.os }}-build-${{ env.cache-name }}-${{ matrix.cc }}-${{ env.GITHUB_WORKFLOW }}-${{ matrix.arch }} - - name: Cache pip - uses: actions/cache@v2 - env: - cache-name: cache-python-pip - with: - path: ~/.cache/pip - key: v1-python-pip - - name: Install python dependencies - run: | - python3 -m pip install -U -r requirements.txt - - name: Run tests - run: | - cd test - python3 -m pytest --verbose --numprocesses=auto - test-emulated: - needs: - - test-native - runs-on: ubuntu-latest - strategy: - matrix: - arch: - - armhf - - unstable-ppc - cc: - - gcc - - clang - env: - CC: ${{ matrix.cc }} - steps: - - name: Register qemu-user-static - run: | - docker run --rm --privileged multiarch/qemu-user-static:register --reset - - uses: actions/checkout@v2 - with: - submodules: true - - name: Cache ccache - uses: actions/cache@v2 - env: - cache-name: cache-ccache - with: - path: ~/ccache - key: v1-${{ runner.os }}-build-${{ env.cache-name }}-${{ matrix.cc }}-${{ env.GITHUB_WORKFLOW }}-${{ matrix.arch }} - - name: Cache pip - uses: actions/cache@v2 - env: - cache-name: cache-python-pip - with: - path: ~/.cache/pip - key: v1-python-pip - - name: Run tests in container - run: | - docker run --rm -e CI -e CC -e PQCLEAN_ONLY_SCHEMES=sphincs-sha256-192f-simple -v $PWD:$PWD -w $PWD -v ~/ccache:/ccache pqclean/ci-container:${{ matrix.arch }} /bin/bash -c "\ - export CCACHE_NOSTATS=1 && \ - export CCACHE_DIR=/ccache && \ - export CCACHE_SLOPPINESS=include_file_mtime && \ - export CC=\"ccache $CC\" && \ - pip3 install -U -r requirements.txt && \ - cd test && \ - python3 -m pytest --verbose --numprocesses=auto" - test-windows: - needs: - - test-native - strategy: - matrix: - bits: - - 64 - - 32 - env: - PQCLEAN_ONLY_SCHEMES: sphincs-sha256-192f-simple - runs-on: windows-latest - steps: - - uses: actions/checkout@v2 - with: - submodules: true - - name: Setup astyle - run: | - # Setup strong crypto - Set-ItemProperty -Path "HKLM:\\SOFTWARE\\Wow6432Node\\Microsoft\\.NetFramework\\v4.0.30319" -Name 'SchUseStrongCrypto' -Value '1' -Type DWord - Set-ItemProperty -Path "HKLM:\\SOFTWARE\\Microsoft\\.NetFramework\\v4.0.30319" -Name "SchUseStrongCrypto" -Value '1' -Type DWord - Invoke-WebRequest -OutFile "test\\astyle.exe" "https://rded.nl/pqclean/AStyle.exe" - shell: powershell - - name: Setup Python - uses: actions/setup-python@main - with: - python-version: "3.x" - - name: Install python requirements - run: python -m pip install -U -r requirements.txt - - name: Run tests - run: | - call "C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Enterprise\\VC\\Auxiliary\\Build\\vcvars${{ matrix.bits }}.bat" - cd test - python -m pytest --verbose --numprocesses=auto - shell: cmd - test-macos: - needs: - - test-native - env: - PQCLEAN_ONLY_SCHEMES: sphincs-sha256-192f-simple - CCACHE_NOSTATS: 1 - CCACHE_SLOPPINESS: include_file_mtime - # XCode version - DEVELOPER_DIR: /Applications/Xcode_11.5.app/Contents/Developer - strategy: - matrix: - compiler: - - clang # XCode (Apple LLVM/Clang) - - gcc9 # GNU (Homebrew) - runs-on: macos-latest - steps: - - uses: actions/checkout@v2 - with: - submodules: true - - name: Install astyle - run: | - brew install astyle - - name: Set up GCC9 compiler - run: 'export PATH="/usr/local/bin:$PATH" && export CC=gcc-9' - if: matrix.compiler == 'gcc9' - - name: Setup Python - uses: actions/setup-python@main - with: - python-version: "3.x" - - name: Install Python dependencies - run: python -m pip install -U -r requirements.txt - - name: Run tests - run: | - cd test - python -m pytest --verbose --numprocesses=auto - diff --git a/.github/workflows/sign_sphincs-sha256-192s-robust.yml b/.github/workflows/sign_sphincs-sha256-192s-robust.yml deleted file mode 100644 index 2150bfc4..00000000 --- a/.github/workflows/sign_sphincs-sha256-192s-robust.yml +++ /dev/null @@ -1,204 +0,0 @@ -on: - push: - paths: - # build if tests change - - 'test/**' - # do not build if other schemes duplicate_consistency files change - - '!test/duplicate_consistency/*.yml' - - 'test/duplicate_consistency/sphincs-sha256-192s-robust*.yml' - # build if common files change - - 'common/**' - # build if scheme changed - - 'crypto_sign/sphincs-sha256-192s-robust/**' - # build if workflow file changed - - '.github/workflows/sign_sphincs-sha256-192s-robust.yml' - # Build if any files in the root change, except .md files - - '*' - - '!*.md' - pull_request: - paths: - # build if tests change - - 'test/**' - # do not build if other schemes duplicate_consistency files change - - '!test/duplicate_consistency/*.yml' - - 'test/duplicate_consistency/sphincs-sha256-192s-robust*.yml' - # build if common files change - - 'common/**' - # build if scheme changed - - 'crypto_sign/sphincs-sha256-192s-robust/**' - # build if workflow file changed - - '.github/workflows/sign_sphincs-sha256-192s-robust.yml' - # Build if any files in the root change, except .md files - - '*' - - '!*.md' - schedule: - - cron: '5 4 * * *' - -name: Test sphincs-sha256-192s-robust - -jobs: - test-native: - runs-on: ubuntu-latest - container: - image: pqclean/ci-container:${{ matrix.arch }} - env: - PQCLEAN_ONLY_SCHEMES: sphincs-sha256-192s-robust - CC: ccache ${{ matrix.cc }} - CCACHE_NOSTATS: 1 - CCACHE_DIR: /ccache - CCACHE_SLOPPINESS: include_file_mtime - strategy: - matrix: - arch: - - amd64 - - i386 - cc: - - gcc - - clang - steps: - - name: Cancel Previous Runs - uses: thomwiggers/cancel-workflow-action@all_but_latest - with: - all_but_latest: true - access_token: ${{ github.token }} - continue-on-error: true - if: matrix.arch == 'amd64' && matrix.cc == 'gcc' - - uses: actions/checkout@v2 - with: - submodules: true - - name: Cache ccache - uses: actions/cache@v2 - env: - cache-name: cache-ccache - with: - path: /ccache - key: v1-${{ runner.os }}-build-${{ env.cache-name }}-${{ matrix.cc }}-${{ env.GITHUB_WORKFLOW }}-${{ matrix.arch }} - - name: Cache pip - uses: actions/cache@v2 - env: - cache-name: cache-python-pip - with: - path: ~/.cache/pip - key: v1-python-pip - - name: Install python dependencies - run: | - python3 -m pip install -U -r requirements.txt - - name: Run tests - run: | - cd test - python3 -m pytest --verbose --numprocesses=auto - test-emulated: - needs: - - test-native - runs-on: ubuntu-latest - strategy: - matrix: - arch: - - armhf - - unstable-ppc - cc: - - gcc - - clang - env: - CC: ${{ matrix.cc }} - steps: - - name: Register qemu-user-static - run: | - docker run --rm --privileged multiarch/qemu-user-static:register --reset - - uses: actions/checkout@v2 - with: - submodules: true - - name: Cache ccache - uses: actions/cache@v2 - env: - cache-name: cache-ccache - with: - path: ~/ccache - key: v1-${{ runner.os }}-build-${{ env.cache-name }}-${{ matrix.cc }}-${{ env.GITHUB_WORKFLOW }}-${{ matrix.arch }} - - name: Cache pip - uses: actions/cache@v2 - env: - cache-name: cache-python-pip - with: - path: ~/.cache/pip - key: v1-python-pip - - name: Run tests in container - run: | - docker run --rm -e CI -e CC -e PQCLEAN_ONLY_SCHEMES=sphincs-sha256-192s-robust -v $PWD:$PWD -w $PWD -v ~/ccache:/ccache pqclean/ci-container:${{ matrix.arch }} /bin/bash -c "\ - export CCACHE_NOSTATS=1 && \ - export CCACHE_DIR=/ccache && \ - export CCACHE_SLOPPINESS=include_file_mtime && \ - export CC=\"ccache $CC\" && \ - pip3 install -U -r requirements.txt && \ - cd test && \ - python3 -m pytest --verbose --numprocesses=auto" - test-windows: - needs: - - test-native - strategy: - matrix: - bits: - - 64 - - 32 - env: - PQCLEAN_ONLY_SCHEMES: sphincs-sha256-192s-robust - runs-on: windows-latest - steps: - - uses: actions/checkout@v2 - with: - submodules: true - - name: Setup astyle - run: | - # Setup strong crypto - Set-ItemProperty -Path "HKLM:\\SOFTWARE\\Wow6432Node\\Microsoft\\.NetFramework\\v4.0.30319" -Name 'SchUseStrongCrypto' -Value '1' -Type DWord - Set-ItemProperty -Path "HKLM:\\SOFTWARE\\Microsoft\\.NetFramework\\v4.0.30319" -Name "SchUseStrongCrypto" -Value '1' -Type DWord - Invoke-WebRequest -OutFile "test\\astyle.exe" "https://rded.nl/pqclean/AStyle.exe" - shell: powershell - - name: Setup Python - uses: actions/setup-python@main - with: - python-version: "3.x" - - name: Install python requirements - run: python -m pip install -U -r requirements.txt - - name: Run tests - run: | - call "C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Enterprise\\VC\\Auxiliary\\Build\\vcvars${{ matrix.bits }}.bat" - cd test - python -m pytest --verbose --numprocesses=auto - shell: cmd - test-macos: - needs: - - test-native - env: - PQCLEAN_ONLY_SCHEMES: sphincs-sha256-192s-robust - CCACHE_NOSTATS: 1 - CCACHE_SLOPPINESS: include_file_mtime - # XCode version - DEVELOPER_DIR: /Applications/Xcode_11.5.app/Contents/Developer - strategy: - matrix: - compiler: - - clang # XCode (Apple LLVM/Clang) - - gcc9 # GNU (Homebrew) - runs-on: macos-latest - steps: - - uses: actions/checkout@v2 - with: - submodules: true - - name: Install astyle - run: | - brew install astyle - - name: Set up GCC9 compiler - run: 'export PATH="/usr/local/bin:$PATH" && export CC=gcc-9' - if: matrix.compiler == 'gcc9' - - name: Setup Python - uses: actions/setup-python@main - with: - python-version: "3.x" - - name: Install Python dependencies - run: python -m pip install -U -r requirements.txt - - name: Run tests - run: | - cd test - python -m pytest --verbose --numprocesses=auto - diff --git a/.github/workflows/sign_sphincs-sha256-192s-simple.yml b/.github/workflows/sign_sphincs-sha256-192s-simple.yml deleted file mode 100644 index 077d4d83..00000000 --- a/.github/workflows/sign_sphincs-sha256-192s-simple.yml +++ /dev/null @@ -1,204 +0,0 @@ -on: - push: - paths: - # build if tests change - - 'test/**' - # do not build if other schemes duplicate_consistency files change - - '!test/duplicate_consistency/*.yml' - - 'test/duplicate_consistency/sphincs-sha256-192s-simple*.yml' - # build if common files change - - 'common/**' - # build if scheme changed - - 'crypto_sign/sphincs-sha256-192s-simple/**' - # build if workflow file changed - - '.github/workflows/sign_sphincs-sha256-192s-simple.yml' - # Build if any files in the root change, except .md files - - '*' - - '!*.md' - pull_request: - paths: - # build if tests change - - 'test/**' - # do not build if other schemes duplicate_consistency files change - - '!test/duplicate_consistency/*.yml' - - 'test/duplicate_consistency/sphincs-sha256-192s-simple*.yml' - # build if common files change - - 'common/**' - # build if scheme changed - - 'crypto_sign/sphincs-sha256-192s-simple/**' - # build if workflow file changed - - '.github/workflows/sign_sphincs-sha256-192s-simple.yml' - # Build if any files in the root change, except .md files - - '*' - - '!*.md' - schedule: - - cron: '5 4 * * *' - -name: Test sphincs-sha256-192s-simple - -jobs: - test-native: - runs-on: ubuntu-latest - container: - image: pqclean/ci-container:${{ matrix.arch }} - env: - PQCLEAN_ONLY_SCHEMES: sphincs-sha256-192s-simple - CC: ccache ${{ matrix.cc }} - CCACHE_NOSTATS: 1 - CCACHE_DIR: /ccache - CCACHE_SLOPPINESS: include_file_mtime - strategy: - matrix: - arch: - - amd64 - - i386 - cc: - - gcc - - clang - steps: - - name: Cancel Previous Runs - uses: thomwiggers/cancel-workflow-action@all_but_latest - with: - all_but_latest: true - access_token: ${{ github.token }} - continue-on-error: true - if: matrix.arch == 'amd64' && matrix.cc == 'gcc' - - uses: actions/checkout@v2 - with: - submodules: true - - name: Cache ccache - uses: actions/cache@v2 - env: - cache-name: cache-ccache - with: - path: /ccache - key: v1-${{ runner.os }}-build-${{ env.cache-name }}-${{ matrix.cc }}-${{ env.GITHUB_WORKFLOW }}-${{ matrix.arch }} - - name: Cache pip - uses: actions/cache@v2 - env: - cache-name: cache-python-pip - with: - path: ~/.cache/pip - key: v1-python-pip - - name: Install python dependencies - run: | - python3 -m pip install -U -r requirements.txt - - name: Run tests - run: | - cd test - python3 -m pytest --verbose --numprocesses=auto - test-emulated: - needs: - - test-native - runs-on: ubuntu-latest - strategy: - matrix: - arch: - - armhf - - unstable-ppc - cc: - - gcc - - clang - env: - CC: ${{ matrix.cc }} - steps: - - name: Register qemu-user-static - run: | - docker run --rm --privileged multiarch/qemu-user-static:register --reset - - uses: actions/checkout@v2 - with: - submodules: true - - name: Cache ccache - uses: actions/cache@v2 - env: - cache-name: cache-ccache - with: - path: ~/ccache - key: v1-${{ runner.os }}-build-${{ env.cache-name }}-${{ matrix.cc }}-${{ env.GITHUB_WORKFLOW }}-${{ matrix.arch }} - - name: Cache pip - uses: actions/cache@v2 - env: - cache-name: cache-python-pip - with: - path: ~/.cache/pip - key: v1-python-pip - - name: Run tests in container - run: | - docker run --rm -e CI -e CC -e PQCLEAN_ONLY_SCHEMES=sphincs-sha256-192s-simple -v $PWD:$PWD -w $PWD -v ~/ccache:/ccache pqclean/ci-container:${{ matrix.arch }} /bin/bash -c "\ - export CCACHE_NOSTATS=1 && \ - export CCACHE_DIR=/ccache && \ - export CCACHE_SLOPPINESS=include_file_mtime && \ - export CC=\"ccache $CC\" && \ - pip3 install -U -r requirements.txt && \ - cd test && \ - python3 -m pytest --verbose --numprocesses=auto" - test-windows: - needs: - - test-native - strategy: - matrix: - bits: - - 64 - - 32 - env: - PQCLEAN_ONLY_SCHEMES: sphincs-sha256-192s-simple - runs-on: windows-latest - steps: - - uses: actions/checkout@v2 - with: - submodules: true - - name: Setup astyle - run: | - # Setup strong crypto - Set-ItemProperty -Path "HKLM:\\SOFTWARE\\Wow6432Node\\Microsoft\\.NetFramework\\v4.0.30319" -Name 'SchUseStrongCrypto' -Value '1' -Type DWord - Set-ItemProperty -Path "HKLM:\\SOFTWARE\\Microsoft\\.NetFramework\\v4.0.30319" -Name "SchUseStrongCrypto" -Value '1' -Type DWord - Invoke-WebRequest -OutFile "test\\astyle.exe" "https://rded.nl/pqclean/AStyle.exe" - shell: powershell - - name: Setup Python - uses: actions/setup-python@main - with: - python-version: "3.x" - - name: Install python requirements - run: python -m pip install -U -r requirements.txt - - name: Run tests - run: | - call "C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Enterprise\\VC\\Auxiliary\\Build\\vcvars${{ matrix.bits }}.bat" - cd test - python -m pytest --verbose --numprocesses=auto - shell: cmd - test-macos: - needs: - - test-native - env: - PQCLEAN_ONLY_SCHEMES: sphincs-sha256-192s-simple - CCACHE_NOSTATS: 1 - CCACHE_SLOPPINESS: include_file_mtime - # XCode version - DEVELOPER_DIR: /Applications/Xcode_11.5.app/Contents/Developer - strategy: - matrix: - compiler: - - clang # XCode (Apple LLVM/Clang) - - gcc9 # GNU (Homebrew) - runs-on: macos-latest - steps: - - uses: actions/checkout@v2 - with: - submodules: true - - name: Install astyle - run: | - brew install astyle - - name: Set up GCC9 compiler - run: 'export PATH="/usr/local/bin:$PATH" && export CC=gcc-9' - if: matrix.compiler == 'gcc9' - - name: Setup Python - uses: actions/setup-python@main - with: - python-version: "3.x" - - name: Install Python dependencies - run: python -m pip install -U -r requirements.txt - - name: Run tests - run: | - cd test - python -m pytest --verbose --numprocesses=auto - diff --git a/.github/workflows/sign_sphincs-sha256-256f-robust.yml b/.github/workflows/sign_sphincs-sha256-256f-robust.yml deleted file mode 100644 index 7e0787fd..00000000 --- a/.github/workflows/sign_sphincs-sha256-256f-robust.yml +++ /dev/null @@ -1,204 +0,0 @@ -on: - push: - paths: - # build if tests change - - 'test/**' - # do not build if other schemes duplicate_consistency files change - - '!test/duplicate_consistency/*.yml' - - 'test/duplicate_consistency/sphincs-sha256-256f-robust*.yml' - # build if common files change - - 'common/**' - # build if scheme changed - - 'crypto_sign/sphincs-sha256-256f-robust/**' - # build if workflow file changed - - '.github/workflows/sign_sphincs-sha256-256f-robust.yml' - # Build if any files in the root change, except .md files - - '*' - - '!*.md' - pull_request: - paths: - # build if tests change - - 'test/**' - # do not build if other schemes duplicate_consistency files change - - '!test/duplicate_consistency/*.yml' - - 'test/duplicate_consistency/sphincs-sha256-256f-robust*.yml' - # build if common files change - - 'common/**' - # build if scheme changed - - 'crypto_sign/sphincs-sha256-256f-robust/**' - # build if workflow file changed - - '.github/workflows/sign_sphincs-sha256-256f-robust.yml' - # Build if any files in the root change, except .md files - - '*' - - '!*.md' - schedule: - - cron: '5 4 * * *' - -name: Test sphincs-sha256-256f-robust - -jobs: - test-native: - runs-on: ubuntu-latest - container: - image: pqclean/ci-container:${{ matrix.arch }} - env: - PQCLEAN_ONLY_SCHEMES: sphincs-sha256-256f-robust - CC: ccache ${{ matrix.cc }} - CCACHE_NOSTATS: 1 - CCACHE_DIR: /ccache - CCACHE_SLOPPINESS: include_file_mtime - strategy: - matrix: - arch: - - amd64 - - i386 - cc: - - gcc - - clang - steps: - - name: Cancel Previous Runs - uses: thomwiggers/cancel-workflow-action@all_but_latest - with: - all_but_latest: true - access_token: ${{ github.token }} - continue-on-error: true - if: matrix.arch == 'amd64' && matrix.cc == 'gcc' - - uses: actions/checkout@v2 - with: - submodules: true - - name: Cache ccache - uses: actions/cache@v2 - env: - cache-name: cache-ccache - with: - path: /ccache - key: v1-${{ runner.os }}-build-${{ env.cache-name }}-${{ matrix.cc }}-${{ env.GITHUB_WORKFLOW }}-${{ matrix.arch }} - - name: Cache pip - uses: actions/cache@v2 - env: - cache-name: cache-python-pip - with: - path: ~/.cache/pip - key: v1-python-pip - - name: Install python dependencies - run: | - python3 -m pip install -U -r requirements.txt - - name: Run tests - run: | - cd test - python3 -m pytest --verbose --numprocesses=auto - test-emulated: - needs: - - test-native - runs-on: ubuntu-latest - strategy: - matrix: - arch: - - armhf - - unstable-ppc - cc: - - gcc - - clang - env: - CC: ${{ matrix.cc }} - steps: - - name: Register qemu-user-static - run: | - docker run --rm --privileged multiarch/qemu-user-static:register --reset - - uses: actions/checkout@v2 - with: - submodules: true - - name: Cache ccache - uses: actions/cache@v2 - env: - cache-name: cache-ccache - with: - path: ~/ccache - key: v1-${{ runner.os }}-build-${{ env.cache-name }}-${{ matrix.cc }}-${{ env.GITHUB_WORKFLOW }}-${{ matrix.arch }} - - name: Cache pip - uses: actions/cache@v2 - env: - cache-name: cache-python-pip - with: - path: ~/.cache/pip - key: v1-python-pip - - name: Run tests in container - run: | - docker run --rm -e CI -e CC -e PQCLEAN_ONLY_SCHEMES=sphincs-sha256-256f-robust -v $PWD:$PWD -w $PWD -v ~/ccache:/ccache pqclean/ci-container:${{ matrix.arch }} /bin/bash -c "\ - export CCACHE_NOSTATS=1 && \ - export CCACHE_DIR=/ccache && \ - export CCACHE_SLOPPINESS=include_file_mtime && \ - export CC=\"ccache $CC\" && \ - pip3 install -U -r requirements.txt && \ - cd test && \ - python3 -m pytest --verbose --numprocesses=auto" - test-windows: - needs: - - test-native - strategy: - matrix: - bits: - - 64 - - 32 - env: - PQCLEAN_ONLY_SCHEMES: sphincs-sha256-256f-robust - runs-on: windows-latest - steps: - - uses: actions/checkout@v2 - with: - submodules: true - - name: Setup astyle - run: | - # Setup strong crypto - Set-ItemProperty -Path "HKLM:\\SOFTWARE\\Wow6432Node\\Microsoft\\.NetFramework\\v4.0.30319" -Name 'SchUseStrongCrypto' -Value '1' -Type DWord - Set-ItemProperty -Path "HKLM:\\SOFTWARE\\Microsoft\\.NetFramework\\v4.0.30319" -Name "SchUseStrongCrypto" -Value '1' -Type DWord - Invoke-WebRequest -OutFile "test\\astyle.exe" "https://rded.nl/pqclean/AStyle.exe" - shell: powershell - - name: Setup Python - uses: actions/setup-python@main - with: - python-version: "3.x" - - name: Install python requirements - run: python -m pip install -U -r requirements.txt - - name: Run tests - run: | - call "C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Enterprise\\VC\\Auxiliary\\Build\\vcvars${{ matrix.bits }}.bat" - cd test - python -m pytest --verbose --numprocesses=auto - shell: cmd - test-macos: - needs: - - test-native - env: - PQCLEAN_ONLY_SCHEMES: sphincs-sha256-256f-robust - CCACHE_NOSTATS: 1 - CCACHE_SLOPPINESS: include_file_mtime - # XCode version - DEVELOPER_DIR: /Applications/Xcode_11.5.app/Contents/Developer - strategy: - matrix: - compiler: - - clang # XCode (Apple LLVM/Clang) - - gcc9 # GNU (Homebrew) - runs-on: macos-latest - steps: - - uses: actions/checkout@v2 - with: - submodules: true - - name: Install astyle - run: | - brew install astyle - - name: Set up GCC9 compiler - run: 'export PATH="/usr/local/bin:$PATH" && export CC=gcc-9' - if: matrix.compiler == 'gcc9' - - name: Setup Python - uses: actions/setup-python@main - with: - python-version: "3.x" - - name: Install Python dependencies - run: python -m pip install -U -r requirements.txt - - name: Run tests - run: | - cd test - python -m pytest --verbose --numprocesses=auto - diff --git a/.github/workflows/sign_sphincs-sha256-256f-simple.yml b/.github/workflows/sign_sphincs-sha256-256f-simple.yml deleted file mode 100644 index e6167b47..00000000 --- a/.github/workflows/sign_sphincs-sha256-256f-simple.yml +++ /dev/null @@ -1,204 +0,0 @@ -on: - push: - paths: - # build if tests change - - 'test/**' - # do not build if other schemes duplicate_consistency files change - - '!test/duplicate_consistency/*.yml' - - 'test/duplicate_consistency/sphincs-sha256-256f-simple*.yml' - # build if common files change - - 'common/**' - # build if scheme changed - - 'crypto_sign/sphincs-sha256-256f-simple/**' - # build if workflow file changed - - '.github/workflows/sign_sphincs-sha256-256f-simple.yml' - # Build if any files in the root change, except .md files - - '*' - - '!*.md' - pull_request: - paths: - # build if tests change - - 'test/**' - # do not build if other schemes duplicate_consistency files change - - '!test/duplicate_consistency/*.yml' - - 'test/duplicate_consistency/sphincs-sha256-256f-simple*.yml' - # build if common files change - - 'common/**' - # build if scheme changed - - 'crypto_sign/sphincs-sha256-256f-simple/**' - # build if workflow file changed - - '.github/workflows/sign_sphincs-sha256-256f-simple.yml' - # Build if any files in the root change, except .md files - - '*' - - '!*.md' - schedule: - - cron: '5 4 * * *' - -name: Test sphincs-sha256-256f-simple - -jobs: - test-native: - runs-on: ubuntu-latest - container: - image: pqclean/ci-container:${{ matrix.arch }} - env: - PQCLEAN_ONLY_SCHEMES: sphincs-sha256-256f-simple - CC: ccache ${{ matrix.cc }} - CCACHE_NOSTATS: 1 - CCACHE_DIR: /ccache - CCACHE_SLOPPINESS: include_file_mtime - strategy: - matrix: - arch: - - amd64 - - i386 - cc: - - gcc - - clang - steps: - - name: Cancel Previous Runs - uses: thomwiggers/cancel-workflow-action@all_but_latest - with: - all_but_latest: true - access_token: ${{ github.token }} - continue-on-error: true - if: matrix.arch == 'amd64' && matrix.cc == 'gcc' - - uses: actions/checkout@v2 - with: - submodules: true - - name: Cache ccache - uses: actions/cache@v2 - env: - cache-name: cache-ccache - with: - path: /ccache - key: v1-${{ runner.os }}-build-${{ env.cache-name }}-${{ matrix.cc }}-${{ env.GITHUB_WORKFLOW }}-${{ matrix.arch }} - - name: Cache pip - uses: actions/cache@v2 - env: - cache-name: cache-python-pip - with: - path: ~/.cache/pip - key: v1-python-pip - - name: Install python dependencies - run: | - python3 -m pip install -U -r requirements.txt - - name: Run tests - run: | - cd test - python3 -m pytest --verbose --numprocesses=auto - test-emulated: - needs: - - test-native - runs-on: ubuntu-latest - strategy: - matrix: - arch: - - armhf - - unstable-ppc - cc: - - gcc - - clang - env: - CC: ${{ matrix.cc }} - steps: - - name: Register qemu-user-static - run: | - docker run --rm --privileged multiarch/qemu-user-static:register --reset - - uses: actions/checkout@v2 - with: - submodules: true - - name: Cache ccache - uses: actions/cache@v2 - env: - cache-name: cache-ccache - with: - path: ~/ccache - key: v1-${{ runner.os }}-build-${{ env.cache-name }}-${{ matrix.cc }}-${{ env.GITHUB_WORKFLOW }}-${{ matrix.arch }} - - name: Cache pip - uses: actions/cache@v2 - env: - cache-name: cache-python-pip - with: - path: ~/.cache/pip - key: v1-python-pip - - name: Run tests in container - run: | - docker run --rm -e CI -e CC -e PQCLEAN_ONLY_SCHEMES=sphincs-sha256-256f-simple -v $PWD:$PWD -w $PWD -v ~/ccache:/ccache pqclean/ci-container:${{ matrix.arch }} /bin/bash -c "\ - export CCACHE_NOSTATS=1 && \ - export CCACHE_DIR=/ccache && \ - export CCACHE_SLOPPINESS=include_file_mtime && \ - export CC=\"ccache $CC\" && \ - pip3 install -U -r requirements.txt && \ - cd test && \ - python3 -m pytest --verbose --numprocesses=auto" - test-windows: - needs: - - test-native - strategy: - matrix: - bits: - - 64 - - 32 - env: - PQCLEAN_ONLY_SCHEMES: sphincs-sha256-256f-simple - runs-on: windows-latest - steps: - - uses: actions/checkout@v2 - with: - submodules: true - - name: Setup astyle - run: | - # Setup strong crypto - Set-ItemProperty -Path "HKLM:\\SOFTWARE\\Wow6432Node\\Microsoft\\.NetFramework\\v4.0.30319" -Name 'SchUseStrongCrypto' -Value '1' -Type DWord - Set-ItemProperty -Path "HKLM:\\SOFTWARE\\Microsoft\\.NetFramework\\v4.0.30319" -Name "SchUseStrongCrypto" -Value '1' -Type DWord - Invoke-WebRequest -OutFile "test\\astyle.exe" "https://rded.nl/pqclean/AStyle.exe" - shell: powershell - - name: Setup Python - uses: actions/setup-python@main - with: - python-version: "3.x" - - name: Install python requirements - run: python -m pip install -U -r requirements.txt - - name: Run tests - run: | - call "C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Enterprise\\VC\\Auxiliary\\Build\\vcvars${{ matrix.bits }}.bat" - cd test - python -m pytest --verbose --numprocesses=auto - shell: cmd - test-macos: - needs: - - test-native - env: - PQCLEAN_ONLY_SCHEMES: sphincs-sha256-256f-simple - CCACHE_NOSTATS: 1 - CCACHE_SLOPPINESS: include_file_mtime - # XCode version - DEVELOPER_DIR: /Applications/Xcode_11.5.app/Contents/Developer - strategy: - matrix: - compiler: - - clang # XCode (Apple LLVM/Clang) - - gcc9 # GNU (Homebrew) - runs-on: macos-latest - steps: - - uses: actions/checkout@v2 - with: - submodules: true - - name: Install astyle - run: | - brew install astyle - - name: Set up GCC9 compiler - run: 'export PATH="/usr/local/bin:$PATH" && export CC=gcc-9' - if: matrix.compiler == 'gcc9' - - name: Setup Python - uses: actions/setup-python@main - with: - python-version: "3.x" - - name: Install Python dependencies - run: python -m pip install -U -r requirements.txt - - name: Run tests - run: | - cd test - python -m pytest --verbose --numprocesses=auto - diff --git a/.github/workflows/sign_sphincs-sha256-256s-robust.yml b/.github/workflows/sign_sphincs-sha256-256s-robust.yml deleted file mode 100644 index 4566fa23..00000000 --- a/.github/workflows/sign_sphincs-sha256-256s-robust.yml +++ /dev/null @@ -1,204 +0,0 @@ -on: - push: - paths: - # build if tests change - - 'test/**' - # do not build if other schemes duplicate_consistency files change - - '!test/duplicate_consistency/*.yml' - - 'test/duplicate_consistency/sphincs-sha256-256s-robust*.yml' - # build if common files change - - 'common/**' - # build if scheme changed - - 'crypto_sign/sphincs-sha256-256s-robust/**' - # build if workflow file changed - - '.github/workflows/sign_sphincs-sha256-256s-robust.yml' - # Build if any files in the root change, except .md files - - '*' - - '!*.md' - pull_request: - paths: - # build if tests change - - 'test/**' - # do not build if other schemes duplicate_consistency files change - - '!test/duplicate_consistency/*.yml' - - 'test/duplicate_consistency/sphincs-sha256-256s-robust*.yml' - # build if common files change - - 'common/**' - # build if scheme changed - - 'crypto_sign/sphincs-sha256-256s-robust/**' - # build if workflow file changed - - '.github/workflows/sign_sphincs-sha256-256s-robust.yml' - # Build if any files in the root change, except .md files - - '*' - - '!*.md' - schedule: - - cron: '5 4 * * *' - -name: Test sphincs-sha256-256s-robust - -jobs: - test-native: - runs-on: ubuntu-latest - container: - image: pqclean/ci-container:${{ matrix.arch }} - env: - PQCLEAN_ONLY_SCHEMES: sphincs-sha256-256s-robust - CC: ccache ${{ matrix.cc }} - CCACHE_NOSTATS: 1 - CCACHE_DIR: /ccache - CCACHE_SLOPPINESS: include_file_mtime - strategy: - matrix: - arch: - - amd64 - - i386 - cc: - - gcc - - clang - steps: - - name: Cancel Previous Runs - uses: thomwiggers/cancel-workflow-action@all_but_latest - with: - all_but_latest: true - access_token: ${{ github.token }} - continue-on-error: true - if: matrix.arch == 'amd64' && matrix.cc == 'gcc' - - uses: actions/checkout@v2 - with: - submodules: true - - name: Cache ccache - uses: actions/cache@v2 - env: - cache-name: cache-ccache - with: - path: /ccache - key: v1-${{ runner.os }}-build-${{ env.cache-name }}-${{ matrix.cc }}-${{ env.GITHUB_WORKFLOW }}-${{ matrix.arch }} - - name: Cache pip - uses: actions/cache@v2 - env: - cache-name: cache-python-pip - with: - path: ~/.cache/pip - key: v1-python-pip - - name: Install python dependencies - run: | - python3 -m pip install -U -r requirements.txt - - name: Run tests - run: | - cd test - python3 -m pytest --verbose --numprocesses=auto - test-emulated: - needs: - - test-native - runs-on: ubuntu-latest - strategy: - matrix: - arch: - - armhf - - unstable-ppc - cc: - - gcc - - clang - env: - CC: ${{ matrix.cc }} - steps: - - name: Register qemu-user-static - run: | - docker run --rm --privileged multiarch/qemu-user-static:register --reset - - uses: actions/checkout@v2 - with: - submodules: true - - name: Cache ccache - uses: actions/cache@v2 - env: - cache-name: cache-ccache - with: - path: ~/ccache - key: v1-${{ runner.os }}-build-${{ env.cache-name }}-${{ matrix.cc }}-${{ env.GITHUB_WORKFLOW }}-${{ matrix.arch }} - - name: Cache pip - uses: actions/cache@v2 - env: - cache-name: cache-python-pip - with: - path: ~/.cache/pip - key: v1-python-pip - - name: Run tests in container - run: | - docker run --rm -e CI -e CC -e PQCLEAN_ONLY_SCHEMES=sphincs-sha256-256s-robust -v $PWD:$PWD -w $PWD -v ~/ccache:/ccache pqclean/ci-container:${{ matrix.arch }} /bin/bash -c "\ - export CCACHE_NOSTATS=1 && \ - export CCACHE_DIR=/ccache && \ - export CCACHE_SLOPPINESS=include_file_mtime && \ - export CC=\"ccache $CC\" && \ - pip3 install -U -r requirements.txt && \ - cd test && \ - python3 -m pytest --verbose --numprocesses=auto" - test-windows: - needs: - - test-native - strategy: - matrix: - bits: - - 64 - - 32 - env: - PQCLEAN_ONLY_SCHEMES: sphincs-sha256-256s-robust - runs-on: windows-latest - steps: - - uses: actions/checkout@v2 - with: - submodules: true - - name: Setup astyle - run: | - # Setup strong crypto - Set-ItemProperty -Path "HKLM:\\SOFTWARE\\Wow6432Node\\Microsoft\\.NetFramework\\v4.0.30319" -Name 'SchUseStrongCrypto' -Value '1' -Type DWord - Set-ItemProperty -Path "HKLM:\\SOFTWARE\\Microsoft\\.NetFramework\\v4.0.30319" -Name "SchUseStrongCrypto" -Value '1' -Type DWord - Invoke-WebRequest -OutFile "test\\astyle.exe" "https://rded.nl/pqclean/AStyle.exe" - shell: powershell - - name: Setup Python - uses: actions/setup-python@main - with: - python-version: "3.x" - - name: Install python requirements - run: python -m pip install -U -r requirements.txt - - name: Run tests - run: | - call "C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Enterprise\\VC\\Auxiliary\\Build\\vcvars${{ matrix.bits }}.bat" - cd test - python -m pytest --verbose --numprocesses=auto - shell: cmd - test-macos: - needs: - - test-native - env: - PQCLEAN_ONLY_SCHEMES: sphincs-sha256-256s-robust - CCACHE_NOSTATS: 1 - CCACHE_SLOPPINESS: include_file_mtime - # XCode version - DEVELOPER_DIR: /Applications/Xcode_11.5.app/Contents/Developer - strategy: - matrix: - compiler: - - clang # XCode (Apple LLVM/Clang) - - gcc9 # GNU (Homebrew) - runs-on: macos-latest - steps: - - uses: actions/checkout@v2 - with: - submodules: true - - name: Install astyle - run: | - brew install astyle - - name: Set up GCC9 compiler - run: 'export PATH="/usr/local/bin:$PATH" && export CC=gcc-9' - if: matrix.compiler == 'gcc9' - - name: Setup Python - uses: actions/setup-python@main - with: - python-version: "3.x" - - name: Install Python dependencies - run: python -m pip install -U -r requirements.txt - - name: Run tests - run: | - cd test - python -m pytest --verbose --numprocesses=auto - diff --git a/.github/workflows/sign_sphincs-sha256-256s-simple.yml b/.github/workflows/sign_sphincs-sha256-256s-simple.yml deleted file mode 100644 index 963c6b1a..00000000 --- a/.github/workflows/sign_sphincs-sha256-256s-simple.yml +++ /dev/null @@ -1,204 +0,0 @@ -on: - push: - paths: - # build if tests change - - 'test/**' - # do not build if other schemes duplicate_consistency files change - - '!test/duplicate_consistency/*.yml' - - 'test/duplicate_consistency/sphincs-sha256-256s-simple*.yml' - # build if common files change - - 'common/**' - # build if scheme changed - - 'crypto_sign/sphincs-sha256-256s-simple/**' - # build if workflow file changed - - '.github/workflows/sign_sphincs-sha256-256s-simple.yml' - # Build if any files in the root change, except .md files - - '*' - - '!*.md' - pull_request: - paths: - # build if tests change - - 'test/**' - # do not build if other schemes duplicate_consistency files change - - '!test/duplicate_consistency/*.yml' - - 'test/duplicate_consistency/sphincs-sha256-256s-simple*.yml' - # build if common files change - - 'common/**' - # build if scheme changed - - 'crypto_sign/sphincs-sha256-256s-simple/**' - # build if workflow file changed - - '.github/workflows/sign_sphincs-sha256-256s-simple.yml' - # Build if any files in the root change, except .md files - - '*' - - '!*.md' - schedule: - - cron: '5 4 * * *' - -name: Test sphincs-sha256-256s-simple - -jobs: - test-native: - runs-on: ubuntu-latest - container: - image: pqclean/ci-container:${{ matrix.arch }} - env: - PQCLEAN_ONLY_SCHEMES: sphincs-sha256-256s-simple - CC: ccache ${{ matrix.cc }} - CCACHE_NOSTATS: 1 - CCACHE_DIR: /ccache - CCACHE_SLOPPINESS: include_file_mtime - strategy: - matrix: - arch: - - amd64 - - i386 - cc: - - gcc - - clang - steps: - - name: Cancel Previous Runs - uses: thomwiggers/cancel-workflow-action@all_but_latest - with: - all_but_latest: true - access_token: ${{ github.token }} - continue-on-error: true - if: matrix.arch == 'amd64' && matrix.cc == 'gcc' - - uses: actions/checkout@v2 - with: - submodules: true - - name: Cache ccache - uses: actions/cache@v2 - env: - cache-name: cache-ccache - with: - path: /ccache - key: v1-${{ runner.os }}-build-${{ env.cache-name }}-${{ matrix.cc }}-${{ env.GITHUB_WORKFLOW }}-${{ matrix.arch }} - - name: Cache pip - uses: actions/cache@v2 - env: - cache-name: cache-python-pip - with: - path: ~/.cache/pip - key: v1-python-pip - - name: Install python dependencies - run: | - python3 -m pip install -U -r requirements.txt - - name: Run tests - run: | - cd test - python3 -m pytest --verbose --numprocesses=auto - test-emulated: - needs: - - test-native - runs-on: ubuntu-latest - strategy: - matrix: - arch: - - armhf - - unstable-ppc - cc: - - gcc - - clang - env: - CC: ${{ matrix.cc }} - steps: - - name: Register qemu-user-static - run: | - docker run --rm --privileged multiarch/qemu-user-static:register --reset - - uses: actions/checkout@v2 - with: - submodules: true - - name: Cache ccache - uses: actions/cache@v2 - env: - cache-name: cache-ccache - with: - path: ~/ccache - key: v1-${{ runner.os }}-build-${{ env.cache-name }}-${{ matrix.cc }}-${{ env.GITHUB_WORKFLOW }}-${{ matrix.arch }} - - name: Cache pip - uses: actions/cache@v2 - env: - cache-name: cache-python-pip - with: - path: ~/.cache/pip - key: v1-python-pip - - name: Run tests in container - run: | - docker run --rm -e CI -e CC -e PQCLEAN_ONLY_SCHEMES=sphincs-sha256-256s-simple -v $PWD:$PWD -w $PWD -v ~/ccache:/ccache pqclean/ci-container:${{ matrix.arch }} /bin/bash -c "\ - export CCACHE_NOSTATS=1 && \ - export CCACHE_DIR=/ccache && \ - export CCACHE_SLOPPINESS=include_file_mtime && \ - export CC=\"ccache $CC\" && \ - pip3 install -U -r requirements.txt && \ - cd test && \ - python3 -m pytest --verbose --numprocesses=auto" - test-windows: - needs: - - test-native - strategy: - matrix: - bits: - - 64 - - 32 - env: - PQCLEAN_ONLY_SCHEMES: sphincs-sha256-256s-simple - runs-on: windows-latest - steps: - - uses: actions/checkout@v2 - with: - submodules: true - - name: Setup astyle - run: | - # Setup strong crypto - Set-ItemProperty -Path "HKLM:\\SOFTWARE\\Wow6432Node\\Microsoft\\.NetFramework\\v4.0.30319" -Name 'SchUseStrongCrypto' -Value '1' -Type DWord - Set-ItemProperty -Path "HKLM:\\SOFTWARE\\Microsoft\\.NetFramework\\v4.0.30319" -Name "SchUseStrongCrypto" -Value '1' -Type DWord - Invoke-WebRequest -OutFile "test\\astyle.exe" "https://rded.nl/pqclean/AStyle.exe" - shell: powershell - - name: Setup Python - uses: actions/setup-python@main - with: - python-version: "3.x" - - name: Install python requirements - run: python -m pip install -U -r requirements.txt - - name: Run tests - run: | - call "C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Enterprise\\VC\\Auxiliary\\Build\\vcvars${{ matrix.bits }}.bat" - cd test - python -m pytest --verbose --numprocesses=auto - shell: cmd - test-macos: - needs: - - test-native - env: - PQCLEAN_ONLY_SCHEMES: sphincs-sha256-256s-simple - CCACHE_NOSTATS: 1 - CCACHE_SLOPPINESS: include_file_mtime - # XCode version - DEVELOPER_DIR: /Applications/Xcode_11.5.app/Contents/Developer - strategy: - matrix: - compiler: - - clang # XCode (Apple LLVM/Clang) - - gcc9 # GNU (Homebrew) - runs-on: macos-latest - steps: - - uses: actions/checkout@v2 - with: - submodules: true - - name: Install astyle - run: | - brew install astyle - - name: Set up GCC9 compiler - run: 'export PATH="/usr/local/bin:$PATH" && export CC=gcc-9' - if: matrix.compiler == 'gcc9' - - name: Setup Python - uses: actions/setup-python@main - with: - python-version: "3.x" - - name: Install Python dependencies - run: python -m pip install -U -r requirements.txt - - name: Run tests - run: | - cd test - python -m pytest --verbose --numprocesses=auto - diff --git a/.github/workflows/sign_sphincs-shake256-128f-robust.yml b/.github/workflows/sign_sphincs-shake256-128f-robust.yml deleted file mode 100644 index 5f47ac4a..00000000 --- a/.github/workflows/sign_sphincs-shake256-128f-robust.yml +++ /dev/null @@ -1,204 +0,0 @@ -on: - push: - paths: - # build if tests change - - 'test/**' - # do not build if other schemes duplicate_consistency files change - - '!test/duplicate_consistency/*.yml' - - 'test/duplicate_consistency/sphincs-shake256-128f-robust*.yml' - # build if common files change - - 'common/**' - # build if scheme changed - - 'crypto_sign/sphincs-shake256-128f-robust/**' - # build if workflow file changed - - '.github/workflows/sign_sphincs-shake256-128f-robust.yml' - # Build if any files in the root change, except .md files - - '*' - - '!*.md' - pull_request: - paths: - # build if tests change - - 'test/**' - # do not build if other schemes duplicate_consistency files change - - '!test/duplicate_consistency/*.yml' - - 'test/duplicate_consistency/sphincs-shake256-128f-robust*.yml' - # build if common files change - - 'common/**' - # build if scheme changed - - 'crypto_sign/sphincs-shake256-128f-robust/**' - # build if workflow file changed - - '.github/workflows/sign_sphincs-shake256-128f-robust.yml' - # Build if any files in the root change, except .md files - - '*' - - '!*.md' - schedule: - - cron: '5 4 * * *' - -name: Test sphincs-shake256-128f-robust - -jobs: - test-native: - runs-on: ubuntu-latest - container: - image: pqclean/ci-container:${{ matrix.arch }} - env: - PQCLEAN_ONLY_SCHEMES: sphincs-shake256-128f-robust - CC: ccache ${{ matrix.cc }} - CCACHE_NOSTATS: 1 - CCACHE_DIR: /ccache - CCACHE_SLOPPINESS: include_file_mtime - strategy: - matrix: - arch: - - amd64 - - i386 - cc: - - gcc - - clang - steps: - - name: Cancel Previous Runs - uses: thomwiggers/cancel-workflow-action@all_but_latest - with: - all_but_latest: true - access_token: ${{ github.token }} - continue-on-error: true - if: matrix.arch == 'amd64' && matrix.cc == 'gcc' - - uses: actions/checkout@v2 - with: - submodules: true - - name: Cache ccache - uses: actions/cache@v2 - env: - cache-name: cache-ccache - with: - path: /ccache - key: v1-${{ runner.os }}-build-${{ env.cache-name }}-${{ matrix.cc }}-${{ env.GITHUB_WORKFLOW }}-${{ matrix.arch }} - - name: Cache pip - uses: actions/cache@v2 - env: - cache-name: cache-python-pip - with: - path: ~/.cache/pip - key: v1-python-pip - - name: Install python dependencies - run: | - python3 -m pip install -U -r requirements.txt - - name: Run tests - run: | - cd test - python3 -m pytest --verbose --numprocesses=auto - test-emulated: - needs: - - test-native - runs-on: ubuntu-latest - strategy: - matrix: - arch: - - armhf - - unstable-ppc - cc: - - gcc - - clang - env: - CC: ${{ matrix.cc }} - steps: - - name: Register qemu-user-static - run: | - docker run --rm --privileged multiarch/qemu-user-static:register --reset - - uses: actions/checkout@v2 - with: - submodules: true - - name: Cache ccache - uses: actions/cache@v2 - env: - cache-name: cache-ccache - with: - path: ~/ccache - key: v1-${{ runner.os }}-build-${{ env.cache-name }}-${{ matrix.cc }}-${{ env.GITHUB_WORKFLOW }}-${{ matrix.arch }} - - name: Cache pip - uses: actions/cache@v2 - env: - cache-name: cache-python-pip - with: - path: ~/.cache/pip - key: v1-python-pip - - name: Run tests in container - run: | - docker run --rm -e CI -e CC -e PQCLEAN_ONLY_SCHEMES=sphincs-shake256-128f-robust -v $PWD:$PWD -w $PWD -v ~/ccache:/ccache pqclean/ci-container:${{ matrix.arch }} /bin/bash -c "\ - export CCACHE_NOSTATS=1 && \ - export CCACHE_DIR=/ccache && \ - export CCACHE_SLOPPINESS=include_file_mtime && \ - export CC=\"ccache $CC\" && \ - pip3 install -U -r requirements.txt && \ - cd test && \ - python3 -m pytest --verbose --numprocesses=auto" - test-windows: - needs: - - test-native - strategy: - matrix: - bits: - - 64 - - 32 - env: - PQCLEAN_ONLY_SCHEMES: sphincs-shake256-128f-robust - runs-on: windows-latest - steps: - - uses: actions/checkout@v2 - with: - submodules: true - - name: Setup astyle - run: | - # Setup strong crypto - Set-ItemProperty -Path "HKLM:\\SOFTWARE\\Wow6432Node\\Microsoft\\.NetFramework\\v4.0.30319" -Name 'SchUseStrongCrypto' -Value '1' -Type DWord - Set-ItemProperty -Path "HKLM:\\SOFTWARE\\Microsoft\\.NetFramework\\v4.0.30319" -Name "SchUseStrongCrypto" -Value '1' -Type DWord - Invoke-WebRequest -OutFile "test\\astyle.exe" "https://rded.nl/pqclean/AStyle.exe" - shell: powershell - - name: Setup Python - uses: actions/setup-python@main - with: - python-version: "3.x" - - name: Install python requirements - run: python -m pip install -U -r requirements.txt - - name: Run tests - run: | - call "C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Enterprise\\VC\\Auxiliary\\Build\\vcvars${{ matrix.bits }}.bat" - cd test - python -m pytest --verbose --numprocesses=auto - shell: cmd - test-macos: - needs: - - test-native - env: - PQCLEAN_ONLY_SCHEMES: sphincs-shake256-128f-robust - CCACHE_NOSTATS: 1 - CCACHE_SLOPPINESS: include_file_mtime - # XCode version - DEVELOPER_DIR: /Applications/Xcode_11.5.app/Contents/Developer - strategy: - matrix: - compiler: - - clang # XCode (Apple LLVM/Clang) - - gcc9 # GNU (Homebrew) - runs-on: macos-latest - steps: - - uses: actions/checkout@v2 - with: - submodules: true - - name: Install astyle - run: | - brew install astyle - - name: Set up GCC9 compiler - run: 'export PATH="/usr/local/bin:$PATH" && export CC=gcc-9' - if: matrix.compiler == 'gcc9' - - name: Setup Python - uses: actions/setup-python@main - with: - python-version: "3.x" - - name: Install Python dependencies - run: python -m pip install -U -r requirements.txt - - name: Run tests - run: | - cd test - python -m pytest --verbose --numprocesses=auto - diff --git a/.github/workflows/sign_sphincs-shake256-128f-simple.yml b/.github/workflows/sign_sphincs-shake256-128f-simple.yml deleted file mode 100644 index a01734cc..00000000 --- a/.github/workflows/sign_sphincs-shake256-128f-simple.yml +++ /dev/null @@ -1,204 +0,0 @@ -on: - push: - paths: - # build if tests change - - 'test/**' - # do not build if other schemes duplicate_consistency files change - - '!test/duplicate_consistency/*.yml' - - 'test/duplicate_consistency/sphincs-shake256-128f-simple*.yml' - # build if common files change - - 'common/**' - # build if scheme changed - - 'crypto_sign/sphincs-shake256-128f-simple/**' - # build if workflow file changed - - '.github/workflows/sign_sphincs-shake256-128f-simple.yml' - # Build if any files in the root change, except .md files - - '*' - - '!*.md' - pull_request: - paths: - # build if tests change - - 'test/**' - # do not build if other schemes duplicate_consistency files change - - '!test/duplicate_consistency/*.yml' - - 'test/duplicate_consistency/sphincs-shake256-128f-simple*.yml' - # build if common files change - - 'common/**' - # build if scheme changed - - 'crypto_sign/sphincs-shake256-128f-simple/**' - # build if workflow file changed - - '.github/workflows/sign_sphincs-shake256-128f-simple.yml' - # Build if any files in the root change, except .md files - - '*' - - '!*.md' - schedule: - - cron: '5 4 * * *' - -name: Test sphincs-shake256-128f-simple - -jobs: - test-native: - runs-on: ubuntu-latest - container: - image: pqclean/ci-container:${{ matrix.arch }} - env: - PQCLEAN_ONLY_SCHEMES: sphincs-shake256-128f-simple - CC: ccache ${{ matrix.cc }} - CCACHE_NOSTATS: 1 - CCACHE_DIR: /ccache - CCACHE_SLOPPINESS: include_file_mtime - strategy: - matrix: - arch: - - amd64 - - i386 - cc: - - gcc - - clang - steps: - - name: Cancel Previous Runs - uses: thomwiggers/cancel-workflow-action@all_but_latest - with: - all_but_latest: true - access_token: ${{ github.token }} - continue-on-error: true - if: matrix.arch == 'amd64' && matrix.cc == 'gcc' - - uses: actions/checkout@v2 - with: - submodules: true - - name: Cache ccache - uses: actions/cache@v2 - env: - cache-name: cache-ccache - with: - path: /ccache - key: v1-${{ runner.os }}-build-${{ env.cache-name }}-${{ matrix.cc }}-${{ env.GITHUB_WORKFLOW }}-${{ matrix.arch }} - - name: Cache pip - uses: actions/cache@v2 - env: - cache-name: cache-python-pip - with: - path: ~/.cache/pip - key: v1-python-pip - - name: Install python dependencies - run: | - python3 -m pip install -U -r requirements.txt - - name: Run tests - run: | - cd test - python3 -m pytest --verbose --numprocesses=auto - test-emulated: - needs: - - test-native - runs-on: ubuntu-latest - strategy: - matrix: - arch: - - armhf - - unstable-ppc - cc: - - gcc - - clang - env: - CC: ${{ matrix.cc }} - steps: - - name: Register qemu-user-static - run: | - docker run --rm --privileged multiarch/qemu-user-static:register --reset - - uses: actions/checkout@v2 - with: - submodules: true - - name: Cache ccache - uses: actions/cache@v2 - env: - cache-name: cache-ccache - with: - path: ~/ccache - key: v1-${{ runner.os }}-build-${{ env.cache-name }}-${{ matrix.cc }}-${{ env.GITHUB_WORKFLOW }}-${{ matrix.arch }} - - name: Cache pip - uses: actions/cache@v2 - env: - cache-name: cache-python-pip - with: - path: ~/.cache/pip - key: v1-python-pip - - name: Run tests in container - run: | - docker run --rm -e CI -e CC -e PQCLEAN_ONLY_SCHEMES=sphincs-shake256-128f-simple -v $PWD:$PWD -w $PWD -v ~/ccache:/ccache pqclean/ci-container:${{ matrix.arch }} /bin/bash -c "\ - export CCACHE_NOSTATS=1 && \ - export CCACHE_DIR=/ccache && \ - export CCACHE_SLOPPINESS=include_file_mtime && \ - export CC=\"ccache $CC\" && \ - pip3 install -U -r requirements.txt && \ - cd test && \ - python3 -m pytest --verbose --numprocesses=auto" - test-windows: - needs: - - test-native - strategy: - matrix: - bits: - - 64 - - 32 - env: - PQCLEAN_ONLY_SCHEMES: sphincs-shake256-128f-simple - runs-on: windows-latest - steps: - - uses: actions/checkout@v2 - with: - submodules: true - - name: Setup astyle - run: | - # Setup strong crypto - Set-ItemProperty -Path "HKLM:\\SOFTWARE\\Wow6432Node\\Microsoft\\.NetFramework\\v4.0.30319" -Name 'SchUseStrongCrypto' -Value '1' -Type DWord - Set-ItemProperty -Path "HKLM:\\SOFTWARE\\Microsoft\\.NetFramework\\v4.0.30319" -Name "SchUseStrongCrypto" -Value '1' -Type DWord - Invoke-WebRequest -OutFile "test\\astyle.exe" "https://rded.nl/pqclean/AStyle.exe" - shell: powershell - - name: Setup Python - uses: actions/setup-python@main - with: - python-version: "3.x" - - name: Install python requirements - run: python -m pip install -U -r requirements.txt - - name: Run tests - run: | - call "C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Enterprise\\VC\\Auxiliary\\Build\\vcvars${{ matrix.bits }}.bat" - cd test - python -m pytest --verbose --numprocesses=auto - shell: cmd - test-macos: - needs: - - test-native - env: - PQCLEAN_ONLY_SCHEMES: sphincs-shake256-128f-simple - CCACHE_NOSTATS: 1 - CCACHE_SLOPPINESS: include_file_mtime - # XCode version - DEVELOPER_DIR: /Applications/Xcode_11.5.app/Contents/Developer - strategy: - matrix: - compiler: - - clang # XCode (Apple LLVM/Clang) - - gcc9 # GNU (Homebrew) - runs-on: macos-latest - steps: - - uses: actions/checkout@v2 - with: - submodules: true - - name: Install astyle - run: | - brew install astyle - - name: Set up GCC9 compiler - run: 'export PATH="/usr/local/bin:$PATH" && export CC=gcc-9' - if: matrix.compiler == 'gcc9' - - name: Setup Python - uses: actions/setup-python@main - with: - python-version: "3.x" - - name: Install Python dependencies - run: python -m pip install -U -r requirements.txt - - name: Run tests - run: | - cd test - python -m pytest --verbose --numprocesses=auto - diff --git a/.github/workflows/sign_sphincs-shake256-128s-robust.yml b/.github/workflows/sign_sphincs-shake256-128s-robust.yml deleted file mode 100644 index 51944d50..00000000 --- a/.github/workflows/sign_sphincs-shake256-128s-robust.yml +++ /dev/null @@ -1,204 +0,0 @@ -on: - push: - paths: - # build if tests change - - 'test/**' - # do not build if other schemes duplicate_consistency files change - - '!test/duplicate_consistency/*.yml' - - 'test/duplicate_consistency/sphincs-shake256-128s-robust*.yml' - # build if common files change - - 'common/**' - # build if scheme changed - - 'crypto_sign/sphincs-shake256-128s-robust/**' - # build if workflow file changed - - '.github/workflows/sign_sphincs-shake256-128s-robust.yml' - # Build if any files in the root change, except .md files - - '*' - - '!*.md' - pull_request: - paths: - # build if tests change - - 'test/**' - # do not build if other schemes duplicate_consistency files change - - '!test/duplicate_consistency/*.yml' - - 'test/duplicate_consistency/sphincs-shake256-128s-robust*.yml' - # build if common files change - - 'common/**' - # build if scheme changed - - 'crypto_sign/sphincs-shake256-128s-robust/**' - # build if workflow file changed - - '.github/workflows/sign_sphincs-shake256-128s-robust.yml' - # Build if any files in the root change, except .md files - - '*' - - '!*.md' - schedule: - - cron: '5 4 * * *' - -name: Test sphincs-shake256-128s-robust - -jobs: - test-native: - runs-on: ubuntu-latest - container: - image: pqclean/ci-container:${{ matrix.arch }} - env: - PQCLEAN_ONLY_SCHEMES: sphincs-shake256-128s-robust - CC: ccache ${{ matrix.cc }} - CCACHE_NOSTATS: 1 - CCACHE_DIR: /ccache - CCACHE_SLOPPINESS: include_file_mtime - strategy: - matrix: - arch: - - amd64 - - i386 - cc: - - gcc - - clang - steps: - - name: Cancel Previous Runs - uses: thomwiggers/cancel-workflow-action@all_but_latest - with: - all_but_latest: true - access_token: ${{ github.token }} - continue-on-error: true - if: matrix.arch == 'amd64' && matrix.cc == 'gcc' - - uses: actions/checkout@v2 - with: - submodules: true - - name: Cache ccache - uses: actions/cache@v2 - env: - cache-name: cache-ccache - with: - path: /ccache - key: v1-${{ runner.os }}-build-${{ env.cache-name }}-${{ matrix.cc }}-${{ env.GITHUB_WORKFLOW }}-${{ matrix.arch }} - - name: Cache pip - uses: actions/cache@v2 - env: - cache-name: cache-python-pip - with: - path: ~/.cache/pip - key: v1-python-pip - - name: Install python dependencies - run: | - python3 -m pip install -U -r requirements.txt - - name: Run tests - run: | - cd test - python3 -m pytest --verbose --numprocesses=auto - test-emulated: - needs: - - test-native - runs-on: ubuntu-latest - strategy: - matrix: - arch: - - armhf - - unstable-ppc - cc: - - gcc - - clang - env: - CC: ${{ matrix.cc }} - steps: - - name: Register qemu-user-static - run: | - docker run --rm --privileged multiarch/qemu-user-static:register --reset - - uses: actions/checkout@v2 - with: - submodules: true - - name: Cache ccache - uses: actions/cache@v2 - env: - cache-name: cache-ccache - with: - path: ~/ccache - key: v1-${{ runner.os }}-build-${{ env.cache-name }}-${{ matrix.cc }}-${{ env.GITHUB_WORKFLOW }}-${{ matrix.arch }} - - name: Cache pip - uses: actions/cache@v2 - env: - cache-name: cache-python-pip - with: - path: ~/.cache/pip - key: v1-python-pip - - name: Run tests in container - run: | - docker run --rm -e CI -e CC -e PQCLEAN_ONLY_SCHEMES=sphincs-shake256-128s-robust -v $PWD:$PWD -w $PWD -v ~/ccache:/ccache pqclean/ci-container:${{ matrix.arch }} /bin/bash -c "\ - export CCACHE_NOSTATS=1 && \ - export CCACHE_DIR=/ccache && \ - export CCACHE_SLOPPINESS=include_file_mtime && \ - export CC=\"ccache $CC\" && \ - pip3 install -U -r requirements.txt && \ - cd test && \ - python3 -m pytest --verbose --numprocesses=auto" - test-windows: - needs: - - test-native - strategy: - matrix: - bits: - - 64 - - 32 - env: - PQCLEAN_ONLY_SCHEMES: sphincs-shake256-128s-robust - runs-on: windows-latest - steps: - - uses: actions/checkout@v2 - with: - submodules: true - - name: Setup astyle - run: | - # Setup strong crypto - Set-ItemProperty -Path "HKLM:\\SOFTWARE\\Wow6432Node\\Microsoft\\.NetFramework\\v4.0.30319" -Name 'SchUseStrongCrypto' -Value '1' -Type DWord - Set-ItemProperty -Path "HKLM:\\SOFTWARE\\Microsoft\\.NetFramework\\v4.0.30319" -Name "SchUseStrongCrypto" -Value '1' -Type DWord - Invoke-WebRequest -OutFile "test\\astyle.exe" "https://rded.nl/pqclean/AStyle.exe" - shell: powershell - - name: Setup Python - uses: actions/setup-python@main - with: - python-version: "3.x" - - name: Install python requirements - run: python -m pip install -U -r requirements.txt - - name: Run tests - run: | - call "C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Enterprise\\VC\\Auxiliary\\Build\\vcvars${{ matrix.bits }}.bat" - cd test - python -m pytest --verbose --numprocesses=auto - shell: cmd - test-macos: - needs: - - test-native - env: - PQCLEAN_ONLY_SCHEMES: sphincs-shake256-128s-robust - CCACHE_NOSTATS: 1 - CCACHE_SLOPPINESS: include_file_mtime - # XCode version - DEVELOPER_DIR: /Applications/Xcode_11.5.app/Contents/Developer - strategy: - matrix: - compiler: - - clang # XCode (Apple LLVM/Clang) - - gcc9 # GNU (Homebrew) - runs-on: macos-latest - steps: - - uses: actions/checkout@v2 - with: - submodules: true - - name: Install astyle - run: | - brew install astyle - - name: Set up GCC9 compiler - run: 'export PATH="/usr/local/bin:$PATH" && export CC=gcc-9' - if: matrix.compiler == 'gcc9' - - name: Setup Python - uses: actions/setup-python@main - with: - python-version: "3.x" - - name: Install Python dependencies - run: python -m pip install -U -r requirements.txt - - name: Run tests - run: | - cd test - python -m pytest --verbose --numprocesses=auto - diff --git a/.github/workflows/sign_sphincs-shake256-128s-simple.yml b/.github/workflows/sign_sphincs-shake256-128s-simple.yml deleted file mode 100644 index 46c2b0f4..00000000 --- a/.github/workflows/sign_sphincs-shake256-128s-simple.yml +++ /dev/null @@ -1,204 +0,0 @@ -on: - push: - paths: - # build if tests change - - 'test/**' - # do not build if other schemes duplicate_consistency files change - - '!test/duplicate_consistency/*.yml' - - 'test/duplicate_consistency/sphincs-shake256-128s-simple*.yml' - # build if common files change - - 'common/**' - # build if scheme changed - - 'crypto_sign/sphincs-shake256-128s-simple/**' - # build if workflow file changed - - '.github/workflows/sign_sphincs-shake256-128s-simple.yml' - # Build if any files in the root change, except .md files - - '*' - - '!*.md' - pull_request: - paths: - # build if tests change - - 'test/**' - # do not build if other schemes duplicate_consistency files change - - '!test/duplicate_consistency/*.yml' - - 'test/duplicate_consistency/sphincs-shake256-128s-simple*.yml' - # build if common files change - - 'common/**' - # build if scheme changed - - 'crypto_sign/sphincs-shake256-128s-simple/**' - # build if workflow file changed - - '.github/workflows/sign_sphincs-shake256-128s-simple.yml' - # Build if any files in the root change, except .md files - - '*' - - '!*.md' - schedule: - - cron: '5 4 * * *' - -name: Test sphincs-shake256-128s-simple - -jobs: - test-native: - runs-on: ubuntu-latest - container: - image: pqclean/ci-container:${{ matrix.arch }} - env: - PQCLEAN_ONLY_SCHEMES: sphincs-shake256-128s-simple - CC: ccache ${{ matrix.cc }} - CCACHE_NOSTATS: 1 - CCACHE_DIR: /ccache - CCACHE_SLOPPINESS: include_file_mtime - strategy: - matrix: - arch: - - amd64 - - i386 - cc: - - gcc - - clang - steps: - - name: Cancel Previous Runs - uses: thomwiggers/cancel-workflow-action@all_but_latest - with: - all_but_latest: true - access_token: ${{ github.token }} - continue-on-error: true - if: matrix.arch == 'amd64' && matrix.cc == 'gcc' - - uses: actions/checkout@v2 - with: - submodules: true - - name: Cache ccache - uses: actions/cache@v2 - env: - cache-name: cache-ccache - with: - path: /ccache - key: v1-${{ runner.os }}-build-${{ env.cache-name }}-${{ matrix.cc }}-${{ env.GITHUB_WORKFLOW }}-${{ matrix.arch }} - - name: Cache pip - uses: actions/cache@v2 - env: - cache-name: cache-python-pip - with: - path: ~/.cache/pip - key: v1-python-pip - - name: Install python dependencies - run: | - python3 -m pip install -U -r requirements.txt - - name: Run tests - run: | - cd test - python3 -m pytest --verbose --numprocesses=auto - test-emulated: - needs: - - test-native - runs-on: ubuntu-latest - strategy: - matrix: - arch: - - armhf - - unstable-ppc - cc: - - gcc - - clang - env: - CC: ${{ matrix.cc }} - steps: - - name: Register qemu-user-static - run: | - docker run --rm --privileged multiarch/qemu-user-static:register --reset - - uses: actions/checkout@v2 - with: - submodules: true - - name: Cache ccache - uses: actions/cache@v2 - env: - cache-name: cache-ccache - with: - path: ~/ccache - key: v1-${{ runner.os }}-build-${{ env.cache-name }}-${{ matrix.cc }}-${{ env.GITHUB_WORKFLOW }}-${{ matrix.arch }} - - name: Cache pip - uses: actions/cache@v2 - env: - cache-name: cache-python-pip - with: - path: ~/.cache/pip - key: v1-python-pip - - name: Run tests in container - run: | - docker run --rm -e CI -e CC -e PQCLEAN_ONLY_SCHEMES=sphincs-shake256-128s-simple -v $PWD:$PWD -w $PWD -v ~/ccache:/ccache pqclean/ci-container:${{ matrix.arch }} /bin/bash -c "\ - export CCACHE_NOSTATS=1 && \ - export CCACHE_DIR=/ccache && \ - export CCACHE_SLOPPINESS=include_file_mtime && \ - export CC=\"ccache $CC\" && \ - pip3 install -U -r requirements.txt && \ - cd test && \ - python3 -m pytest --verbose --numprocesses=auto" - test-windows: - needs: - - test-native - strategy: - matrix: - bits: - - 64 - - 32 - env: - PQCLEAN_ONLY_SCHEMES: sphincs-shake256-128s-simple - runs-on: windows-latest - steps: - - uses: actions/checkout@v2 - with: - submodules: true - - name: Setup astyle - run: | - # Setup strong crypto - Set-ItemProperty -Path "HKLM:\\SOFTWARE\\Wow6432Node\\Microsoft\\.NetFramework\\v4.0.30319" -Name 'SchUseStrongCrypto' -Value '1' -Type DWord - Set-ItemProperty -Path "HKLM:\\SOFTWARE\\Microsoft\\.NetFramework\\v4.0.30319" -Name "SchUseStrongCrypto" -Value '1' -Type DWord - Invoke-WebRequest -OutFile "test\\astyle.exe" "https://rded.nl/pqclean/AStyle.exe" - shell: powershell - - name: Setup Python - uses: actions/setup-python@main - with: - python-version: "3.x" - - name: Install python requirements - run: python -m pip install -U -r requirements.txt - - name: Run tests - run: | - call "C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Enterprise\\VC\\Auxiliary\\Build\\vcvars${{ matrix.bits }}.bat" - cd test - python -m pytest --verbose --numprocesses=auto - shell: cmd - test-macos: - needs: - - test-native - env: - PQCLEAN_ONLY_SCHEMES: sphincs-shake256-128s-simple - CCACHE_NOSTATS: 1 - CCACHE_SLOPPINESS: include_file_mtime - # XCode version - DEVELOPER_DIR: /Applications/Xcode_11.5.app/Contents/Developer - strategy: - matrix: - compiler: - - clang # XCode (Apple LLVM/Clang) - - gcc9 # GNU (Homebrew) - runs-on: macos-latest - steps: - - uses: actions/checkout@v2 - with: - submodules: true - - name: Install astyle - run: | - brew install astyle - - name: Set up GCC9 compiler - run: 'export PATH="/usr/local/bin:$PATH" && export CC=gcc-9' - if: matrix.compiler == 'gcc9' - - name: Setup Python - uses: actions/setup-python@main - with: - python-version: "3.x" - - name: Install Python dependencies - run: python -m pip install -U -r requirements.txt - - name: Run tests - run: | - cd test - python -m pytest --verbose --numprocesses=auto - diff --git a/.github/workflows/sign_sphincs-shake256-192f-robust.yml b/.github/workflows/sign_sphincs-shake256-192f-robust.yml deleted file mode 100644 index f11f5322..00000000 --- a/.github/workflows/sign_sphincs-shake256-192f-robust.yml +++ /dev/null @@ -1,204 +0,0 @@ -on: - push: - paths: - # build if tests change - - 'test/**' - # do not build if other schemes duplicate_consistency files change - - '!test/duplicate_consistency/*.yml' - - 'test/duplicate_consistency/sphincs-shake256-192f-robust*.yml' - # build if common files change - - 'common/**' - # build if scheme changed - - 'crypto_sign/sphincs-shake256-192f-robust/**' - # build if workflow file changed - - '.github/workflows/sign_sphincs-shake256-192f-robust.yml' - # Build if any files in the root change, except .md files - - '*' - - '!*.md' - pull_request: - paths: - # build if tests change - - 'test/**' - # do not build if other schemes duplicate_consistency files change - - '!test/duplicate_consistency/*.yml' - - 'test/duplicate_consistency/sphincs-shake256-192f-robust*.yml' - # build if common files change - - 'common/**' - # build if scheme changed - - 'crypto_sign/sphincs-shake256-192f-robust/**' - # build if workflow file changed - - '.github/workflows/sign_sphincs-shake256-192f-robust.yml' - # Build if any files in the root change, except .md files - - '*' - - '!*.md' - schedule: - - cron: '5 4 * * *' - -name: Test sphincs-shake256-192f-robust - -jobs: - test-native: - runs-on: ubuntu-latest - container: - image: pqclean/ci-container:${{ matrix.arch }} - env: - PQCLEAN_ONLY_SCHEMES: sphincs-shake256-192f-robust - CC: ccache ${{ matrix.cc }} - CCACHE_NOSTATS: 1 - CCACHE_DIR: /ccache - CCACHE_SLOPPINESS: include_file_mtime - strategy: - matrix: - arch: - - amd64 - - i386 - cc: - - gcc - - clang - steps: - - name: Cancel Previous Runs - uses: thomwiggers/cancel-workflow-action@all_but_latest - with: - all_but_latest: true - access_token: ${{ github.token }} - continue-on-error: true - if: matrix.arch == 'amd64' && matrix.cc == 'gcc' - - uses: actions/checkout@v2 - with: - submodules: true - - name: Cache ccache - uses: actions/cache@v2 - env: - cache-name: cache-ccache - with: - path: /ccache - key: v1-${{ runner.os }}-build-${{ env.cache-name }}-${{ matrix.cc }}-${{ env.GITHUB_WORKFLOW }}-${{ matrix.arch }} - - name: Cache pip - uses: actions/cache@v2 - env: - cache-name: cache-python-pip - with: - path: ~/.cache/pip - key: v1-python-pip - - name: Install python dependencies - run: | - python3 -m pip install -U -r requirements.txt - - name: Run tests - run: | - cd test - python3 -m pytest --verbose --numprocesses=auto - test-emulated: - needs: - - test-native - runs-on: ubuntu-latest - strategy: - matrix: - arch: - - armhf - - unstable-ppc - cc: - - gcc - - clang - env: - CC: ${{ matrix.cc }} - steps: - - name: Register qemu-user-static - run: | - docker run --rm --privileged multiarch/qemu-user-static:register --reset - - uses: actions/checkout@v2 - with: - submodules: true - - name: Cache ccache - uses: actions/cache@v2 - env: - cache-name: cache-ccache - with: - path: ~/ccache - key: v1-${{ runner.os }}-build-${{ env.cache-name }}-${{ matrix.cc }}-${{ env.GITHUB_WORKFLOW }}-${{ matrix.arch }} - - name: Cache pip - uses: actions/cache@v2 - env: - cache-name: cache-python-pip - with: - path: ~/.cache/pip - key: v1-python-pip - - name: Run tests in container - run: | - docker run --rm -e CI -e CC -e PQCLEAN_ONLY_SCHEMES=sphincs-shake256-192f-robust -v $PWD:$PWD -w $PWD -v ~/ccache:/ccache pqclean/ci-container:${{ matrix.arch }} /bin/bash -c "\ - export CCACHE_NOSTATS=1 && \ - export CCACHE_DIR=/ccache && \ - export CCACHE_SLOPPINESS=include_file_mtime && \ - export CC=\"ccache $CC\" && \ - pip3 install -U -r requirements.txt && \ - cd test && \ - python3 -m pytest --verbose --numprocesses=auto" - test-windows: - needs: - - test-native - strategy: - matrix: - bits: - - 64 - - 32 - env: - PQCLEAN_ONLY_SCHEMES: sphincs-shake256-192f-robust - runs-on: windows-latest - steps: - - uses: actions/checkout@v2 - with: - submodules: true - - name: Setup astyle - run: | - # Setup strong crypto - Set-ItemProperty -Path "HKLM:\\SOFTWARE\\Wow6432Node\\Microsoft\\.NetFramework\\v4.0.30319" -Name 'SchUseStrongCrypto' -Value '1' -Type DWord - Set-ItemProperty -Path "HKLM:\\SOFTWARE\\Microsoft\\.NetFramework\\v4.0.30319" -Name "SchUseStrongCrypto" -Value '1' -Type DWord - Invoke-WebRequest -OutFile "test\\astyle.exe" "https://rded.nl/pqclean/AStyle.exe" - shell: powershell - - name: Setup Python - uses: actions/setup-python@main - with: - python-version: "3.x" - - name: Install python requirements - run: python -m pip install -U -r requirements.txt - - name: Run tests - run: | - call "C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Enterprise\\VC\\Auxiliary\\Build\\vcvars${{ matrix.bits }}.bat" - cd test - python -m pytest --verbose --numprocesses=auto - shell: cmd - test-macos: - needs: - - test-native - env: - PQCLEAN_ONLY_SCHEMES: sphincs-shake256-192f-robust - CCACHE_NOSTATS: 1 - CCACHE_SLOPPINESS: include_file_mtime - # XCode version - DEVELOPER_DIR: /Applications/Xcode_11.5.app/Contents/Developer - strategy: - matrix: - compiler: - - clang # XCode (Apple LLVM/Clang) - - gcc9 # GNU (Homebrew) - runs-on: macos-latest - steps: - - uses: actions/checkout@v2 - with: - submodules: true - - name: Install astyle - run: | - brew install astyle - - name: Set up GCC9 compiler - run: 'export PATH="/usr/local/bin:$PATH" && export CC=gcc-9' - if: matrix.compiler == 'gcc9' - - name: Setup Python - uses: actions/setup-python@main - with: - python-version: "3.x" - - name: Install Python dependencies - run: python -m pip install -U -r requirements.txt - - name: Run tests - run: | - cd test - python -m pytest --verbose --numprocesses=auto - diff --git a/.github/workflows/sign_sphincs-shake256-192f-simple.yml b/.github/workflows/sign_sphincs-shake256-192f-simple.yml deleted file mode 100644 index 2299090e..00000000 --- a/.github/workflows/sign_sphincs-shake256-192f-simple.yml +++ /dev/null @@ -1,204 +0,0 @@ -on: - push: - paths: - # build if tests change - - 'test/**' - # do not build if other schemes duplicate_consistency files change - - '!test/duplicate_consistency/*.yml' - - 'test/duplicate_consistency/sphincs-shake256-192f-simple*.yml' - # build if common files change - - 'common/**' - # build if scheme changed - - 'crypto_sign/sphincs-shake256-192f-simple/**' - # build if workflow file changed - - '.github/workflows/sign_sphincs-shake256-192f-simple.yml' - # Build if any files in the root change, except .md files - - '*' - - '!*.md' - pull_request: - paths: - # build if tests change - - 'test/**' - # do not build if other schemes duplicate_consistency files change - - '!test/duplicate_consistency/*.yml' - - 'test/duplicate_consistency/sphincs-shake256-192f-simple*.yml' - # build if common files change - - 'common/**' - # build if scheme changed - - 'crypto_sign/sphincs-shake256-192f-simple/**' - # build if workflow file changed - - '.github/workflows/sign_sphincs-shake256-192f-simple.yml' - # Build if any files in the root change, except .md files - - '*' - - '!*.md' - schedule: - - cron: '5 4 * * *' - -name: Test sphincs-shake256-192f-simple - -jobs: - test-native: - runs-on: ubuntu-latest - container: - image: pqclean/ci-container:${{ matrix.arch }} - env: - PQCLEAN_ONLY_SCHEMES: sphincs-shake256-192f-simple - CC: ccache ${{ matrix.cc }} - CCACHE_NOSTATS: 1 - CCACHE_DIR: /ccache - CCACHE_SLOPPINESS: include_file_mtime - strategy: - matrix: - arch: - - amd64 - - i386 - cc: - - gcc - - clang - steps: - - name: Cancel Previous Runs - uses: thomwiggers/cancel-workflow-action@all_but_latest - with: - all_but_latest: true - access_token: ${{ github.token }} - continue-on-error: true - if: matrix.arch == 'amd64' && matrix.cc == 'gcc' - - uses: actions/checkout@v2 - with: - submodules: true - - name: Cache ccache - uses: actions/cache@v2 - env: - cache-name: cache-ccache - with: - path: /ccache - key: v1-${{ runner.os }}-build-${{ env.cache-name }}-${{ matrix.cc }}-${{ env.GITHUB_WORKFLOW }}-${{ matrix.arch }} - - name: Cache pip - uses: actions/cache@v2 - env: - cache-name: cache-python-pip - with: - path: ~/.cache/pip - key: v1-python-pip - - name: Install python dependencies - run: | - python3 -m pip install -U -r requirements.txt - - name: Run tests - run: | - cd test - python3 -m pytest --verbose --numprocesses=auto - test-emulated: - needs: - - test-native - runs-on: ubuntu-latest - strategy: - matrix: - arch: - - armhf - - unstable-ppc - cc: - - gcc - - clang - env: - CC: ${{ matrix.cc }} - steps: - - name: Register qemu-user-static - run: | - docker run --rm --privileged multiarch/qemu-user-static:register --reset - - uses: actions/checkout@v2 - with: - submodules: true - - name: Cache ccache - uses: actions/cache@v2 - env: - cache-name: cache-ccache - with: - path: ~/ccache - key: v1-${{ runner.os }}-build-${{ env.cache-name }}-${{ matrix.cc }}-${{ env.GITHUB_WORKFLOW }}-${{ matrix.arch }} - - name: Cache pip - uses: actions/cache@v2 - env: - cache-name: cache-python-pip - with: - path: ~/.cache/pip - key: v1-python-pip - - name: Run tests in container - run: | - docker run --rm -e CI -e CC -e PQCLEAN_ONLY_SCHEMES=sphincs-shake256-192f-simple -v $PWD:$PWD -w $PWD -v ~/ccache:/ccache pqclean/ci-container:${{ matrix.arch }} /bin/bash -c "\ - export CCACHE_NOSTATS=1 && \ - export CCACHE_DIR=/ccache && \ - export CCACHE_SLOPPINESS=include_file_mtime && \ - export CC=\"ccache $CC\" && \ - pip3 install -U -r requirements.txt && \ - cd test && \ - python3 -m pytest --verbose --numprocesses=auto" - test-windows: - needs: - - test-native - strategy: - matrix: - bits: - - 64 - - 32 - env: - PQCLEAN_ONLY_SCHEMES: sphincs-shake256-192f-simple - runs-on: windows-latest - steps: - - uses: actions/checkout@v2 - with: - submodules: true - - name: Setup astyle - run: | - # Setup strong crypto - Set-ItemProperty -Path "HKLM:\\SOFTWARE\\Wow6432Node\\Microsoft\\.NetFramework\\v4.0.30319" -Name 'SchUseStrongCrypto' -Value '1' -Type DWord - Set-ItemProperty -Path "HKLM:\\SOFTWARE\\Microsoft\\.NetFramework\\v4.0.30319" -Name "SchUseStrongCrypto" -Value '1' -Type DWord - Invoke-WebRequest -OutFile "test\\astyle.exe" "https://rded.nl/pqclean/AStyle.exe" - shell: powershell - - name: Setup Python - uses: actions/setup-python@main - with: - python-version: "3.x" - - name: Install python requirements - run: python -m pip install -U -r requirements.txt - - name: Run tests - run: | - call "C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Enterprise\\VC\\Auxiliary\\Build\\vcvars${{ matrix.bits }}.bat" - cd test - python -m pytest --verbose --numprocesses=auto - shell: cmd - test-macos: - needs: - - test-native - env: - PQCLEAN_ONLY_SCHEMES: sphincs-shake256-192f-simple - CCACHE_NOSTATS: 1 - CCACHE_SLOPPINESS: include_file_mtime - # XCode version - DEVELOPER_DIR: /Applications/Xcode_11.5.app/Contents/Developer - strategy: - matrix: - compiler: - - clang # XCode (Apple LLVM/Clang) - - gcc9 # GNU (Homebrew) - runs-on: macos-latest - steps: - - uses: actions/checkout@v2 - with: - submodules: true - - name: Install astyle - run: | - brew install astyle - - name: Set up GCC9 compiler - run: 'export PATH="/usr/local/bin:$PATH" && export CC=gcc-9' - if: matrix.compiler == 'gcc9' - - name: Setup Python - uses: actions/setup-python@main - with: - python-version: "3.x" - - name: Install Python dependencies - run: python -m pip install -U -r requirements.txt - - name: Run tests - run: | - cd test - python -m pytest --verbose --numprocesses=auto - diff --git a/.github/workflows/sign_sphincs-shake256-192s-robust.yml b/.github/workflows/sign_sphincs-shake256-192s-robust.yml deleted file mode 100644 index 38d91656..00000000 --- a/.github/workflows/sign_sphincs-shake256-192s-robust.yml +++ /dev/null @@ -1,204 +0,0 @@ -on: - push: - paths: - # build if tests change - - 'test/**' - # do not build if other schemes duplicate_consistency files change - - '!test/duplicate_consistency/*.yml' - - 'test/duplicate_consistency/sphincs-shake256-192s-robust*.yml' - # build if common files change - - 'common/**' - # build if scheme changed - - 'crypto_sign/sphincs-shake256-192s-robust/**' - # build if workflow file changed - - '.github/workflows/sign_sphincs-shake256-192s-robust.yml' - # Build if any files in the root change, except .md files - - '*' - - '!*.md' - pull_request: - paths: - # build if tests change - - 'test/**' - # do not build if other schemes duplicate_consistency files change - - '!test/duplicate_consistency/*.yml' - - 'test/duplicate_consistency/sphincs-shake256-192s-robust*.yml' - # build if common files change - - 'common/**' - # build if scheme changed - - 'crypto_sign/sphincs-shake256-192s-robust/**' - # build if workflow file changed - - '.github/workflows/sign_sphincs-shake256-192s-robust.yml' - # Build if any files in the root change, except .md files - - '*' - - '!*.md' - schedule: - - cron: '5 4 * * *' - -name: Test sphincs-shake256-192s-robust - -jobs: - test-native: - runs-on: ubuntu-latest - container: - image: pqclean/ci-container:${{ matrix.arch }} - env: - PQCLEAN_ONLY_SCHEMES: sphincs-shake256-192s-robust - CC: ccache ${{ matrix.cc }} - CCACHE_NOSTATS: 1 - CCACHE_DIR: /ccache - CCACHE_SLOPPINESS: include_file_mtime - strategy: - matrix: - arch: - - amd64 - - i386 - cc: - - gcc - - clang - steps: - - name: Cancel Previous Runs - uses: thomwiggers/cancel-workflow-action@all_but_latest - with: - all_but_latest: true - access_token: ${{ github.token }} - continue-on-error: true - if: matrix.arch == 'amd64' && matrix.cc == 'gcc' - - uses: actions/checkout@v2 - with: - submodules: true - - name: Cache ccache - uses: actions/cache@v2 - env: - cache-name: cache-ccache - with: - path: /ccache - key: v1-${{ runner.os }}-build-${{ env.cache-name }}-${{ matrix.cc }}-${{ env.GITHUB_WORKFLOW }}-${{ matrix.arch }} - - name: Cache pip - uses: actions/cache@v2 - env: - cache-name: cache-python-pip - with: - path: ~/.cache/pip - key: v1-python-pip - - name: Install python dependencies - run: | - python3 -m pip install -U -r requirements.txt - - name: Run tests - run: | - cd test - python3 -m pytest --verbose --numprocesses=auto - test-emulated: - needs: - - test-native - runs-on: ubuntu-latest - strategy: - matrix: - arch: - - armhf - - unstable-ppc - cc: - - gcc - - clang - env: - CC: ${{ matrix.cc }} - steps: - - name: Register qemu-user-static - run: | - docker run --rm --privileged multiarch/qemu-user-static:register --reset - - uses: actions/checkout@v2 - with: - submodules: true - - name: Cache ccache - uses: actions/cache@v2 - env: - cache-name: cache-ccache - with: - path: ~/ccache - key: v1-${{ runner.os }}-build-${{ env.cache-name }}-${{ matrix.cc }}-${{ env.GITHUB_WORKFLOW }}-${{ matrix.arch }} - - name: Cache pip - uses: actions/cache@v2 - env: - cache-name: cache-python-pip - with: - path: ~/.cache/pip - key: v1-python-pip - - name: Run tests in container - run: | - docker run --rm -e CI -e CC -e PQCLEAN_ONLY_SCHEMES=sphincs-shake256-192s-robust -v $PWD:$PWD -w $PWD -v ~/ccache:/ccache pqclean/ci-container:${{ matrix.arch }} /bin/bash -c "\ - export CCACHE_NOSTATS=1 && \ - export CCACHE_DIR=/ccache && \ - export CCACHE_SLOPPINESS=include_file_mtime && \ - export CC=\"ccache $CC\" && \ - pip3 install -U -r requirements.txt && \ - cd test && \ - python3 -m pytest --verbose --numprocesses=auto" - test-windows: - needs: - - test-native - strategy: - matrix: - bits: - - 64 - - 32 - env: - PQCLEAN_ONLY_SCHEMES: sphincs-shake256-192s-robust - runs-on: windows-latest - steps: - - uses: actions/checkout@v2 - with: - submodules: true - - name: Setup astyle - run: | - # Setup strong crypto - Set-ItemProperty -Path "HKLM:\\SOFTWARE\\Wow6432Node\\Microsoft\\.NetFramework\\v4.0.30319" -Name 'SchUseStrongCrypto' -Value '1' -Type DWord - Set-ItemProperty -Path "HKLM:\\SOFTWARE\\Microsoft\\.NetFramework\\v4.0.30319" -Name "SchUseStrongCrypto" -Value '1' -Type DWord - Invoke-WebRequest -OutFile "test\\astyle.exe" "https://rded.nl/pqclean/AStyle.exe" - shell: powershell - - name: Setup Python - uses: actions/setup-python@main - with: - python-version: "3.x" - - name: Install python requirements - run: python -m pip install -U -r requirements.txt - - name: Run tests - run: | - call "C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Enterprise\\VC\\Auxiliary\\Build\\vcvars${{ matrix.bits }}.bat" - cd test - python -m pytest --verbose --numprocesses=auto - shell: cmd - test-macos: - needs: - - test-native - env: - PQCLEAN_ONLY_SCHEMES: sphincs-shake256-192s-robust - CCACHE_NOSTATS: 1 - CCACHE_SLOPPINESS: include_file_mtime - # XCode version - DEVELOPER_DIR: /Applications/Xcode_11.5.app/Contents/Developer - strategy: - matrix: - compiler: - - clang # XCode (Apple LLVM/Clang) - - gcc9 # GNU (Homebrew) - runs-on: macos-latest - steps: - - uses: actions/checkout@v2 - with: - submodules: true - - name: Install astyle - run: | - brew install astyle - - name: Set up GCC9 compiler - run: 'export PATH="/usr/local/bin:$PATH" && export CC=gcc-9' - if: matrix.compiler == 'gcc9' - - name: Setup Python - uses: actions/setup-python@main - with: - python-version: "3.x" - - name: Install Python dependencies - run: python -m pip install -U -r requirements.txt - - name: Run tests - run: | - cd test - python -m pytest --verbose --numprocesses=auto - diff --git a/.github/workflows/sign_sphincs-shake256-192s-simple.yml b/.github/workflows/sign_sphincs-shake256-192s-simple.yml deleted file mode 100644 index 01064f78..00000000 --- a/.github/workflows/sign_sphincs-shake256-192s-simple.yml +++ /dev/null @@ -1,204 +0,0 @@ -on: - push: - paths: - # build if tests change - - 'test/**' - # do not build if other schemes duplicate_consistency files change - - '!test/duplicate_consistency/*.yml' - - 'test/duplicate_consistency/sphincs-shake256-192s-simple*.yml' - # build if common files change - - 'common/**' - # build if scheme changed - - 'crypto_sign/sphincs-shake256-192s-simple/**' - # build if workflow file changed - - '.github/workflows/sign_sphincs-shake256-192s-simple.yml' - # Build if any files in the root change, except .md files - - '*' - - '!*.md' - pull_request: - paths: - # build if tests change - - 'test/**' - # do not build if other schemes duplicate_consistency files change - - '!test/duplicate_consistency/*.yml' - - 'test/duplicate_consistency/sphincs-shake256-192s-simple*.yml' - # build if common files change - - 'common/**' - # build if scheme changed - - 'crypto_sign/sphincs-shake256-192s-simple/**' - # build if workflow file changed - - '.github/workflows/sign_sphincs-shake256-192s-simple.yml' - # Build if any files in the root change, except .md files - - '*' - - '!*.md' - schedule: - - cron: '5 4 * * *' - -name: Test sphincs-shake256-192s-simple - -jobs: - test-native: - runs-on: ubuntu-latest - container: - image: pqclean/ci-container:${{ matrix.arch }} - env: - PQCLEAN_ONLY_SCHEMES: sphincs-shake256-192s-simple - CC: ccache ${{ matrix.cc }} - CCACHE_NOSTATS: 1 - CCACHE_DIR: /ccache - CCACHE_SLOPPINESS: include_file_mtime - strategy: - matrix: - arch: - - amd64 - - i386 - cc: - - gcc - - clang - steps: - - name: Cancel Previous Runs - uses: thomwiggers/cancel-workflow-action@all_but_latest - with: - all_but_latest: true - access_token: ${{ github.token }} - continue-on-error: true - if: matrix.arch == 'amd64' && matrix.cc == 'gcc' - - uses: actions/checkout@v2 - with: - submodules: true - - name: Cache ccache - uses: actions/cache@v2 - env: - cache-name: cache-ccache - with: - path: /ccache - key: v1-${{ runner.os }}-build-${{ env.cache-name }}-${{ matrix.cc }}-${{ env.GITHUB_WORKFLOW }}-${{ matrix.arch }} - - name: Cache pip - uses: actions/cache@v2 - env: - cache-name: cache-python-pip - with: - path: ~/.cache/pip - key: v1-python-pip - - name: Install python dependencies - run: | - python3 -m pip install -U -r requirements.txt - - name: Run tests - run: | - cd test - python3 -m pytest --verbose --numprocesses=auto - test-emulated: - needs: - - test-native - runs-on: ubuntu-latest - strategy: - matrix: - arch: - - armhf - - unstable-ppc - cc: - - gcc - - clang - env: - CC: ${{ matrix.cc }} - steps: - - name: Register qemu-user-static - run: | - docker run --rm --privileged multiarch/qemu-user-static:register --reset - - uses: actions/checkout@v2 - with: - submodules: true - - name: Cache ccache - uses: actions/cache@v2 - env: - cache-name: cache-ccache - with: - path: ~/ccache - key: v1-${{ runner.os }}-build-${{ env.cache-name }}-${{ matrix.cc }}-${{ env.GITHUB_WORKFLOW }}-${{ matrix.arch }} - - name: Cache pip - uses: actions/cache@v2 - env: - cache-name: cache-python-pip - with: - path: ~/.cache/pip - key: v1-python-pip - - name: Run tests in container - run: | - docker run --rm -e CI -e CC -e PQCLEAN_ONLY_SCHEMES=sphincs-shake256-192s-simple -v $PWD:$PWD -w $PWD -v ~/ccache:/ccache pqclean/ci-container:${{ matrix.arch }} /bin/bash -c "\ - export CCACHE_NOSTATS=1 && \ - export CCACHE_DIR=/ccache && \ - export CCACHE_SLOPPINESS=include_file_mtime && \ - export CC=\"ccache $CC\" && \ - pip3 install -U -r requirements.txt && \ - cd test && \ - python3 -m pytest --verbose --numprocesses=auto" - test-windows: - needs: - - test-native - strategy: - matrix: - bits: - - 64 - - 32 - env: - PQCLEAN_ONLY_SCHEMES: sphincs-shake256-192s-simple - runs-on: windows-latest - steps: - - uses: actions/checkout@v2 - with: - submodules: true - - name: Setup astyle - run: | - # Setup strong crypto - Set-ItemProperty -Path "HKLM:\\SOFTWARE\\Wow6432Node\\Microsoft\\.NetFramework\\v4.0.30319" -Name 'SchUseStrongCrypto' -Value '1' -Type DWord - Set-ItemProperty -Path "HKLM:\\SOFTWARE\\Microsoft\\.NetFramework\\v4.0.30319" -Name "SchUseStrongCrypto" -Value '1' -Type DWord - Invoke-WebRequest -OutFile "test\\astyle.exe" "https://rded.nl/pqclean/AStyle.exe" - shell: powershell - - name: Setup Python - uses: actions/setup-python@main - with: - python-version: "3.x" - - name: Install python requirements - run: python -m pip install -U -r requirements.txt - - name: Run tests - run: | - call "C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Enterprise\\VC\\Auxiliary\\Build\\vcvars${{ matrix.bits }}.bat" - cd test - python -m pytest --verbose --numprocesses=auto - shell: cmd - test-macos: - needs: - - test-native - env: - PQCLEAN_ONLY_SCHEMES: sphincs-shake256-192s-simple - CCACHE_NOSTATS: 1 - CCACHE_SLOPPINESS: include_file_mtime - # XCode version - DEVELOPER_DIR: /Applications/Xcode_11.5.app/Contents/Developer - strategy: - matrix: - compiler: - - clang # XCode (Apple LLVM/Clang) - - gcc9 # GNU (Homebrew) - runs-on: macos-latest - steps: - - uses: actions/checkout@v2 - with: - submodules: true - - name: Install astyle - run: | - brew install astyle - - name: Set up GCC9 compiler - run: 'export PATH="/usr/local/bin:$PATH" && export CC=gcc-9' - if: matrix.compiler == 'gcc9' - - name: Setup Python - uses: actions/setup-python@main - with: - python-version: "3.x" - - name: Install Python dependencies - run: python -m pip install -U -r requirements.txt - - name: Run tests - run: | - cd test - python -m pytest --verbose --numprocesses=auto - diff --git a/.github/workflows/sign_sphincs-shake256-256f-robust.yml b/.github/workflows/sign_sphincs-shake256-256f-robust.yml deleted file mode 100644 index 11164a48..00000000 --- a/.github/workflows/sign_sphincs-shake256-256f-robust.yml +++ /dev/null @@ -1,204 +0,0 @@ -on: - push: - paths: - # build if tests change - - 'test/**' - # do not build if other schemes duplicate_consistency files change - - '!test/duplicate_consistency/*.yml' - - 'test/duplicate_consistency/sphincs-shake256-256f-robust*.yml' - # build if common files change - - 'common/**' - # build if scheme changed - - 'crypto_sign/sphincs-shake256-256f-robust/**' - # build if workflow file changed - - '.github/workflows/sign_sphincs-shake256-256f-robust.yml' - # Build if any files in the root change, except .md files - - '*' - - '!*.md' - pull_request: - paths: - # build if tests change - - 'test/**' - # do not build if other schemes duplicate_consistency files change - - '!test/duplicate_consistency/*.yml' - - 'test/duplicate_consistency/sphincs-shake256-256f-robust*.yml' - # build if common files change - - 'common/**' - # build if scheme changed - - 'crypto_sign/sphincs-shake256-256f-robust/**' - # build if workflow file changed - - '.github/workflows/sign_sphincs-shake256-256f-robust.yml' - # Build if any files in the root change, except .md files - - '*' - - '!*.md' - schedule: - - cron: '5 4 * * *' - -name: Test sphincs-shake256-256f-robust - -jobs: - test-native: - runs-on: ubuntu-latest - container: - image: pqclean/ci-container:${{ matrix.arch }} - env: - PQCLEAN_ONLY_SCHEMES: sphincs-shake256-256f-robust - CC: ccache ${{ matrix.cc }} - CCACHE_NOSTATS: 1 - CCACHE_DIR: /ccache - CCACHE_SLOPPINESS: include_file_mtime - strategy: - matrix: - arch: - - amd64 - - i386 - cc: - - gcc - - clang - steps: - - name: Cancel Previous Runs - uses: thomwiggers/cancel-workflow-action@all_but_latest - with: - all_but_latest: true - access_token: ${{ github.token }} - continue-on-error: true - if: matrix.arch == 'amd64' && matrix.cc == 'gcc' - - uses: actions/checkout@v2 - with: - submodules: true - - name: Cache ccache - uses: actions/cache@v2 - env: - cache-name: cache-ccache - with: - path: /ccache - key: v1-${{ runner.os }}-build-${{ env.cache-name }}-${{ matrix.cc }}-${{ env.GITHUB_WORKFLOW }}-${{ matrix.arch }} - - name: Cache pip - uses: actions/cache@v2 - env: - cache-name: cache-python-pip - with: - path: ~/.cache/pip - key: v1-python-pip - - name: Install python dependencies - run: | - python3 -m pip install -U -r requirements.txt - - name: Run tests - run: | - cd test - python3 -m pytest --verbose --numprocesses=auto - test-emulated: - needs: - - test-native - runs-on: ubuntu-latest - strategy: - matrix: - arch: - - armhf - - unstable-ppc - cc: - - gcc - - clang - env: - CC: ${{ matrix.cc }} - steps: - - name: Register qemu-user-static - run: | - docker run --rm --privileged multiarch/qemu-user-static:register --reset - - uses: actions/checkout@v2 - with: - submodules: true - - name: Cache ccache - uses: actions/cache@v2 - env: - cache-name: cache-ccache - with: - path: ~/ccache - key: v1-${{ runner.os }}-build-${{ env.cache-name }}-${{ matrix.cc }}-${{ env.GITHUB_WORKFLOW }}-${{ matrix.arch }} - - name: Cache pip - uses: actions/cache@v2 - env: - cache-name: cache-python-pip - with: - path: ~/.cache/pip - key: v1-python-pip - - name: Run tests in container - run: | - docker run --rm -e CI -e CC -e PQCLEAN_ONLY_SCHEMES=sphincs-shake256-256f-robust -v $PWD:$PWD -w $PWD -v ~/ccache:/ccache pqclean/ci-container:${{ matrix.arch }} /bin/bash -c "\ - export CCACHE_NOSTATS=1 && \ - export CCACHE_DIR=/ccache && \ - export CCACHE_SLOPPINESS=include_file_mtime && \ - export CC=\"ccache $CC\" && \ - pip3 install -U -r requirements.txt && \ - cd test && \ - python3 -m pytest --verbose --numprocesses=auto" - test-windows: - needs: - - test-native - strategy: - matrix: - bits: - - 64 - - 32 - env: - PQCLEAN_ONLY_SCHEMES: sphincs-shake256-256f-robust - runs-on: windows-latest - steps: - - uses: actions/checkout@v2 - with: - submodules: true - - name: Setup astyle - run: | - # Setup strong crypto - Set-ItemProperty -Path "HKLM:\\SOFTWARE\\Wow6432Node\\Microsoft\\.NetFramework\\v4.0.30319" -Name 'SchUseStrongCrypto' -Value '1' -Type DWord - Set-ItemProperty -Path "HKLM:\\SOFTWARE\\Microsoft\\.NetFramework\\v4.0.30319" -Name "SchUseStrongCrypto" -Value '1' -Type DWord - Invoke-WebRequest -OutFile "test\\astyle.exe" "https://rded.nl/pqclean/AStyle.exe" - shell: powershell - - name: Setup Python - uses: actions/setup-python@main - with: - python-version: "3.x" - - name: Install python requirements - run: python -m pip install -U -r requirements.txt - - name: Run tests - run: | - call "C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Enterprise\\VC\\Auxiliary\\Build\\vcvars${{ matrix.bits }}.bat" - cd test - python -m pytest --verbose --numprocesses=auto - shell: cmd - test-macos: - needs: - - test-native - env: - PQCLEAN_ONLY_SCHEMES: sphincs-shake256-256f-robust - CCACHE_NOSTATS: 1 - CCACHE_SLOPPINESS: include_file_mtime - # XCode version - DEVELOPER_DIR: /Applications/Xcode_11.5.app/Contents/Developer - strategy: - matrix: - compiler: - - clang # XCode (Apple LLVM/Clang) - - gcc9 # GNU (Homebrew) - runs-on: macos-latest - steps: - - uses: actions/checkout@v2 - with: - submodules: true - - name: Install astyle - run: | - brew install astyle - - name: Set up GCC9 compiler - run: 'export PATH="/usr/local/bin:$PATH" && export CC=gcc-9' - if: matrix.compiler == 'gcc9' - - name: Setup Python - uses: actions/setup-python@main - with: - python-version: "3.x" - - name: Install Python dependencies - run: python -m pip install -U -r requirements.txt - - name: Run tests - run: | - cd test - python -m pytest --verbose --numprocesses=auto - diff --git a/.github/workflows/sign_sphincs-shake256-256f-simple.yml b/.github/workflows/sign_sphincs-shake256-256f-simple.yml deleted file mode 100644 index 094f1b21..00000000 --- a/.github/workflows/sign_sphincs-shake256-256f-simple.yml +++ /dev/null @@ -1,204 +0,0 @@ -on: - push: - paths: - # build if tests change - - 'test/**' - # do not build if other schemes duplicate_consistency files change - - '!test/duplicate_consistency/*.yml' - - 'test/duplicate_consistency/sphincs-shake256-256f-simple*.yml' - # build if common files change - - 'common/**' - # build if scheme changed - - 'crypto_sign/sphincs-shake256-256f-simple/**' - # build if workflow file changed - - '.github/workflows/sign_sphincs-shake256-256f-simple.yml' - # Build if any files in the root change, except .md files - - '*' - - '!*.md' - pull_request: - paths: - # build if tests change - - 'test/**' - # do not build if other schemes duplicate_consistency files change - - '!test/duplicate_consistency/*.yml' - - 'test/duplicate_consistency/sphincs-shake256-256f-simple*.yml' - # build if common files change - - 'common/**' - # build if scheme changed - - 'crypto_sign/sphincs-shake256-256f-simple/**' - # build if workflow file changed - - '.github/workflows/sign_sphincs-shake256-256f-simple.yml' - # Build if any files in the root change, except .md files - - '*' - - '!*.md' - schedule: - - cron: '5 4 * * *' - -name: Test sphincs-shake256-256f-simple - -jobs: - test-native: - runs-on: ubuntu-latest - container: - image: pqclean/ci-container:${{ matrix.arch }} - env: - PQCLEAN_ONLY_SCHEMES: sphincs-shake256-256f-simple - CC: ccache ${{ matrix.cc }} - CCACHE_NOSTATS: 1 - CCACHE_DIR: /ccache - CCACHE_SLOPPINESS: include_file_mtime - strategy: - matrix: - arch: - - amd64 - - i386 - cc: - - gcc - - clang - steps: - - name: Cancel Previous Runs - uses: thomwiggers/cancel-workflow-action@all_but_latest - with: - all_but_latest: true - access_token: ${{ github.token }} - continue-on-error: true - if: matrix.arch == 'amd64' && matrix.cc == 'gcc' - - uses: actions/checkout@v2 - with: - submodules: true - - name: Cache ccache - uses: actions/cache@v2 - env: - cache-name: cache-ccache - with: - path: /ccache - key: v1-${{ runner.os }}-build-${{ env.cache-name }}-${{ matrix.cc }}-${{ env.GITHUB_WORKFLOW }}-${{ matrix.arch }} - - name: Cache pip - uses: actions/cache@v2 - env: - cache-name: cache-python-pip - with: - path: ~/.cache/pip - key: v1-python-pip - - name: Install python dependencies - run: | - python3 -m pip install -U -r requirements.txt - - name: Run tests - run: | - cd test - python3 -m pytest --verbose --numprocesses=auto - test-emulated: - needs: - - test-native - runs-on: ubuntu-latest - strategy: - matrix: - arch: - - armhf - - unstable-ppc - cc: - - gcc - - clang - env: - CC: ${{ matrix.cc }} - steps: - - name: Register qemu-user-static - run: | - docker run --rm --privileged multiarch/qemu-user-static:register --reset - - uses: actions/checkout@v2 - with: - submodules: true - - name: Cache ccache - uses: actions/cache@v2 - env: - cache-name: cache-ccache - with: - path: ~/ccache - key: v1-${{ runner.os }}-build-${{ env.cache-name }}-${{ matrix.cc }}-${{ env.GITHUB_WORKFLOW }}-${{ matrix.arch }} - - name: Cache pip - uses: actions/cache@v2 - env: - cache-name: cache-python-pip - with: - path: ~/.cache/pip - key: v1-python-pip - - name: Run tests in container - run: | - docker run --rm -e CI -e CC -e PQCLEAN_ONLY_SCHEMES=sphincs-shake256-256f-simple -v $PWD:$PWD -w $PWD -v ~/ccache:/ccache pqclean/ci-container:${{ matrix.arch }} /bin/bash -c "\ - export CCACHE_NOSTATS=1 && \ - export CCACHE_DIR=/ccache && \ - export CCACHE_SLOPPINESS=include_file_mtime && \ - export CC=\"ccache $CC\" && \ - pip3 install -U -r requirements.txt && \ - cd test && \ - python3 -m pytest --verbose --numprocesses=auto" - test-windows: - needs: - - test-native - strategy: - matrix: - bits: - - 64 - - 32 - env: - PQCLEAN_ONLY_SCHEMES: sphincs-shake256-256f-simple - runs-on: windows-latest - steps: - - uses: actions/checkout@v2 - with: - submodules: true - - name: Setup astyle - run: | - # Setup strong crypto - Set-ItemProperty -Path "HKLM:\\SOFTWARE\\Wow6432Node\\Microsoft\\.NetFramework\\v4.0.30319" -Name 'SchUseStrongCrypto' -Value '1' -Type DWord - Set-ItemProperty -Path "HKLM:\\SOFTWARE\\Microsoft\\.NetFramework\\v4.0.30319" -Name "SchUseStrongCrypto" -Value '1' -Type DWord - Invoke-WebRequest -OutFile "test\\astyle.exe" "https://rded.nl/pqclean/AStyle.exe" - shell: powershell - - name: Setup Python - uses: actions/setup-python@main - with: - python-version: "3.x" - - name: Install python requirements - run: python -m pip install -U -r requirements.txt - - name: Run tests - run: | - call "C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Enterprise\\VC\\Auxiliary\\Build\\vcvars${{ matrix.bits }}.bat" - cd test - python -m pytest --verbose --numprocesses=auto - shell: cmd - test-macos: - needs: - - test-native - env: - PQCLEAN_ONLY_SCHEMES: sphincs-shake256-256f-simple - CCACHE_NOSTATS: 1 - CCACHE_SLOPPINESS: include_file_mtime - # XCode version - DEVELOPER_DIR: /Applications/Xcode_11.5.app/Contents/Developer - strategy: - matrix: - compiler: - - clang # XCode (Apple LLVM/Clang) - - gcc9 # GNU (Homebrew) - runs-on: macos-latest - steps: - - uses: actions/checkout@v2 - with: - submodules: true - - name: Install astyle - run: | - brew install astyle - - name: Set up GCC9 compiler - run: 'export PATH="/usr/local/bin:$PATH" && export CC=gcc-9' - if: matrix.compiler == 'gcc9' - - name: Setup Python - uses: actions/setup-python@main - with: - python-version: "3.x" - - name: Install Python dependencies - run: python -m pip install -U -r requirements.txt - - name: Run tests - run: | - cd test - python -m pytest --verbose --numprocesses=auto - diff --git a/.github/workflows/sign_sphincs-shake256-256s-robust.yml b/.github/workflows/sign_sphincs-shake256-256s-robust.yml deleted file mode 100644 index 0d206ac2..00000000 --- a/.github/workflows/sign_sphincs-shake256-256s-robust.yml +++ /dev/null @@ -1,204 +0,0 @@ -on: - push: - paths: - # build if tests change - - 'test/**' - # do not build if other schemes duplicate_consistency files change - - '!test/duplicate_consistency/*.yml' - - 'test/duplicate_consistency/sphincs-shake256-256s-robust*.yml' - # build if common files change - - 'common/**' - # build if scheme changed - - 'crypto_sign/sphincs-shake256-256s-robust/**' - # build if workflow file changed - - '.github/workflows/sign_sphincs-shake256-256s-robust.yml' - # Build if any files in the root change, except .md files - - '*' - - '!*.md' - pull_request: - paths: - # build if tests change - - 'test/**' - # do not build if other schemes duplicate_consistency files change - - '!test/duplicate_consistency/*.yml' - - 'test/duplicate_consistency/sphincs-shake256-256s-robust*.yml' - # build if common files change - - 'common/**' - # build if scheme changed - - 'crypto_sign/sphincs-shake256-256s-robust/**' - # build if workflow file changed - - '.github/workflows/sign_sphincs-shake256-256s-robust.yml' - # Build if any files in the root change, except .md files - - '*' - - '!*.md' - schedule: - - cron: '5 4 * * *' - -name: Test sphincs-shake256-256s-robust - -jobs: - test-native: - runs-on: ubuntu-latest - container: - image: pqclean/ci-container:${{ matrix.arch }} - env: - PQCLEAN_ONLY_SCHEMES: sphincs-shake256-256s-robust - CC: ccache ${{ matrix.cc }} - CCACHE_NOSTATS: 1 - CCACHE_DIR: /ccache - CCACHE_SLOPPINESS: include_file_mtime - strategy: - matrix: - arch: - - amd64 - - i386 - cc: - - gcc - - clang - steps: - - name: Cancel Previous Runs - uses: thomwiggers/cancel-workflow-action@all_but_latest - with: - all_but_latest: true - access_token: ${{ github.token }} - continue-on-error: true - if: matrix.arch == 'amd64' && matrix.cc == 'gcc' - - uses: actions/checkout@v2 - with: - submodules: true - - name: Cache ccache - uses: actions/cache@v2 - env: - cache-name: cache-ccache - with: - path: /ccache - key: v1-${{ runner.os }}-build-${{ env.cache-name }}-${{ matrix.cc }}-${{ env.GITHUB_WORKFLOW }}-${{ matrix.arch }} - - name: Cache pip - uses: actions/cache@v2 - env: - cache-name: cache-python-pip - with: - path: ~/.cache/pip - key: v1-python-pip - - name: Install python dependencies - run: | - python3 -m pip install -U -r requirements.txt - - name: Run tests - run: | - cd test - python3 -m pytest --verbose --numprocesses=auto - test-emulated: - needs: - - test-native - runs-on: ubuntu-latest - strategy: - matrix: - arch: - - armhf - - unstable-ppc - cc: - - gcc - - clang - env: - CC: ${{ matrix.cc }} - steps: - - name: Register qemu-user-static - run: | - docker run --rm --privileged multiarch/qemu-user-static:register --reset - - uses: actions/checkout@v2 - with: - submodules: true - - name: Cache ccache - uses: actions/cache@v2 - env: - cache-name: cache-ccache - with: - path: ~/ccache - key: v1-${{ runner.os }}-build-${{ env.cache-name }}-${{ matrix.cc }}-${{ env.GITHUB_WORKFLOW }}-${{ matrix.arch }} - - name: Cache pip - uses: actions/cache@v2 - env: - cache-name: cache-python-pip - with: - path: ~/.cache/pip - key: v1-python-pip - - name: Run tests in container - run: | - docker run --rm -e CI -e CC -e PQCLEAN_ONLY_SCHEMES=sphincs-shake256-256s-robust -v $PWD:$PWD -w $PWD -v ~/ccache:/ccache pqclean/ci-container:${{ matrix.arch }} /bin/bash -c "\ - export CCACHE_NOSTATS=1 && \ - export CCACHE_DIR=/ccache && \ - export CCACHE_SLOPPINESS=include_file_mtime && \ - export CC=\"ccache $CC\" && \ - pip3 install -U -r requirements.txt && \ - cd test && \ - python3 -m pytest --verbose --numprocesses=auto" - test-windows: - needs: - - test-native - strategy: - matrix: - bits: - - 64 - - 32 - env: - PQCLEAN_ONLY_SCHEMES: sphincs-shake256-256s-robust - runs-on: windows-latest - steps: - - uses: actions/checkout@v2 - with: - submodules: true - - name: Setup astyle - run: | - # Setup strong crypto - Set-ItemProperty -Path "HKLM:\\SOFTWARE\\Wow6432Node\\Microsoft\\.NetFramework\\v4.0.30319" -Name 'SchUseStrongCrypto' -Value '1' -Type DWord - Set-ItemProperty -Path "HKLM:\\SOFTWARE\\Microsoft\\.NetFramework\\v4.0.30319" -Name "SchUseStrongCrypto" -Value '1' -Type DWord - Invoke-WebRequest -OutFile "test\\astyle.exe" "https://rded.nl/pqclean/AStyle.exe" - shell: powershell - - name: Setup Python - uses: actions/setup-python@main - with: - python-version: "3.x" - - name: Install python requirements - run: python -m pip install -U -r requirements.txt - - name: Run tests - run: | - call "C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Enterprise\\VC\\Auxiliary\\Build\\vcvars${{ matrix.bits }}.bat" - cd test - python -m pytest --verbose --numprocesses=auto - shell: cmd - test-macos: - needs: - - test-native - env: - PQCLEAN_ONLY_SCHEMES: sphincs-shake256-256s-robust - CCACHE_NOSTATS: 1 - CCACHE_SLOPPINESS: include_file_mtime - # XCode version - DEVELOPER_DIR: /Applications/Xcode_11.5.app/Contents/Developer - strategy: - matrix: - compiler: - - clang # XCode (Apple LLVM/Clang) - - gcc9 # GNU (Homebrew) - runs-on: macos-latest - steps: - - uses: actions/checkout@v2 - with: - submodules: true - - name: Install astyle - run: | - brew install astyle - - name: Set up GCC9 compiler - run: 'export PATH="/usr/local/bin:$PATH" && export CC=gcc-9' - if: matrix.compiler == 'gcc9' - - name: Setup Python - uses: actions/setup-python@main - with: - python-version: "3.x" - - name: Install Python dependencies - run: python -m pip install -U -r requirements.txt - - name: Run tests - run: | - cd test - python -m pytest --verbose --numprocesses=auto - diff --git a/.github/workflows/sign_sphincs-shake256-256s-simple.yml b/.github/workflows/sign_sphincs-shake256-256s-simple.yml deleted file mode 100644 index bdef7695..00000000 --- a/.github/workflows/sign_sphincs-shake256-256s-simple.yml +++ /dev/null @@ -1,204 +0,0 @@ -on: - push: - paths: - # build if tests change - - 'test/**' - # do not build if other schemes duplicate_consistency files change - - '!test/duplicate_consistency/*.yml' - - 'test/duplicate_consistency/sphincs-shake256-256s-simple*.yml' - # build if common files change - - 'common/**' - # build if scheme changed - - 'crypto_sign/sphincs-shake256-256s-simple/**' - # build if workflow file changed - - '.github/workflows/sign_sphincs-shake256-256s-simple.yml' - # Build if any files in the root change, except .md files - - '*' - - '!*.md' - pull_request: - paths: - # build if tests change - - 'test/**' - # do not build if other schemes duplicate_consistency files change - - '!test/duplicate_consistency/*.yml' - - 'test/duplicate_consistency/sphincs-shake256-256s-simple*.yml' - # build if common files change - - 'common/**' - # build if scheme changed - - 'crypto_sign/sphincs-shake256-256s-simple/**' - # build if workflow file changed - - '.github/workflows/sign_sphincs-shake256-256s-simple.yml' - # Build if any files in the root change, except .md files - - '*' - - '!*.md' - schedule: - - cron: '5 4 * * *' - -name: Test sphincs-shake256-256s-simple - -jobs: - test-native: - runs-on: ubuntu-latest - container: - image: pqclean/ci-container:${{ matrix.arch }} - env: - PQCLEAN_ONLY_SCHEMES: sphincs-shake256-256s-simple - CC: ccache ${{ matrix.cc }} - CCACHE_NOSTATS: 1 - CCACHE_DIR: /ccache - CCACHE_SLOPPINESS: include_file_mtime - strategy: - matrix: - arch: - - amd64 - - i386 - cc: - - gcc - - clang - steps: - - name: Cancel Previous Runs - uses: thomwiggers/cancel-workflow-action@all_but_latest - with: - all_but_latest: true - access_token: ${{ github.token }} - continue-on-error: true - if: matrix.arch == 'amd64' && matrix.cc == 'gcc' - - uses: actions/checkout@v2 - with: - submodules: true - - name: Cache ccache - uses: actions/cache@v2 - env: - cache-name: cache-ccache - with: - path: /ccache - key: v1-${{ runner.os }}-build-${{ env.cache-name }}-${{ matrix.cc }}-${{ env.GITHUB_WORKFLOW }}-${{ matrix.arch }} - - name: Cache pip - uses: actions/cache@v2 - env: - cache-name: cache-python-pip - with: - path: ~/.cache/pip - key: v1-python-pip - - name: Install python dependencies - run: | - python3 -m pip install -U -r requirements.txt - - name: Run tests - run: | - cd test - python3 -m pytest --verbose --numprocesses=auto - test-emulated: - needs: - - test-native - runs-on: ubuntu-latest - strategy: - matrix: - arch: - - armhf - - unstable-ppc - cc: - - gcc - - clang - env: - CC: ${{ matrix.cc }} - steps: - - name: Register qemu-user-static - run: | - docker run --rm --privileged multiarch/qemu-user-static:register --reset - - uses: actions/checkout@v2 - with: - submodules: true - - name: Cache ccache - uses: actions/cache@v2 - env: - cache-name: cache-ccache - with: - path: ~/ccache - key: v1-${{ runner.os }}-build-${{ env.cache-name }}-${{ matrix.cc }}-${{ env.GITHUB_WORKFLOW }}-${{ matrix.arch }} - - name: Cache pip - uses: actions/cache@v2 - env: - cache-name: cache-python-pip - with: - path: ~/.cache/pip - key: v1-python-pip - - name: Run tests in container - run: | - docker run --rm -e CI -e CC -e PQCLEAN_ONLY_SCHEMES=sphincs-shake256-256s-simple -v $PWD:$PWD -w $PWD -v ~/ccache:/ccache pqclean/ci-container:${{ matrix.arch }} /bin/bash -c "\ - export CCACHE_NOSTATS=1 && \ - export CCACHE_DIR=/ccache && \ - export CCACHE_SLOPPINESS=include_file_mtime && \ - export CC=\"ccache $CC\" && \ - pip3 install -U -r requirements.txt && \ - cd test && \ - python3 -m pytest --verbose --numprocesses=auto" - test-windows: - needs: - - test-native - strategy: - matrix: - bits: - - 64 - - 32 - env: - PQCLEAN_ONLY_SCHEMES: sphincs-shake256-256s-simple - runs-on: windows-latest - steps: - - uses: actions/checkout@v2 - with: - submodules: true - - name: Setup astyle - run: | - # Setup strong crypto - Set-ItemProperty -Path "HKLM:\\SOFTWARE\\Wow6432Node\\Microsoft\\.NetFramework\\v4.0.30319" -Name 'SchUseStrongCrypto' -Value '1' -Type DWord - Set-ItemProperty -Path "HKLM:\\SOFTWARE\\Microsoft\\.NetFramework\\v4.0.30319" -Name "SchUseStrongCrypto" -Value '1' -Type DWord - Invoke-WebRequest -OutFile "test\\astyle.exe" "https://rded.nl/pqclean/AStyle.exe" - shell: powershell - - name: Setup Python - uses: actions/setup-python@main - with: - python-version: "3.x" - - name: Install python requirements - run: python -m pip install -U -r requirements.txt - - name: Run tests - run: | - call "C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Enterprise\\VC\\Auxiliary\\Build\\vcvars${{ matrix.bits }}.bat" - cd test - python -m pytest --verbose --numprocesses=auto - shell: cmd - test-macos: - needs: - - test-native - env: - PQCLEAN_ONLY_SCHEMES: sphincs-shake256-256s-simple - CCACHE_NOSTATS: 1 - CCACHE_SLOPPINESS: include_file_mtime - # XCode version - DEVELOPER_DIR: /Applications/Xcode_11.5.app/Contents/Developer - strategy: - matrix: - compiler: - - clang # XCode (Apple LLVM/Clang) - - gcc9 # GNU (Homebrew) - runs-on: macos-latest - steps: - - uses: actions/checkout@v2 - with: - submodules: true - - name: Install astyle - run: | - brew install astyle - - name: Set up GCC9 compiler - run: 'export PATH="/usr/local/bin:$PATH" && export CC=gcc-9' - if: matrix.compiler == 'gcc9' - - name: Setup Python - uses: actions/setup-python@main - with: - python-version: "3.x" - - name: Install Python dependencies - run: python -m pip install -U -r requirements.txt - - name: Run tests - run: | - cd test - python -m pytest --verbose --numprocesses=auto - diff --git a/.github/workflows/template.yml.j2 b/.github/workflows/template.yml.j2 deleted file mode 100644 index 8a667fb4..00000000 --- a/.github/workflows/template.yml.j2 +++ /dev/null @@ -1,205 +0,0 @@ -on: - push: - paths: - # build if tests change - - 'test/**' - # do not build if other schemes duplicate_consistency files change - - '!test/duplicate_consistency/*.yml' - - 'test/duplicate_consistency/{- scheme_name -}*.yml' - # build if common files change - - 'common/**' - # build if scheme changed - - 'crypto_{- scheme_type -}/{- scheme_name -}/**' - # build if workflow file changed - - '.github/workflows/{- scheme_type -}_{- scheme_name -}.yml' - # Build if any files in the root change, except .md files - - '*' - - '!*.md' - pull_request: - paths: - # build if tests change - - 'test/**' - # do not build if other schemes duplicate_consistency files change - - '!test/duplicate_consistency/*.yml' - - 'test/duplicate_consistency/{- scheme_name -}*.yml' - # build if common files change - - 'common/**' - # build if scheme changed - - 'crypto_{- scheme_type -}/{- scheme_name -}/**' - # build if workflow file changed - - '.github/workflows/{- scheme_type -}_{- scheme_name -}.yml' - # Build if any files in the root change, except .md files - - '*' - - '!*.md' - schedule: - - cron: '5 4 * * *' - -name: Test {- scheme_name -} - -jobs: - test-native: - runs-on: ubuntu-latest - container: - image: pqclean/ci-container:${{ matrix.arch }} - env: - PQCLEAN_ONLY_SCHEMES: {- scheme_name -} - CC: ccache ${{ matrix.cc }} - CCACHE_NOSTATS: 1 - CCACHE_DIR: /ccache - CCACHE_SLOPPINESS: include_file_mtime - strategy: - matrix: - arch: - - amd64 - - i386 - cc: - - gcc - - clang - steps: - - name: Cancel Previous Runs - uses: thomwiggers/cancel-workflow-action@all_but_latest - with: - all_but_latest: true - access_token: ${{ github.token }} - continue-on-error: true - if: matrix.arch == 'amd64' && matrix.cc == 'gcc' - - uses: actions/checkout@v2 - with: - submodules: true - - name: Cache ccache - uses: actions/cache@v2 - env: - cache-name: cache-ccache - with: - path: /ccache - key: v1-${{ runner.os }}-build-${{ env.cache-name }}-${{ matrix.cc }}-${{ env.GITHUB_WORKFLOW }}-${{ matrix.arch }} - - name: Cache pip - uses: actions/cache@v2 - env: - cache-name: cache-python-pip - with: - path: ~/.cache/pip - key: v1-python-pip - - name: Install python dependencies - run: | - python3 -m pip install -U -r requirements.txt - - name: Run tests - run: | - cd test - python3 -m pytest --verbose --numprocesses=auto - test-emulated: - needs: - - test-native - runs-on: ubuntu-latest - strategy: - matrix: - arch: - - armhf - - unstable-ppc - cc: - - gcc - - clang - env: - CC: ${{ matrix.cc }} - steps: - - name: Register qemu-user-static - run: | - docker run --rm --privileged multiarch/qemu-user-static:register --reset - - uses: actions/checkout@v2 - with: - submodules: true - - name: Cache ccache - uses: actions/cache@v2 - env: - cache-name: cache-ccache - with: - path: ~/ccache - key: v1-${{ runner.os }}-build-${{ env.cache-name }}-${{ matrix.cc }}-${{ env.GITHUB_WORKFLOW }}-${{ matrix.arch }} - - name: Cache pip - uses: actions/cache@v2 - env: - cache-name: cache-python-pip - with: - path: ~/.cache/pip - key: v1-python-pip - - name: Run tests in container - run: | - docker run --rm -e CI -e CC -e PQCLEAN_ONLY_SCHEMES={- scheme_name -} -v $PWD:$PWD -w $PWD -v ~/ccache:/ccache pqclean/ci-container:${{ matrix.arch }} /bin/bash -c "\ - export CCACHE_NOSTATS=1 && \ - export CCACHE_DIR=/ccache && \ - export CCACHE_SLOPPINESS=include_file_mtime && \ - export CC=\"ccache $CC\" && \ - pip3 install -U -r requirements.txt && \ - cd test && \ - python3 -m pytest --verbose --numprocesses=auto" - test-windows: - needs: - - test-native - strategy: - matrix: - bits: - - 64 - - 32 - env: - PQCLEAN_ONLY_SCHEMES: {- scheme_name -} - runs-on: windows-latest - steps: - - uses: actions/checkout@v2 - with: - submodules: true - - name: Setup astyle - run: | - # Setup strong crypto - Set-ItemProperty -Path "HKLM:\\SOFTWARE\\Wow6432Node\\Microsoft\\.NetFramework\\v4.0.30319" -Name 'SchUseStrongCrypto' -Value '1' -Type DWord - Set-ItemProperty -Path "HKLM:\\SOFTWARE\\Microsoft\\.NetFramework\\v4.0.30319" -Name "SchUseStrongCrypto" -Value '1' -Type DWord - Invoke-WebRequest -OutFile "test\\astyle.exe" "https://rded.nl/pqclean/AStyle.exe" - shell: powershell - - name: Setup Python - uses: actions/setup-python@main - with: - python-version: "3.x" - - name: Install python requirements - run: python -m pip install -U -r requirements.txt - - name: Run tests - run: | - call "C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Enterprise\\VC\\Auxiliary\\Build\\vcvars${{ matrix.bits }}.bat" - cd test - python -m pytest --verbose --numprocesses=auto - shell: cmd - test-macos: - needs: - - test-native - env: - PQCLEAN_ONLY_SCHEMES: {- scheme_name -} - CCACHE_NOSTATS: 1 - CCACHE_SLOPPINESS: include_file_mtime - # XCode version - DEVELOPER_DIR: /Applications/Xcode_11.5.app/Contents/Developer - strategy: - matrix: - compiler: - - clang # XCode (Apple LLVM/Clang) - - gcc9 # GNU (Homebrew) - runs-on: macos-latest - steps: - - uses: actions/checkout@v2 - with: - submodules: true - - name: Install astyle - run: | - brew install astyle - - name: Set up GCC9 compiler - run: 'export PATH="/usr/local/bin:$PATH" && export CC=gcc-9' - if: matrix.compiler == 'gcc9' - - name: Setup Python - uses: actions/setup-python@main - with: - python-version: "3.x" - - name: Install Python dependencies - run: python -m pip install -U -r requirements.txt - - name: Run tests - run: | - cd test - python -m pytest --verbose --numprocesses=auto - -{# vim: set ft=yaml ts=2 sw=2 tw=0 et :#} diff --git a/.mergify.yml b/.mergify.yml deleted file mode 100644 index d60d32b4..00000000 --- a/.mergify.yml +++ /dev/null @@ -1,14 +0,0 @@ -pull_request_rules: - - name: Automatic merge - conditions: - - base=master - - "#approved-reviews-by>=1" - - "#changes-requested-reviews-by=0" - - status-success=Travis CI - Pull Request - - status-success=Travis CI - Branch - - status-success=continuous-integration/appveyor/branch - - status-success=continuous-integration/appveyor/pr - - status-success=build - actions: - merge: - strict: smart diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index ad3750c3..00000000 --- a/.travis.yml +++ /dev/null @@ -1,122 +0,0 @@ -language: c - -matrix: - include: - # Arm64 builds - - name: "KEMs: ARM64 + GCC" - os: linux - arch: arm64 - compiler: gcc - before_script: - - export COMMIT=$(git rev-parse HEAD) - - git config --replace-all remote.origin.fetch +refs/heads/*:refs/remotes/origin/* - - git fetch --unshallow - - git checkout $TRAVIS_BRANCH - - git reset --hard $COMMIT - script: - - travis_wait 60 docker run -e CI=true -e PQCLEAN_SKIP_TESTS -e PQCLEAN_ONLY_TYPES -e PQCLEAN_ONLY_DIFF --rm -v ~/.ccache:/ccache -v `pwd`:`pwd` -w `pwd` "pqclean/ci-container:arm64" /bin/bash -c " - uname -a && - export CCACHE_DIR=/ccache && - export CCACHE_NOSTATS=1 && - export CCACHE_SLOPPINESS=include_file_mtime && - export CC=\"ccache ${CC}\" && - pip3 install -r requirements.txt && - mkdir test-results && - cd test && python3 -m pytest --verbose --junitxml=test-results/pytest/results.xml --numprocesses=auto" - env: - PQCLEAN_ONLY_TYPES: kem - PQCLEAN_ONLY_DIFF: 1 - PQCLEAN_SKIP_TESTS: valgrind,sanitizer - services: - - docker - - name: "KEMs: ARM64 + Clang" - os: linux - arch: arm64 - compiler: clang - before_script: - - export COMMIT=$(git rev-parse HEAD) - - git config --replace-all remote.origin.fetch +refs/heads/*:refs/remotes/origin/* - - git fetch --unshallow - - git checkout $TRAVIS_BRANCH - - git reset --hard $COMMIT - script: - - travis_wait 60 docker run -e CI=true -e PQCLEAN_SKIP_TESTS -e PQCLEAN_ONLY_TYPES -e PQCLEAN_ONLY_DIFF --rm -v ~/.ccache:/ccache -v `pwd`:`pwd` -w `pwd` "pqclean/ci-container:arm64" /bin/bash -c " - uname -a && - export CCACHE_NOSTATS=1 && - export CCACHE_DIR=/ccache && - export CCACHE_SLOPPINESS=include_file_mtime && - export CC=\"ccache ${CC}\" && - pip3 install -r requirements.txt && - mkdir test-results && - cd test && python3 -m pytest --verbose --junitxml=test-results/pytest/results.xml --numprocesses=auto" - env: - PQCLEAN_ONLY_TYPES: kem - PQCLEAN_ONLY_DIFF: 1 - PQCLEAN_SKIP_TESTS: valgrind,sanitizer - services: - - docker - - name: "Signs: ARM64 + GCC" - os: linux - arch: arm64 - compiler: gcc - before_script: - - export COMMIT=$(git rev-parse HEAD) - - git config --replace-all remote.origin.fetch +refs/heads/*:refs/remotes/origin/* - - git fetch --unshallow - - git checkout $TRAVIS_BRANCH - - git reset --hard $COMMIT - script: - - travis_wait 60 docker run -e CI=true -e PQCLEAN_SKIP_TESTS -e PQCLEAN_ONLY_TYPES -e PQCLEAN_ONLY_DIFF -e PQCLEAN_SKIP_SCHEMES --rm -v ~/.ccache:/ccache -v `pwd`:`pwd` -w `pwd` "pqclean/ci-container:arm64" /bin/bash -c " - uname -a && - export CCACHE_NOSTATS=1 && - export CCACHE_DIR=/ccache && - export CCACHE_SLOPPINESS=include_file_mtime && - export CC=\"ccache ${CC}\" && - pip3 install -r requirements.txt && - mkdir test-results && - cd test && python3 -m pytest --verbose --junitxml=test-results/pytest/results.xml --numprocesses=auto" - env: - PQCLEAN_ONLY_TYPES: sign - PQCLEAN_ONLY_DIFF: 1 - PQCLEAN_SKIP_SCHEMES: sphincs-haraka-128f-robust,sphincs-haraka-192s-robust,sphincs-sha256-128f-robust,sphincs-sha256-192s-robust,sphincs-shake256-128f-robust,sphincs-shake256-192s-robust,sphincs-haraka-128f-simple,sphincs-haraka-192s-simple,sphincs-sha256-128f-simple,sphincs-sha256-192s-simple,sphincs-shake256-128f-simple,sphincs-shake256-192s-simple,sphincs-haraka-128s-robust,sphincs-haraka-256f-robust,sphincs-sha256-128s-robust,sphincs-sha256-256f-robust,sphincs-shake256-128s-robust,sphincs-shake256-256f-robust,sphincs-haraka-128s-simple,sphincs-haraka-256f-simple,sphincs-sha256-128s-simple,sphincs-sha256-256f-simple,sphincs-shake256-128s-simple,sphincs-shake256-256f-simple,sphincs-haraka-192f-robust,sphincs-haraka-256s-robust,sphincs-sha256-192f-robust,sphincs-sha256-256s-robust,sphincs-shake256-192f-robust,sphincs-shake256-256s-robust,sphincs-haraka-192f-simple,sphincs-haraka-256s-simple,sphincs-sha256-192f-simple,sphincs-sha256-256s-simple,sphincs-shake256-192f-simple,sphincs-shake256-256s-simple - PQCLEAN_SKIP_TESTS: valgrind,sanitizer - services: - - docker - - name: "signs: ARM64 + Clang" - os: linux - arch: arm64 - compiler: clang - before_script: - - export COMMIT=$(git rev-parse HEAD) - - git config --replace-all remote.origin.fetch +refs/heads/*:refs/remotes/origin/* - - git fetch --unshallow - - git checkout $TRAVIS_BRANCH - - git reset --hard $COMMIT - script: - - travis_wait 60 docker run -e CI=true -e PQCLEAN_SKIP_TESTS -e PQCLEAN_ONLY_TYPES -e PQCLEAN_ONLY_DIFF=1 -e PQCLEAN_SKIP_SCHEMES --rm -v ~/.ccache:/ccache -v `pwd`:`pwd` -w `pwd` "pqclean/ci-container:arm64" /bin/bash -c " - uname -a && - export CCACHE_NOSTATS=1 && - export CCACHE_DIR=/ccache && - export CCACHE_SLOPPINESS=include_file_mtime && - export CC=\"ccache ${CC}\" && - pip3 install -r requirements.txt && - mkdir test-results && - cd test && python3 -m pytest --verbose --junitxml=test-results/pytest/results.xml --numprocesses=auto" - env: - PQCLEAN_ONLY_TYPES: sign - PQCLEAN_ONLY_DIFF: 1 - PQCLEAN_SKIP_SCHEMES: sphincs-haraka-128f-robust,sphincs-haraka-192s-robust,sphincs-sha256-128f-robust,sphincs-sha256-192s-robust,sphincs-shake256-128f-robust,sphincs-shake256-192s-robust,sphincs-haraka-128f-simple,sphincs-haraka-192s-simple,sphincs-sha256-128f-simple,sphincs-sha256-192s-simple,sphincs-shake256-128f-simple,sphincs-shake256-192s-simple,sphincs-haraka-128s-robust,sphincs-haraka-256f-robust,sphincs-sha256-128s-robust,sphincs-sha256-256f-robust,sphincs-shake256-128s-robust,sphincs-shake256-256f-robust,sphincs-haraka-128s-simple,sphincs-haraka-256f-simple,sphincs-sha256-128s-simple,sphincs-sha256-256f-simple,sphincs-shake256-128s-simple,sphincs-shake256-256f-simple,sphincs-haraka-192f-robust,sphincs-haraka-256s-robust,sphincs-sha256-192f-robust,sphincs-sha256-256s-robust,sphincs-shake256-192f-robust,sphincs-shake256-256s-robust,sphincs-haraka-192f-simple,sphincs-haraka-256s-simple,sphincs-sha256-192f-simple,sphincs-sha256-256s-simple,sphincs-shake256-192f-simple,sphincs-shake256-256s-simple - PQCLEAN_SKIP_TESTS: valgrind,sanitizer - services: - - docker - -cache: - directories: - - $HOME/Library/Caches/pip - - $HOME/Library/Caches/Homebrew - - $HOME/.ccache - -before_cache: - - brew cleanup - -# vim: set ft=yaml ts=2 sw=2 tw=0 et : diff --git a/BADGES.md b/BADGES.md deleted file mode 100644 index e69de29b..00000000 diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md deleted file mode 100644 index 9eb7f75d..00000000 --- a/CONTRIBUTING.md +++ /dev/null @@ -1,194 +0,0 @@ -Contributing new schemes to PQClean -=================================== - -Why contribute to PQClean -------------------------- - -PQClean hopes to provide your scheme to people who want to integrate post-quantum cryptography into their own libraries and applications. But our extensive testing framework might also help you catch bugs in your implementation, that might have otherwise gone unnoticed. We run our builds on (emulated) ARMv7, ARMv8, 32-bit PowerPC, x86 and amd64. Also, we apply static and dynamic analysis tools. - -Adding your scheme ------------------- - -For this text, we will assume that you want to contribute a **key encapsulation mechanism (KEM)** to PQClean. For a signature scheme, these steps are equivalent, but the API is slightly different. -See the section [API](#API) below. - -1. Fork our repository. You will be creating a pull request soon. - * **Tip:** Do not wait until you think you have gotten everything perfect, before you open the pull request. We set up things so Github and the CI environment will give you feedback and guidance on the steps to follow. - -2. Create the following folder structure: `crypto_kem/yourschemename/clean`. We follow the SUPERCOP layout, so please create a separate folder under `crypto_kem` for each parameter set. - - For now, we only accept **pure, portable C code**. Our coding conventions impose certain constraints on the C code -- C99 code, fixed sized integer types (e.g., `uint64_t` rather than `unsigned long long`), and more. See README.md for more information. - -3. Create a `META.yml` file in `crypto_(kem|sign)/yourschemename` following this template: - - ```yaml - name: Name - type: - claimed-nist-level: - claimed-security: IND-CPA/IND-CCA2 # KEM only - length-public-key: # KEM and signature - length-secret-key: # KEM and signature - length-ciphertext: # KEM only - length-shared-secret: # KEM only - length-signature: # Signature only - nistkat-sha256: sha256sum of 1st NIST KAT test case # KEM and signature - testvectors-sha256: sha256sum of output of testvectors # Signature only - principal-submitters: - - Alice - - Bob - - ... - auxiliary-submitters: # optional - - Alice - - Bob - - ... - implementations: - - name: clean - version: - ``` - - This file needs to be valid [YAML](https://yaml.org/). - -4. Put your scheme's C source code into `crypto_kem/yourschemename/clean`. - - 1. Make sure all symbols are prefixed with `PQCLEAN_YOURSCHEME_CLEAN_`. - 2. Include `api.h` into your scheme with the symbols specified in the section [API](#API). Make sure it does not include other files. - 3. We use `astyle` to format code. You may consider running the following command on your submission: - ``` - astyle --project crypto_kem/yourschemename/clean/*.[ch] - ``` - 4. You may run the tests in the `tests/` folder. See the `README` for how to run the test suite. - 5. Migrate your use of AES, SHA-2, and SHA-3 to the API in the `common` directory. - Note that if you use the AES API, you must use the `aes128_ecb_keyexp` or aes128_ctr_keyexp` routines (or 192 or 256) to expand the key into a key schedule object, - then use `aes128_ctx_release` to release the key schedule object once you're finished with it. - For the SHAKE API, use the appropriate `_ctx_release` functions. - For fixed-output functions SHA-2 and SHA-3, the `_finalize` function will free the state. - If you need to make copies of any of the states of these primitives, use the appropriate functions. - -5. Create `Makefile` and `Makefile.Microsoft_nmake` files to compile your scheme as static library. - * We suggest you copy these from `crypto_kem/kyber768/clean` and modify them to suit your scheme. - -6. Add a `LICENSE` file to your implementation folder. - -7. Commit everything and push it to your fork. - -8. Generate a Github workflow by running ``.github/workflows/generate_workflows.py``. - -8. Open a pull request on our Github repository and process the feedback given to you by the CI environment. The pull request will also set up a checklist for you and us to follow. Feel free to ask us questions via the pull request. - -### Generating implementations - -It may sometimes be helpful to generate the implementations from a shared code base. -You can find an example of how this can be done for [SPHINCS+][sphincsclean], [Dilithium][Dilithiumclean] or [Kyber][kyberclean] - -[sphincsclean]: https://github.com/thomwiggers/sphincsplus/tree/pqcleanup -[dilithiumclean]: https://github.com/thomwiggers/dilithium/tree/pqclean -[kyberclean]: https://github.com/thomwiggers/kyber-clean/ - -### Testing your implementations locally using the PQClean test environment - -It can be helpful to debug issues if you run the testing environment locally. -This allows you to solve, for example, endianness problems or 32-bit problems much quicker, without waiting for the full CI runs to complete. - -You will need Docker on your computer. - -To run the ARM and powerpc containers you will need to run the following from a Linux computer: - -```sh -docker pull multiarch/qemu-user-static:register -docker run --rm --privileged multiarch/qemu-user-static:register --reset -``` - -Then, to launch a specific testing environment, we suggest the following command: -```sh -docker run \ - --rm --tty --interactive \ - --volume $PWD:/pqclean \ - --user $(id -u):$(id -g) \ - --workdir /pqclean \ - pqclean/ci-container:ARCHITECTURE \ - /bin/bash -``` - -Replace `ARCHITECTURE` by one of the following: - -* armhf\* -* arm64\* -* i386 -* amd64 -* unstable-ppc\* - -Items marked with \* require the `multiarch/qemu-user-static` registation step. - -API ---- - -These items should be available in your `api.h` file. - -### KEMs - -Functions: - -```c -int PQCLEAN_YOURSCHEME_IMPLEMENTATION_crypto_kem_keypair( - uint8_t *pk, uint8_t *sk); -int PQCLEAN_YOURSCHEME_IMPLEMENTATION_crypto_kem_enc( - uint8_t *ct, uint8_t *ss, const uint8_t *pk); -int PQCLEAN_YOURSCHEME_IMPLEMENTATION_crypto_kem_dec( - uint8_t *ss, const uint8_t *ct, const uint8_t *sk); -``` - -`#define` macros: - -* `CRYPTO_SECRETKEYBYTES` -* `CRYPTO_PUBLICKEYBYTES` -* `CRYPTO_CIPHERTEXTBYTES` -* `CRYPTO_BYTES` -* `CRYPTO_ALGNAME` - -### Signature schemes - -Functions: - -```c -int PQCLEAN_YOURSCHEME_IMPLEMENTATION_crypto_sign_keypair( - uint8_t *pk, uint8_t *sk); -int PQCLEAN_YOURSCHEME_IMPLEMENTATION_crypto_sign( - uint8_t *sm, size_t *smlen, - const uint8_t *msg, size_t len, - const uint8_t *sk); -int PQCLEAN_YOURSCHEME_IMPLEMENTATION_crypto_sign_open( - uint8_t *m, size_t *mlen, - const uint8_t *sm, size_t smlen, - const uint8_t *pk); -int PQCLEAN_YOURSCHEME_IMPLEMENTATION_crypto_sign_signature( - uint8_t *sig, size_t *siglen, - const uint8_t *m, size_t mlen, - const uint8_t *sk); -int PQCLEAN_YOURSCHEME_IMPLEMENTATION_crypto_sign_verify( - const uint8_t *sig, size_t siglen, - const uint8_t *m, size_t mlen, - const uint8_t *pk); -``` - -`#define` macros: - -* `PQCLEAN_YOURSCHEME_IMPLEMENTATION_CRYPTO_SECRETKEYBYTES` -* `PQCLEAN_YOURSCHEME_IMPLEMENTATION_CRYPTO_PUBLICKEYBYTES` -* `PQCLEAN_YOURSCHEME_IMPLEMENTATION_CRYPTO_ALGNAME` -* `PQCLEAN_YOURSCHEME_IMPLEMENTATION_CRYPTO_BYTES` - -for KEMs, additionally define: - -* `PQCLEAN_YOURSCHEME_IMPLEMENTATION_CRYPTO_CIPHERTEXTBYTES` - -Please make sure your `api.h` file does not include any other files. - -### Return codes - -Your schemes should return 0 on success, or a negative value on failure. -Notably, `crypto_sign_open` should return `-1` if signature verification failed. - -Contributing to the framework of PQClean -======================================== - -We also welcome contributions to the testing framework. Open an issue or pull request on Github and we will review your suggestion. In general, we are always looking to improve the experience of submitters of schemes and of people consuming the implementations collected by this project. diff --git a/SECURITY.md b/SECURITY.md deleted file mode 100644 index e5beb5d7..00000000 --- a/SECURITY.md +++ /dev/null @@ -1,47 +0,0 @@ -# A note on the security of the included implementations and schemes - -This project contains (reference) implementations of cryptographic libraries. -We do not make any security claims about the code included in PQClean. -In the current state, we distribute reference implementations with minor modifications. -We did not perform any extensive security analyses. -This code is suitable for experimental or scientific use. -We recommend careful expert code review before using any of the included implementations in production environments. - -See also the [NIST PQC Forum][forum] for discussion about the cryptographic schemes included in PQClean. - -## Current and past security issues - -We will attempt to document security vulnerabilities made known to us on a best-effort basis. -If an issue is marked with a date, the issue has been resolved since any commits made after that date. - -Again, we emphasise that the code in this repository has not seen any formal analysis or audit! -Use at your own risk. - -### Open issues -* LEDAcryptKEM `leaktime` implementations are known to not be constant-time and expected to have timing side channel vulnerabilities. - - - -### 2020-12-11 -* The fix of the timing leak in the CCA transform of FrodoKEM in [PR #303](https://github.com/PQClean/PQClean/pull/303) was ineffective. The FrodoKEM team released another [fix](https://github.com/microsoft/PQCrypto-LWEKE/commit/669522db63850fa64d1a24a47e138e80a59349db) which was ported to PQClean in [PR #367](https://github.com/PQClean/PQClean/pull/367). - -### 2020-06-19 -* A potential timing leak was present in the FrodoKEM decapsulation routine, as identified by [Guo, Johansson, and Nilsson](https://eprint.iacr.org/2020/743). This was fixed in [PR #303](https://github.com/PQClean/PQClean/pull/303). - -### 2019-09-24 -* All Falcon implementations before [PR #235][PR 235] got merged were insecure. See [EPRINT report 2019/893][2019/893]. - -### 2019-09-10 -* The included incremental `sha512` implementation was calling `crypto_hashblocks_sha256` before 2019-9-10. - This lead to an insufficient security level of the results of this hash function. - The function was not used in any implementations, though. - See [PR #232][PR 232]. - - -[2019/893]: https://eprint.iacr.org/2019/893 -[forum]: https://csrc.nist.gov/Projects/Post-Quantum-Cryptography/Email-List - -[PR 232]: https://github.com/PQClean/PQClean/pull/232 -[PR 235]: https://github.com/PQClean/PQClean/pull/235 diff --git a/requirements.txt b/requirements.txt deleted file mode 100644 index 89bec97e..00000000 --- a/requirements.txt +++ /dev/null @@ -1,6 +0,0 @@ -PyYAML -pytest -pytest-xdist -pycparser -py-cpuinfo -jinja2