Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

sync: update CI config files #70

Merged
merged 4 commits into from
Aug 24, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions .github/workflows/go-check.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,12 +11,12 @@ jobs:
env:
RUNGOGENERATE: false
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v3
with:
submodules: recursive
- uses: actions/setup-go@v2
- uses: actions/setup-go@v3
with:
go-version: "1.18.x"
go-version: "1.19.x"
- name: Run repo-specific setup
uses: ./.github/actions/go-check-setup
if: hashFiles('./.github/actions/go-check-setup') != ''
Expand All @@ -27,7 +27,7 @@ jobs:
echo "RUNGOGENERATE=true" >> $GITHUB_ENV
fi
- name: Install staticcheck
run: go install honnef.co/go/tools/cmd/staticcheck@d7e217c1ff411395475b2971c0824e1e7cc1af98 # 2022.1 (v0.3.0)
run: go install honnef.co/go/tools/cmd/staticcheck@376210a89477dedbe6fdc4484b233998650d7b3c # 2022.1.3 (v0.3.3)
- name: Check that go.mod is tidy
uses: protocol/multiple-go-modules@v1.2
with:
Expand Down
12 changes: 6 additions & 6 deletions .github/workflows/go-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,16 +10,16 @@ jobs:
fail-fast: false
matrix:
os: [ "ubuntu", "windows", "macos" ]
go: [ "1.17.x", "1.18.x" ]
go: [ "1.18.x", "1.19.x" ]
env:
COVERAGES: ""
runs-on: ${{ format('{0}-latest', matrix.os) }}
name: ${{ matrix.os }} (go ${{ matrix.go }})
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v3
with:
submodules: recursive
- uses: actions/setup-go@v2
- uses: actions/setup-go@v3
with:
go-version: ${{ matrix.go }}
- name: Go information
Expand All @@ -43,7 +43,7 @@ jobs:
# Use -coverpkg=./..., so that we include cross-package coverage.
# If package ./A imports ./B, and ./A's tests also cover ./B,
# this means ./B's coverage will be significantly higher than 0%.
run: go test -v -coverprofile=module-coverage.txt -coverpkg=./... ./...
run: go test -v -shuffle=on -coverprofile=module-coverage.txt -coverpkg=./... ./...
- name: Run tests (32 bit)
if: ${{ matrix.os != 'macos' }} # can't run 32 bit tests on OSX.
uses: protocol/multiple-go-modules@v1.2
Expand All @@ -52,7 +52,7 @@ jobs:
with:
run: |
export "PATH=${{ env.PATH_386 }}:$PATH"
go test -v ./...
go test -v -shuffle=on ./...
- name: Run tests with race detector
if: ${{ matrix.os == 'ubuntu' }} # speed things up. Windows and OSX VMs are slow
uses: protocol/multiple-go-modules@v1.2
Expand All @@ -62,7 +62,7 @@ jobs:
shell: bash
run: echo "COVERAGES=$(find . -type f -name 'module-coverage.txt' | tr -s '\n' ',' | sed 's/,$//')" >> $GITHUB_ENV
- name: Upload coverage to Codecov
uses: codecov/codecov-action@f32b3a3741e1053eb607407145bc9619351dc93b # v2.1.0
uses: codecov/codecov-action@81cd2dc8148241f03f5839d295e000b8f761e378 # v3.1.0
with:
files: '${{ env.COVERAGES }}'
env_vars: OS=${{ matrix.os }}, GO=${{ matrix.go }}
7 changes: 3 additions & 4 deletions doc.go
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ means of storing non-sparse array data as required, with a small amount of
storage and algorithmic overhead required to handle mapping that assumes that
some elements within any range of data may not be present.

Algorithm Overview
# Algorithm Overview

The AMT algorithm produces a tree-like graph, with a single root node
addressing a collection of child nodes which connect downward toward leaf nodes
Expand Down Expand Up @@ -144,15 +144,15 @@ bitmap is set, meaning only the left-most is present, which will become the
new root node (repeated until the new root has more than the first bit set or
height of 0, the single-node case).

Further Reading
# Further Reading

See https://github.com/ipld/specs/blob/master/data-structures/hashmap.md for a
description of a HAMT algorithm. And
https://github.com/ipld/specs/blob/master/data-structures/vector.md for a
description of a similar algorithm to an AMT that doesn't support internal node
compression and therefore doesn't support sparse arrays.

Usage Considerations
# Usage Considerations

Unlike a HAMT, the AMT algorithm doesn't benefit from randomness introduced by
a hash algorithm. Therefore an AMT used in cases where user-input can
Expand Down Expand Up @@ -182,6 +182,5 @@ There is a direct relationship between the sparseness of index values and the
number of nodes required to address the entries. This should be the key
consideration when determining whether an AMT is a suitable data-structure for
a given application.

*/
package amt
2 changes: 1 addition & 1 deletion go.mod
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
module github.com/filecoin-project/go-amt-ipld/v4

go 1.17
go 1.18

require (
github.com/ipfs/go-block-format v0.0.2
Expand Down
12 changes: 6 additions & 6 deletions internal/internal.go
Original file line number Diff line number Diff line change
Expand Up @@ -61,12 +61,12 @@ type Node struct {
//
// The root is serialized in the following form, described as an IPLD Schema:
//
// type Root struct {
// bitWidth Int
// height Int
// count Int
// node Node
// } representation tuple
// type Root struct {
// bitWidth Int
// height Int
// count Int
// node Node
// } representation tuple
//
// Where bitWidth, height and count are unsigned integers and Node is the
// initial root node, see below.
Expand Down