From f1f7d93959b7315eb524bde1deab05524482f34d Mon Sep 17 00:00:00 2001 From: Michael McLoughlin Date: Sat, 23 Apr 2022 21:58:06 -0700 Subject: [PATCH] tests/thirdparty: standard library crypto/ed25519 (#225) Fixes #226 --- .github/workflows/packages.yml | 38 +++++++++++++++++++++++++ README.md | 16 +++++++---- doc/adopters.md | 4 +++ tests/thirdparty/packages.json | 52 +++++++++++++++++++++++++++++----- 4 files changed, 97 insertions(+), 13 deletions(-) diff --git a/.github/workflows/packages.yml b/.github/workflows/packages.yml index 9ccc591..7c5ee82 100644 --- a/.github/workflows/packages.yml +++ b/.github/workflows/packages.yml @@ -896,3 +896,41 @@ jobs: - name: Test working-directory: md4 run: go test ./... + golang-go: + runs-on: ubuntu-latest + steps: + - name: Install Go + uses: actions/setup-go@f6164bd8c8acb4a71fb2791a8b6c4024ff038dab # v3.0.0 + with: + go-version: 1.18.x + check-latest: true + - name: Checkout avo + uses: actions/checkout@5a4ac9002d0be2fb38bd78e4b4dbde5606d7042f # v2.3.4 + with: + path: avo + persist-credentials: false + - name: Checkout golang/go + uses: actions/checkout@5a4ac9002d0be2fb38bd78e4b4dbde5606d7042f # v2.3.4 + with: + repository: golang/go + ref: go1.17.3 + path: go + persist-credentials: false + - name: Compile Go Toolchain + working-directory: go/src + run: ./make.bash + - name: Avo Module Replacement + working-directory: go/src/crypto/ed25519/internal/edwards25519/field/_asm + run: | + go mod edit -modfile=go.mod -require=github.com/mmcloughlin/avo@v0.0.0-00010101000000-000000000000 + go mod edit -modfile=go.mod -replace=github.com/mmcloughlin/avo=${{ github.workspace }}/avo + go mod tidy -modfile=go.mod + - name: Generate + working-directory: go/src/crypto/ed25519/internal/edwards25519/field/_asm + run: go generate -v -x + - name: Diff + working-directory: go + run: git diff + - name: Test + working-directory: go + run: env --unset=GOROOT ./bin/go test crypto/ed25519/... diff --git a/README.md b/README.md index d4ad2b9..3397046 100644 --- a/README.md +++ b/README.md @@ -192,20 +192,24 @@ Implementations of full algorithms: Popular projects using `avo`: + [golang / **go**](https://github.com/golang/go) +:star: 98269 +> The Go programming language + [klauspost / **compress**](https://github.com/klauspost/compress) / **s2** -:star: 2702 +:star: 2703 > Optimized Go Compression Packages [golang / **crypto**](https://github.com/golang/crypto) / **curve25519** -:star: 2391 +:star: 2402 > [mirror] Go supplementary cryptography libraries [klauspost / **reedsolomon**](https://github.com/klauspost/reedsolomon) -:star: 1428 +:star: 1437 > Reed-Solomon Erasure Coding in Go [segmentio / **asm**](https://github.com/segmentio/asm) -:star: 681 +:star: 685 > Go library providing algorithms optimized to leverage the characteristics of modern CPUs [zeebo / **blake3**](https://github.com/zeebo/blake3) @@ -217,7 +221,7 @@ Popular projects using `avo`: > A pure-Go implementation of the BLAKE3 cryptographic hash function [zeebo / **xxh3**](https://github.com/zeebo/xxh3) -:star: 235 +:star: 238 > XXH3 algorithm in Go [dgryski / **go-bloomindex**](https://github.com/dgryski/go-bloomindex) @@ -225,7 +229,7 @@ Popular projects using `avo`: > Bloom-filter based search index [minio / **md5-simd**](https://github.com/minio/md5-simd) -:star: 107 +:star: 108 > Accelerate aggregated MD5 hashing performance up to 8x for AVX512 and 4x for AVX2. Useful for server applications that need to compute many MD5 sums in parallel. See the [full list of projects using `avo`](doc/adopters.md). diff --git a/doc/adopters.md b/doc/adopters.md index 0a1af31..620d926 100644 --- a/doc/adopters.md +++ b/doc/adopters.md @@ -1,5 +1,9 @@ # Adopters + [golang / **go**](https://github.com/golang/go) + +The Go programming language + [klauspost / **compress**](https://github.com/klauspost/compress) / **s2** Optimized Go Compression Packages diff --git a/tests/thirdparty/packages.json b/tests/thirdparty/packages.json index 6025585..b2666ba 100644 --- a/tests/thirdparty/packages.json +++ b/tests/thirdparty/packages.json @@ -6,7 +6,7 @@ }, "metadata": { "description": "XXH3 algorithm in Go", - "stars": 235 + "stars": 238 }, "default_branch": "master", "version": "v1.0.0-rc1", @@ -107,7 +107,7 @@ }, "metadata": { "description": "Accelerate aggregated MD5 hashing performance up to 8x for AVX512 and 4x for AVX2. Useful for server applications that need to compute many MD5 sums in parallel.", - "stars": 107 + "stars": 108 }, "default_branch": "master", "version": "30ad8af83f6868c2a30c615f3edf1a9366bf3f89", @@ -150,7 +150,7 @@ }, "metadata": { "description": "Reed-Solomon Erasure Coding in Go", - "stars": 1428 + "stars": 1437 }, "default_branch": "master", "version": "922778284547557265cff0f903ab5f4c27e40ae9", @@ -201,7 +201,7 @@ }, "metadata": { "description": "Optimized Go Compression Packages", - "stars": 2702 + "stars": 2703 }, "default_branch": "master", "version": "2adf487b3e02f95ce7efd6e4953fda0ae7ecd080", @@ -447,7 +447,7 @@ }, "metadata": { "description": "Go library providing algorithms optimized to leverage the characteristics of modern CPUs", - "stars": 681 + "stars": 685 }, "default_branch": "main", "version": "2bf3fdd47b1cdbe8fe020f032caf14891e10a85f", @@ -556,7 +556,7 @@ "metadata": { "description": "[mirror] Go supplementary cryptography libraries", "homepage": "https://golang.org/x/crypto", - "stars": 2391 + "stars": 2402 }, "default_branch": "master", "version": "089bfa5675191fd96a44247682f76ebca03d7916", @@ -579,7 +579,7 @@ "metadata": { "description": "filippo.io/edwards25519 — A safer, faster, and more powerful low-level edwards25519 Go implementation.", "homepage": "https://filippo.io/edwards25519", - "stars": 80 + "stars": 81 }, "default_branch": "main", "version": "v1.0.0-rc.1", @@ -643,5 +643,43 @@ ] } ] + }, + { + "repository": { + "owner": "golang", + "name": "go" + }, + "metadata": { + "description": "The Go programming language", + "homepage": "https://go.dev", + "stars": 98269 + }, + "default_branch": "master", + "version": "go1.17.3", + "module": "src/crypto/ed25519/internal/edwards25519/field/_asm/go.mod", + "setup": [ + { + "name": "Compile Go Toolchain", + "dir": "src", + "commands": [ + "./make.bash" + ] + } + ], + "generate": [ + { + "dir": "src/crypto/ed25519/internal/edwards25519/field/_asm", + "commands": [ + "go generate -v -x" + ] + } + ], + "test": [ + { + "commands": [ + "env --unset=GOROOT ./bin/go test crypto/ed25519/..." + ] + } + ] } ]