Files
avo/.github/workflows/packages.yml
Michael McLoughlin 8ff8e3b751 tests/thirdparty: fix and run as github workflow (#198)
As part of fixing failing third-party tests, this PR significantly
rearchitects their specification and execution.

Third-party tests are now specified in a much more flexible format allowing
more customization on a per-package level. In addition, third-party tests are
now used to auto-generate a Github Actions workflow to perform the tests in
parallel. This not only gives faster feedback on PRs, but will also allow us
to more quickly narrow down on which packages are failing. An additional
workflow also confirms that local execution of third-party tests is consistent
with the Github Actions version. This workflow only runs when tests/thirdparty
itself is changed.
2021-09-15 23:25:51 -07:00

559 lines
21 KiB
YAML

# Code generated by make_workflow.go. DO NOT EDIT.
name: packages
permissions:
contents: read
on:
push:
branches:
- master
pull_request:
jobs:
zeebo-xxh3:
runs-on: ubuntu-latest
steps:
- name: Install Go
uses: actions/setup-go@37335c7bb261b353407cff977110895fa0b4f7d8 # v2.1.3
with:
go-version: 1.17.x
- name: Checkout avo
uses: actions/checkout@5a4ac9002d0be2fb38bd78e4b4dbde5606d7042f # v2.3.4
with:
path: avo
persist-credentials: false
- name: Checkout zeebo/xxh3
uses: actions/checkout@5a4ac9002d0be2fb38bd78e4b4dbde5606d7042f # v2.3.4
with:
repository: zeebo/xxh3
ref: v1.0.0-rc1
path: xxh3
persist-credentials: false
- name: Avo Module Replacement
working-directory: xxh3/avo
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: xxh3/avo
run: |
go run . -avx -out ../accum_vector_avx_amd64.s
go run . -sse -out ../accum_vector_sse_amd64.s
- name: Diff
working-directory: xxh3
run: git diff
- name: Test
working-directory: xxh3
run: go test ./...
dgryski-go-sip13:
runs-on: ubuntu-latest
steps:
- name: Install Go
uses: actions/setup-go@37335c7bb261b353407cff977110895fa0b4f7d8 # v2.1.3
with:
go-version: 1.17.x
- name: Checkout avo
uses: actions/checkout@5a4ac9002d0be2fb38bd78e4b4dbde5606d7042f # v2.3.4
with:
path: avo
persist-credentials: false
- name: Checkout dgryski/go-sip13
uses: actions/checkout@5a4ac9002d0be2fb38bd78e4b4dbde5606d7042f # v2.3.4
with:
repository: dgryski/go-sip13
ref: 62edffca92457b3a66125c686137cc5f0fe81672
path: go-sip13
persist-credentials: false
- name: Setup Root Module
working-directory: go-sip13
run: go mod init github.com/dgryski/go-sip13
- name: Setup Generator Module
working-directory: go-sip13/_avo
run: |
sed -i.bak '/+build ignore/d' asm.go
go mod init github.com/dgryski/go-sip13/_avo
- name: Avo Module Replacement
working-directory: go-sip13/_avo
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-sip13/_avo
run: |
go mod edit -modfile=go.mod -require=github.com/dgryski/go-sip13@v0.0.0-00010101000000-000000000000
go mod edit -modfile=go.mod -replace=github.com/dgryski/go-sip13=../
go run . -out ../sip13_amd64.s
- name: Diff
working-directory: go-sip13
run: git diff
- name: Test
working-directory: go-sip13
run: go test ./...
phoreproject-bls:
runs-on: ubuntu-latest
steps:
- name: Install Go
uses: actions/setup-go@37335c7bb261b353407cff977110895fa0b4f7d8 # v2.1.3
with:
go-version: 1.17.x
- name: Checkout avo
uses: actions/checkout@5a4ac9002d0be2fb38bd78e4b4dbde5606d7042f # v2.3.4
with:
path: avo
persist-credentials: false
- name: Checkout phoreproject/bls
uses: actions/checkout@5a4ac9002d0be2fb38bd78e4b4dbde5606d7042f # v2.3.4
with:
repository: phoreproject/bls
ref: a88a5ae26844d7293359422888d7c7f69f43c845
path: bls
persist-credentials: false
- name: Setup
working-directory: bls/asm
run: |
sed -i.bak '/+build ignore/d' asm.go
go mod init github.com/phoreproject/bls/asm
- name: Avo Module Replacement
working-directory: bls/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: bls/asm
run: |
go mod edit -modfile=go.mod -require=github.com/phoreproject/bls@v0.0.0-00010101000000-000000000000
go mod edit -modfile=go.mod -replace=github.com/phoreproject/bls=../
go mod download
go run . -out ../primitivefuncs_amd64.s
- name: Diff
working-directory: bls
run: git diff
- name: Test
working-directory: bls
run: go test ./...
minio-md5-simd:
runs-on: ubuntu-latest
steps:
- name: Install Go
uses: actions/setup-go@37335c7bb261b353407cff977110895fa0b4f7d8 # v2.1.3
with:
go-version: 1.17.x
- name: Checkout avo
uses: actions/checkout@5a4ac9002d0be2fb38bd78e4b4dbde5606d7042f # v2.3.4
with:
path: avo
persist-credentials: false
- name: Checkout minio/md5-simd
uses: actions/checkout@5a4ac9002d0be2fb38bd78e4b4dbde5606d7042f # v2.3.4
with:
repository: minio/md5-simd
ref: 30ad8af83f6868c2a30c615f3edf1a9366bf3f89
path: md5-simd
persist-credentials: false
- name: Avo Module Replacement
working-directory: md5-simd/_gen
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: md5-simd/_gen
run: go run gen.go -out ../md5block_amd64.s -stubs ../md5block_amd64.go -pkg md5simd
- name: Diff
working-directory: md5-simd
run: git diff
- name: Test
working-directory: md5-simd
run: go test ./...
zeebo-blake3:
runs-on: ubuntu-latest
steps:
- name: Install Go
uses: actions/setup-go@37335c7bb261b353407cff977110895fa0b4f7d8 # v2.1.3
with:
go-version: 1.17.x
- name: Checkout avo
uses: actions/checkout@5a4ac9002d0be2fb38bd78e4b4dbde5606d7042f # v2.3.4
with:
path: avo
persist-credentials: false
- name: Checkout zeebo/blake3
uses: actions/checkout@5a4ac9002d0be2fb38bd78e4b4dbde5606d7042f # v2.3.4
with:
repository: zeebo/blake3
ref: 25dba572f0e78ec108f0dd79c9c15288f542d7d9
path: blake3
persist-credentials: false
- name: Avo Module Replacement
working-directory: blake3/avo
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: blake3/avo
run: |
go run ./avx2 -out ../avx2/impl.s
go run ./sse41 -out ../sse41/impl.s
- name: Diff
working-directory: blake3
run: git diff
- name: Test
working-directory: blake3
run: go test ./...
klauspost-reedsolomon:
runs-on: ubuntu-latest
steps:
- name: Install Go
uses: actions/setup-go@37335c7bb261b353407cff977110895fa0b4f7d8 # v2.1.3
with:
go-version: 1.17.x
- name: Checkout avo
uses: actions/checkout@5a4ac9002d0be2fb38bd78e4b4dbde5606d7042f # v2.3.4
with:
path: avo
persist-credentials: false
- name: Checkout klauspost/reedsolomon
uses: actions/checkout@5a4ac9002d0be2fb38bd78e4b4dbde5606d7042f # v2.3.4
with:
repository: klauspost/reedsolomon
ref: 922778284547557265cff0f903ab5f4c27e40ae9
path: reedsolomon
persist-credentials: false
- name: Avo Module Replacement
working-directory: reedsolomon/_gen
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: reedsolomon/_gen
run: go run gen.go -out ../galois_gen_amd64.s -stubs ../galois_gen_amd64.go -pkg reedsolomon
- name: Diff
working-directory: reedsolomon
run: git diff
- name: Test
working-directory: reedsolomon
run: go test ./...
orisano-wyhash:
runs-on: ubuntu-latest
steps:
- name: Install Go
uses: actions/setup-go@37335c7bb261b353407cff977110895fa0b4f7d8 # v2.1.3
with:
go-version: 1.17.x
- name: Checkout avo
uses: actions/checkout@5a4ac9002d0be2fb38bd78e4b4dbde5606d7042f # v2.3.4
with:
path: avo
persist-credentials: false
- name: Checkout orisano/wyhash
uses: actions/checkout@5a4ac9002d0be2fb38bd78e4b4dbde5606d7042f # v2.3.4
with:
repository: orisano/wyhash
ref: 32a3f7f6ba4797e2d87dab2969cc9dd63d39cce9
path: wyhash
persist-credentials: false
- name: Setup Generator Module
working-directory: wyhash/avo
run: go mod init github.com/orisano/wyhash/avo
- name: Avo Module Replacement
working-directory: wyhash/avo
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: wyhash/avo
run: go run gen.go -out ../blocks_amd64.s -stubs ../blocks_amd64.go -pkg wyhash
- name: Diff
working-directory: wyhash
run: git diff
- name: Test
working-directory: wyhash
run: go test ./...
klauspost-compress-s2:
runs-on: ubuntu-latest
steps:
- name: Install Go
uses: actions/setup-go@37335c7bb261b353407cff977110895fa0b4f7d8 # v2.1.3
with:
go-version: 1.17.x
- name: Checkout avo
uses: actions/checkout@5a4ac9002d0be2fb38bd78e4b4dbde5606d7042f # v2.3.4
with:
path: avo
persist-credentials: false
- name: Checkout klauspost/compress
uses: actions/checkout@5a4ac9002d0be2fb38bd78e4b4dbde5606d7042f # v2.3.4
with:
repository: klauspost/compress
ref: 2adf487b3e02f95ce7efd6e4953fda0ae7ecd080
path: compress
persist-credentials: false
- name: Avo Module Replacement
working-directory: compress/s2/_generate
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: compress/s2/_generate
run: go run gen.go -out ../encodeblock_amd64.s -stubs ../encodeblock_amd64.go -pkg s2
- name: Diff
working-directory: compress/s2
run: git diff
- name: Test
working-directory: compress/s2
run: go test ./...
dgryski-go-bloomindex:
runs-on: ubuntu-latest
steps:
- name: Install Go
uses: actions/setup-go@37335c7bb261b353407cff977110895fa0b4f7d8 # v2.1.3
with:
go-version: 1.17.x
- name: Checkout avo
uses: actions/checkout@5a4ac9002d0be2fb38bd78e4b4dbde5606d7042f # v2.3.4
with:
path: avo
persist-credentials: false
- name: Checkout dgryski/go-bloomindex
uses: actions/checkout@5a4ac9002d0be2fb38bd78e4b4dbde5606d7042f # v2.3.4
with:
repository: dgryski/go-bloomindex
ref: 0902316dce158c154b958ee5cfc706c62af29a42
path: go-bloomindex
persist-credentials: false
- name: Setup Root Module
working-directory: go-bloomindex
run: |
go mod init github.com/dgryski/go-bloomindex
go get github.com/dgryski/go-bits@v0.0.0-20180113010104-bd8a69a71dc2
- name: Create Generator Module
working-directory: go-bloomindex
run: |
mkdir avo
git mv asm.go avo
- name: Setup Generator Module
working-directory: go-bloomindex/avo
run: |
sed -i.bak '/+build ignore/d' asm.go
go mod init github.com/dgryski/go-bloomindex/avo
- name: Avo Module Replacement
working-directory: go-bloomindex/avo
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-bloomindex/avo
run: go run asm.go -out ../query_amd64.s
- name: Diff
working-directory: go-bloomindex
run: git diff
- name: Test
working-directory: go-bloomindex
run: go test ./...
dgryski-go-marvin32:
runs-on: ubuntu-latest
steps:
- name: Install Go
uses: actions/setup-go@37335c7bb261b353407cff977110895fa0b4f7d8 # v2.1.3
with:
go-version: 1.17.x
- name: Checkout avo
uses: actions/checkout@5a4ac9002d0be2fb38bd78e4b4dbde5606d7042f # v2.3.4
with:
path: avo
persist-credentials: false
- name: Checkout dgryski/go-marvin32
uses: actions/checkout@5a4ac9002d0be2fb38bd78e4b4dbde5606d7042f # v2.3.4
with:
repository: dgryski/go-marvin32
ref: 7d18f4c6ea7c24b29d1c7a670f8ae40b0812f2e3
path: go-marvin32
persist-credentials: false
- name: Setup Root Module
working-directory: go-marvin32
run: go mod init github.com/dgryski/go-marvin32
- name: Create Generator Module
working-directory: go-marvin32
run: |
mkdir avo
git mv asm.go avo
- name: Setup Generator Module
working-directory: go-marvin32/avo
run: |
sed -i.bak '/+build ignore/d' asm.go
go mod init github.com/dgryski/go-marvin32/avo
- name: Avo Module Replacement
working-directory: go-marvin32/avo
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-marvin32/avo
run: |
go mod edit -modfile=go.mod -require=github.com/dgryski/go-marvin32@v0.0.0-00010101000000-000000000000
go mod edit -modfile=go.mod -replace=github.com/dgryski/go-marvin32=../
go run asm.go -out ../marvin_amd64.s
- name: Diff
working-directory: go-marvin32
run: git diff
- name: Test
working-directory: go-marvin32
run: go test ./...
dgryski-go-speck:
runs-on: ubuntu-latest
steps:
- name: Install Go
uses: actions/setup-go@37335c7bb261b353407cff977110895fa0b4f7d8 # v2.1.3
with:
go-version: 1.17.x
- name: Checkout avo
uses: actions/checkout@5a4ac9002d0be2fb38bd78e4b4dbde5606d7042f # v2.3.4
with:
path: avo
persist-credentials: false
- name: Checkout dgryski/go-speck
uses: actions/checkout@5a4ac9002d0be2fb38bd78e4b4dbde5606d7042f # v2.3.4
with:
repository: dgryski/go-speck
ref: 5b36d4c08d8840c352a153bf37281434ad550ec0
path: go-speck
persist-credentials: false
- name: Setup Root Module
working-directory: go-speck
run: |
go mod init github.com/dgryski/go-speck
go get github.com/dgryski/go-skipjack@v0.0.0-20150401095227-f3a984a142ab
- name: Create Generator Module
working-directory: go-speck
run: |
mkdir avo
git mv asm.go avo
- name: Setup Generator Module
working-directory: go-speck/avo
run: |
sed -i.bak '/+build ignore/d' asm.go
go mod init github.com/dgryski/go-speck/avo
- name: Avo Module Replacement
working-directory: go-speck/avo
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-speck/avo
run: |
go mod edit -modfile=go.mod -require=github.com/dgryski/go-speck@v0.0.0-00010101000000-000000000000
go mod edit -modfile=go.mod -replace=github.com/dgryski/go-speck=../
go run asm.go -out ../speck_amd64.s
- name: Diff
working-directory: go-speck
run: git diff
- name: Test
working-directory: go-speck
run: go test ./...
dgryski-go-chaskey:
runs-on: ubuntu-latest
steps:
- name: Install Go
uses: actions/setup-go@37335c7bb261b353407cff977110895fa0b4f7d8 # v2.1.3
with:
go-version: 1.17.x
- name: Checkout avo
uses: actions/checkout@5a4ac9002d0be2fb38bd78e4b4dbde5606d7042f # v2.3.4
with:
path: avo
persist-credentials: false
- name: Checkout dgryski/go-chaskey
uses: actions/checkout@5a4ac9002d0be2fb38bd78e4b4dbde5606d7042f # v2.3.4
with:
repository: dgryski/go-chaskey
ref: ba454392bc5ab6daae103e15147185f8f4a27dcc
path: go-chaskey
persist-credentials: false
- name: Setup Root Module
working-directory: go-chaskey
run: |
go mod init github.com/dgryski/go-chaskey
go get github.com/dchest/siphash@v1.2.2
- name: Create Generator Module
working-directory: go-chaskey
run: |
mkdir avo
git mv asm.go avo
- name: Setup Generator Module
working-directory: go-chaskey/avo
run: |
sed -i.bak '/+build ignore/d' asm.go
go mod init github.com/dgryski/go-chaskey/avo
- name: Avo Module Replacement
working-directory: go-chaskey/avo
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-chaskey/avo
run: |
go mod edit -modfile=go.mod -require=github.com/dgryski/go-chaskey@v0.0.0-00010101000000-000000000000
go mod edit -modfile=go.mod -replace=github.com/dgryski/go-chaskey=../
go run asm.go -out ../core_amd64.s
- name: Diff
working-directory: go-chaskey
run: git diff
- name: Test
working-directory: go-chaskey
run: go test ./...
lukechampine-us-merkle-blake2b:
runs-on: ubuntu-latest
steps:
- name: Install Go
uses: actions/setup-go@37335c7bb261b353407cff977110895fa0b4f7d8 # v2.1.3
with:
go-version: 1.17.x
- name: Checkout avo
uses: actions/checkout@5a4ac9002d0be2fb38bd78e4b4dbde5606d7042f # v2.3.4
with:
path: avo
persist-credentials: false
- name: Checkout lukechampine/us
uses: actions/checkout@5a4ac9002d0be2fb38bd78e4b4dbde5606d7042f # v2.3.4
with:
repository: lukechampine/us
ref: dff56a80f83653cb14eeeb57ba6ba3c3e942c412
path: us
persist-credentials: false
- name: Create Generator Module
working-directory: us/merkle/blake2b
run: |
mkdir avo
git mv gen.go avo
- name: Setup Generator Module
working-directory: us/merkle/blake2b/avo
run: |
sed -i.bak '/+build ignore/d' gen.go
go mod init github.com/lukechampine/us/merkle/blake2b/avo
- name: Avo Module Replacement
working-directory: us/merkle/blake2b/avo
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: us/merkle/blake2b/avo
run: go run gen.go -out ../blake2b_amd64.s
- name: Diff
working-directory: us/merkle/blake2b
run: git diff
- name: Test
working-directory: us/merkle/blake2b
run: go test ./...