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

[CI][Testing] Add BuildJet CI runners for unit tests, integration tests; cache Docker images #4906

Merged
merged 89 commits into from
Nov 10, 2023
Merged
Show file tree
Hide file tree
Changes from 84 commits
Commits
Show all changes
89 commits
Select commit Hold shift + click to select a range
bc5e7ef
unit tests, integration tests using buildjet-4vcpu runner
gomisha Oct 30, 2023
fb69048
listTargetPackages() returns map of CI runners
gomisha Nov 1, 2023
291e71d
test for custom runners
gomisha Nov 1, 2023
e7a7f7e
generateTestMatrix() stores CI runner
gomisha Nov 1, 2023
371e4b3
more testing with custom CI runners
gomisha Nov 1, 2023
00117a4
CI test - 2 unit tests running buildjet runners
gomisha Nov 1, 2023
6a25c05
increase engine unit tests to 8 vCPUs
gomisha Nov 1, 2023
0a3854b
resource manager full load test (8 vCPUs)
gomisha Nov 2, 2023
983e488
network/test tests unquarantined, increased runners
gomisha Nov 2, 2023
0b422d5
Merge branch 'master' into misha/6894-buildjet-ci-test
gomisha Nov 2, 2023
6048198
increased to 16 vCPUs
gomisha Nov 2, 2023
eb81e79
increased engine tests to 16 vCPUs
gomisha Nov 3, 2023
d496e7f
insecure module uses buildjet 4 vcpu runner
gomisha Nov 3, 2023
d320b6b
bft framework integration test using buildjet
gomisha Nov 3, 2023
620d6a1
engine tests split up to 6 jobs with default runners
gomisha Nov 3, 2023
daeac5f
added back all integration tests
gomisha Nov 3, 2023
98c5197
upgraded runners for some integration tests, engine/execution
gomisha Nov 3, 2023
1259067
dummy commit to kick off CI
gomisha Nov 3, 2023
959bf17
split up TestScriptExecutionAndGetAccounts into 3 tests
gomisha Nov 3, 2023
027513c
updated runners for Epoch Cohort2, Access Integration Tests
gomisha Nov 6, 2023
e6a5ef3
AN integration tests split up into 3 cohorts (skip unit, other integr…
gomisha Nov 6, 2023
10c9edd
docker build using GitHub cache
gomisha Nov 6, 2023
c589487
remove saving Docker image locally
gomisha Nov 6, 2023
5998a0d
cache v3, saving local tar before caching, 8vcpu
gomisha Nov 6, 2023
9f86a31
add 11 docker images to docker-images.tar, 16 vcpu
gomisha Nov 6, 2023
ba1b00f
docker save multiline fix; skip localnet-test
gomisha Nov 6, 2023
544b877
docker build increase to 32 vcpu
gomisha Nov 6, 2023
99a9b9e
buildjet cache instead of GitHub cache
gomisha Nov 6, 2023
0e4d303
lint fix
gomisha Nov 6, 2023
94192f6
activate more integration tests with default runners, using cached Do…
gomisha Nov 6, 2023
c1f10f1
docker-build downsized to 16 vcpu
gomisha Nov 6, 2023
5ebfaa0
integration test without relic build
gomisha Nov 6, 2023
6ca0231
put back relic build for integration tests
gomisha Nov 6, 2023
8766f2a
put back all remaining integration tests using BuildJet runners
gomisha Nov 6, 2023
d637a60
Merge branch 'master' into misha/6894-buildjet-ci-test
gomisha Nov 6, 2023
deab1b1
Merge branch 'misha/6894-buildjet-ci-test' of https://github.com/onfl…
gomisha Nov 6, 2023
a9b3441
integration tests reverted to ubuntu-latest runners
gomisha Nov 7, 2023
034942d
re-activated unit-test, unit-test-modules jobs
gomisha Nov 7, 2023
3037af2
added (failing) test for sub-sub packages
gomisha Nov 7, 2023
35f4706
sub-sub packages support
gomisha Nov 7, 2023
1520df6
sub-sub package test enhanced
gomisha Nov 7, 2023
357d9c5
updated other tests to support new sub-sub packages
gomisha Nov 7, 2023
1591a60
split up engine/execution unit tests into 3 jobs
gomisha Nov 7, 2023
645fc0b
engine/execution/ingestion upgraded to 4 vcpu
gomisha Nov 7, 2023
37ecc81
engine/execution/ingestion:buildjet-8vcpu
gomisha Nov 8, 2023
f52d044
network/test, network/p2p increased to 8 vcpu; added remaining networ…
gomisha Nov 8, 2023
a4bfe9c
BFT Framework, Epoch Cohort 2 - increased to 4 vcpu
gomisha Nov 8, 2023
abc6048
upgraded runners for Access Cohort 1, Epoch Cohort 1, 2
gomisha Nov 8, 2023
91a5adf
epoch cohort2 upgraded to 16 vcpu
gomisha Nov 8, 2023
d0b29ce
BFT Framework upgrade to 8 vcpu, epoch cohort2 removed flaky test, do…
gomisha Nov 8, 2023
655cf1c
quarantined flaky test - TestEpochJoinAndLeaveVN
gomisha Nov 8, 2023
14e0019
quarantined flaky test - TestSealingAndVerificationPassThrough
gomisha Nov 8, 2023
b98a39d
Merge branch 'master' into misha/6894-buildjet-ci-test
gomisha Nov 8, 2023
e2b0cdc
lint fix
gomisha Nov 8, 2023
457ae50
network/test split up into network/test/cohort1, network/test/cohort2
gomisha Nov 8, 2023
1554902
network/p2p split up into 4 subpackages
gomisha Nov 8, 2023
7944c28
extracted network/alsp into separate job
gomisha Nov 8, 2023
6e03881
extracted module/dkg into separate job
gomisha Nov 8, 2023
52bd044
engine/execution/ingestion dowgraded to stock runner
gomisha Nov 8, 2023
32afbca
added engine parent package as separate job
gomisha Nov 8, 2023
d8df732
added storage parent package as separate job
gomisha Nov 8, 2023
ec2d6c5
added state package as separate job
gomisha Nov 8, 2023
43c862e
removed localnet-test job
gomisha Nov 8, 2023
d7c598d
engine/execution/ingestion upgraded to 2 vcpu
gomisha Nov 8, 2023
56a4a17
network/p2p/p2pnode upgraded to 2 vcpu
gomisha Nov 8, 2023
60c281e
module, engine upgraded to 2 vcpu
gomisha Nov 8, 2023
1423ee2
network/p2p/p2pnode upgraded to 4 vcpu
gomisha Nov 8, 2023
de74efb
network/test/cohort2 upgraded to 4 vcpu
gomisha Nov 8, 2023
4884166
engine upgraded to 4 vcpu
gomisha Nov 8, 2023
4ad3fa4
engine/execution/ingestion upgraded to 4 vcpu, network/test/cohort1 u…
gomisha Nov 8, 2023
acdb459
network/test/cohort1 upgraded to 4 vcpu
gomisha Nov 8, 2023
3ed7c01
engine/execution/ingestion upgraded to 8 vcpu
gomisha Nov 8, 2023
b540d8f
network/test/cohort1 upgraded to 8 vcpu
gomisha Nov 8, 2023
14b8c6c
BFT (Protocol) upgraded to 4 vcpu
gomisha Nov 8, 2023
ab7cd72
network/test/cohort1 upgraded to 16 vcpu
gomisha Nov 8, 2023
aa60cab
BFT (Protocol), Epoch Cohort1 upgraded to 8 vcpu
gomisha Nov 8, 2023
c1826f9
noop push to kick off CI
gomisha Nov 9, 2023
7c96928
Module (integration) upgraded to 4 vcpu
gomisha Nov 9, 2023
ac432e2
TestUnicastRateLimit_Messages flaky test quarantined
gomisha Nov 9, 2023
7c922cb
noop push to kick off CI
gomisha Nov 9, 2023
ced2ce9
buildjet/cache@v3 => actions/cache@v3
gomisha Nov 9, 2023
76e2f53
test retries increased to 5, timeout increased to 35 mins
gomisha Nov 9, 2023
47e71f9
module job increased to 4 vcpu
gomisha Nov 9, 2023
9f889cc
Merge branch 'master' into misha/6894-buildjet-ci-test
gomisha Nov 9, 2023
b60901b
unquarantined epoch flaky test after it was fixed
gomisha Nov 9, 2023
6761410
unlink flaky test monitor workflow from running when ci changes
gomisha Nov 9, 2023
131490c
Merge branch 'misha/6894-buildjet-ci-test' of https://github.com/onfl…
gomisha Nov 9, 2023
8d6dfe4
clean up
gomisha Nov 9, 2023
d9d1b42
lint fix
gomisha Nov 9, 2023
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
180 changes: 113 additions & 67 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -99,7 +99,7 @@ jobs:
cache: true
- name: Set Test Matrix
id: set-test-matrix
run: go run utils/test_matrix/test_matrix.go admin cmd consensus engine fvm ledger module network/test network/p2p utils
run: go run utils/test_matrix/test_matrix.go admin cmd consensus engine/access engine/collection engine/common engine/consensus engine/execution/ingestion:buildjet-8vcpu-ubuntu-2204 engine/execution/computation engine/execution engine/verification engine:buildjet-4vcpu-ubuntu-2204 fvm ledger module/dkg module:buildjet-4vcpu-ubuntu-2204 network/alsp network/test/cohort1:buildjet-16vcpu-ubuntu-2204 network/test/cohort2:buildjet-4vcpu-ubuntu-2204 network/p2p/connection network/p2p/p2pnode:buildjet-4vcpu-ubuntu-2204 network/p2p/scoring network/p2p network state storage utils

unit-test:
name: Unit Tests (${{ matrix.targets.name }})
Expand All @@ -108,8 +108,8 @@ jobs:
fail-fast: false
matrix:
targets: ${{ fromJSON(needs.create-dynamic-test-matrix.outputs.dynamic-matrix)}}
# need to set image explicitly due to GitHub logging issue as described in https://github.com/onflow/flow-go/pull/3087#issuecomment-1234383202
runs-on: ubuntu-20.04
## need to set image explicitly due to GitHub logging issue as described in https://github.com/onflow/flow-go/pull/3087#issuecomment-1234383202
runs-on: ${{ matrix.targets.runner }}
steps:
- name: Checkout repo
uses: actions/checkout@v3
Expand All @@ -123,8 +123,8 @@ jobs:
- name: Run tests (${{ matrix.targets.name }})
uses: nick-fields/retry@v2
with:
timeout_minutes: 25
max_attempts: 3
timeout_minutes: 35
max_attempts: 5
command: VERBOSE=1 make -e GO_TEST_PACKAGES="${{ matrix.targets.packages }}" test

# TODO(rbtz): re-enable when we fix exisiting races.
Expand All @@ -148,17 +148,20 @@ jobs:
make2: unittest
retries: 1
race: 1
runner: ubuntu-latest
- name: insecure
make1: install-tools
make2: test
retries: 3
retries: 5
race: 0
runner: buildjet-4vcpu-ubuntu-2204
- name: integration
make1: install-tools
make2: test
retries: 3
retries: 5
race: 0
runs-on: ubuntu-latest
runner: buildjet-4vcpu-ubuntu-2204
runs-on: ${{ matrix.runner }}
steps:
- name: Checkout repo
uses: actions/checkout@v3
Expand All @@ -174,7 +177,7 @@ jobs:
RACE_DETECTOR: ${{ matrix.race }}
uses: nick-fields/retry@v2
with:
timeout_minutes: 25
timeout_minutes: 35
max_attempts: ${{ matrix.retries }}
# run `make2` target inside each module's root
command: VERBOSE=1 make -C ${{ matrix.name }} ${{ matrix.make2 }}
Expand All @@ -185,27 +188,101 @@ jobs:
flags: unittests
name: codecov-umbrella

docker-build:
name: Docker Build
runs-on: buildjet-16vcpu-ubuntu-2204
steps:
- name: Checkout repo
uses: actions/checkout@v3
with:
# all tags are needed for integration tests
fetch-depth: 0
- name: Setup Go
uses: actions/setup-go@v3
with:
go-version: ${{ env.GO_VERSION }}
cache: true
- name: Build relic
run: make crypto_setup_gopath
- name: Docker build
run: make docker-build-flow docker-build-flow-corrupt
- name: Save Docker images
run: |
docker save \
gcr.io/flow-container-registry/access:latest \
gcr.io/flow-container-registry/collection:latest \
gcr.io/flow-container-registry/consensus:latest \
gcr.io/flow-container-registry/execution:latest \
gcr.io/flow-container-registry/ghost:latest \
gcr.io/flow-container-registry/observer:latest \
gcr.io/flow-container-registry/verification:latest \
gcr.io/flow-container-registry/access-corrupted:latest \
gcr.io/flow-container-registry/execution-corrupted:latest \
gcr.io/flow-container-registry/verification-corrupted:latest > flow-docker-images.tar
- name: Cache Docker images
uses: actions/cache@v3
with:
path: flow-docker-images.tar
# use the workflow run id as part of the cache key to ensure these docker images will only be used for a single workflow run
key: flow-docker-images-${{ hashFiles('**/Dockerfile') }}-${{ github.run_id }}

integration-test:
name: Integration Tests
needs: docker-build
strategy:
fail-fast: false
matrix:
make:
- make -C integration access-tests
- make -C integration bft-framework-tests
- make -C integration bft-protocol-tests
- make -C integration bft-gossipsub-tests
- make -C integration collection-tests
- make -C integration consensus-tests
- make -C integration epochs-cohort1-tests
- make -C integration epochs-cohort2-tests
- make -C integration execution-tests
- make -C integration ghost-tests
- make -C integration mvp-tests
- make -C integration network-tests
- make -C integration verification-tests
- make -C integration upgrades-tests
runs-on: ubuntu-latest
include:
- name: Access Cohort1 Integration Tests
make: make -C integration access-cohort1-tests
runner: buildjet-4vcpu-ubuntu-2204
- name: Access Cohort2 Integration Tests
make: make -C integration access-cohort2-tests
runner: ubuntu-latest
- name: Access Cohort3 Integration Tests
make: make -C integration access-cohort3-tests
runner: ubuntu-latest
# test suite has single test which is flaky and needs to be fixed - reminder here to put it back when it's fixed
# - name: BFT (Framework) Integration Tests
# make: make -C integration bft-framework-tests
# runner: ubuntu-latest
- name: BFT (Protocol) Integration Tests
make: make -C integration bft-protocol-tests
runner: buildjet-8vcpu-ubuntu-2204
- name: BFT (Gossipsub) Integration Tests
make: make -C integration bft-gossipsub-tests
runner: ubuntu-latest
- name: Collection Integration Tests
make: make -C integration collection-tests
runner: ubuntu-latest
- name: Consensus Integration Tests
make: make -C integration consensus-tests
runner: ubuntu-latest
- name: Epoch Cohort1 Integration Tests
make: make -C integration epochs-cohort1-tests
runner: buildjet-8vcpu-ubuntu-2204
- name: Epoch Cohort2 Integration Tests
make: make -C integration epochs-cohort2-tests
runner: buildjet-4vcpu-ubuntu-2204
- name: Execution Integration Tests
make: make -C integration execution-tests
runner: ubuntu-latest
- name: Ghost Integration Tests
make: make -C integration ghost-tests
runner: ubuntu-latest
- name: MVP Integration Tests
make: make -C integration mvp-tests
runner: ubuntu-latest
- name: Network Integration Tests
make: make -C integration network-tests
runner: ubuntu-latest
- name: Verification Integration Tests
make: make -C integration verification-tests
runner: ubuntu-latest
- name: Upgrade Integration Tests
make: make -C integration upgrades-tests
runner: ubuntu-latest
runs-on: ${{ matrix.runner }}
steps:
- name: Checkout repo
uses: actions/checkout@v3
Expand All @@ -219,51 +296,20 @@ jobs:
cache: true
- name: Build relic
run: make crypto_setup_gopath
- name: Docker build
run: make docker-build-flow docker-build-flow-corrupt
- name: Run tests
- name: Load cached Docker images
uses: actions/cache@v3
with:
path: flow-docker-images.tar
# use the same cache key as the docker-build job
key: flow-docker-images-${{ hashFiles('**/Dockerfile') }}-${{ github.run_id }}
- name: Load Docker images
run: docker load -i flow-docker-images.tar
- name: Run tests (${{ matrix.name }})
# TODO(rbtz): re-enable when we fix exisiting races.
#env:
# RACE_DETECTOR: 1
uses: nick-fields/retry@v2
with:
timeout_minutes: 25
max_attempts: 3
timeout_minutes: 35
max_attempts: 5
command: VERBOSE=1 ${{ matrix.make }}

localnet-test:
name: Localnet Compatibility Tests With Flow-CLI Client and Observer
strategy:
fail-fast: false
runs-on: ubuntu-latest
steps:
- name: Checkout repo
uses: actions/checkout@v3
- name: Setup Go
uses: actions/setup-go@v3
with:
go-version: ${{ env.GO_VERSION }}
cache: true
- name: Build relic and other tools
run: make install-tools
- name: Install Flow Client In Docker
# This proved to be more reliable than installing it locally.
run: cd integration/localnet && sh client/client.sh
- name: Set up Localnet
run: bash -c 'cd integration/localnet/ && make -e OBSERVER=2 bootstrap && make start-flow'
- name: Ensure Observer is started
run: docker ps -f name=localnet-observer_1-1 | grep localnet-observer
- name: Get Client Version ensuring the client is provisioned
run: docker run --network host localnet-client /go/flow -f /go/flow-localnet.json -n observer version
- name: Wait for a default waiting period until a clean state
# This will not cause flakiness.
# The waiting time is a reasonable time to expect an observer to be responsive
run: sleep 10
- name: Get Status ensuring the access endpoint is online
run: docker run --network host localnet-client /go/flow -f /go/flow-localnet.json -n access status
- name: Wait for finalized blocks and check them
run: docker run --network host localnet-client /go/flow -f /go/flow-localnet.json -n observer blocks get latest
- name: Wait for finalized blocks and check them with Observer
run: sleep 5 && docker run --network host localnet-client /go/flow -f /go/flow-localnet.json -n access blocks get latest && docker run --network host localnet-client /go/flow -f /go/flow-localnet.json -n observer blocks get latest
- name: Stop localnet
run: bash -c 'cd integration/localnet/ && make stop'
8 changes: 4 additions & 4 deletions .github/workflows/flaky-test-monitor.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,10 @@ name: Flaky Test Monitor
on:
schedule:
- cron: '0 */2 * * *' # every 2 hours
push:
paths:
- '.github/workflows/flaky-test-monitor.yml'
- '.github/workflows/ci.yml'
# push:
# paths:
# - '.github/workflows/flaky-test-monitor.yml'
# - '.github/workflows/ci.yml'
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should this be un-commented or removed?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks. Flaky Test Monitor CI workflow needs to have a major overhaul now that the main CI workflow uses custom runners and Docker caching. I will address that in a separate PR.

6761410


env:
BIGQUERY_DATASET: production_src_flow_test_metrics
Expand Down
15 changes: 12 additions & 3 deletions integration/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -24,9 +24,18 @@ ci-integration-test: access-tests ghost-tests mvp-tests epochs-cohort1-tests epo
test:
go test $(if $(VERBOSE),-v,) -tags relic -coverprofile=$(COVER_PROFILE) $(RACE_FLAG) $(if $(JSON_OUTPUT),-json,) $(if $(NUM_RUNS),-count $(NUM_RUNS),) `go list ./... | grep -v -e integration/tests`

.PHONY: access-tests
access-tests:
go test $(if $(VERBOSE),-v,) $(RACE_FLAG) $(if $(JSON_OUTPUT),-json,) $(if $(NUM_RUNS),-count $(NUM_RUNS),) -tags relic ./tests/access/...
.PHONY: access-cohort1-tests
access-cohort1-tests:
go test $(if $(VERBOSE),-v,) $(RACE_FLAG) $(if $(JSON_OUTPUT),-json,) $(if $(NUM_RUNS),-count $(NUM_RUNS),) -tags relic ./tests/access/cohort1/...

.PHONY: access-cohort2-tests
access-cohort2-tests:
go test $(if $(VERBOSE),-v,) $(RACE_FLAG) $(if $(JSON_OUTPUT),-json,) $(if $(NUM_RUNS),-count $(NUM_RUNS),) -tags relic ./tests/access/cohort2/...

.PHONY: access-cohort3-tests
access-cohort3-tests:
go test $(if $(VERBOSE),-v,) $(RACE_FLAG) $(if $(JSON_OUTPUT),-json,) $(if $(NUM_RUNS),-count $(NUM_RUNS),) -tags relic ./tests/access/cohort3/...


.PHONY: collection-tests
collection-tests:
Expand Down
Original file line number Diff line number Diff line change
@@ -1,10 +1,12 @@
package access
package cohort1

import (
"context"
"testing"
"time"

"github.com/onflow/flow-go/integration/tests/mvp"

"github.com/rs/zerolog"
"github.com/stretchr/testify/suite"
"google.golang.org/grpc/codes"
Expand All @@ -18,7 +20,6 @@ import (
"github.com/onflow/flow-go/engine/access/rpc/backend"
"github.com/onflow/flow-go/integration/testnet"
"github.com/onflow/flow-go/integration/tests/lib"
"github.com/onflow/flow-go/integration/tests/mvp"
"github.com/onflow/flow-go/integration/utils"
"github.com/onflow/flow-go/model/flow"
"github.com/onflow/flow-go/utils/unittest"
Expand Down Expand Up @@ -143,30 +144,44 @@ func (s *AccessAPISuite) SetupTest() {
}, 30*time.Second, 1*time.Second)
}

// TestScriptExecutionAndGetAccounts test the Access API endpoints for executing scripts and getting
// accounts using both local storage and execution nodes.
// TestScriptExecutionAndGetAccountsAN1 test the Access API endpoints for executing scripts and getting
// accounts using execution nodes.
//
// Note: combining all tests together to reduce setup/teardown time. test cases are read-only
// Note: not combining AN1, AN2 tests together because that causes a drastic increase in test run times. test cases are read-only
// and should not interfere with each other.
func (s *AccessAPISuite) TestScriptExecutionAndGetAccounts() {
func (s *AccessAPISuite) TestScriptExecutionAndGetAccountsAN1() {
// deploy the test contract
txResult := s.deployContract()
targetHeight := txResult.BlockHeight + 1
s.waitUntilIndexed(targetHeight)

// Run tests against Access 2, which uses local storage
s.testGetAccount(s.an2Client)
s.testExecuteScriptWithSimpleScript(s.an2Client)
s.testExecuteScriptWithSimpleContract(s.an2Client, targetHeight)

// Run tests against Access 1, which uses the execution node
s.testGetAccount(s.an1Client)
s.testExecuteScriptWithSimpleScript(s.an1Client)
s.testExecuteScriptWithSimpleContract(s.an1Client, targetHeight)
}

// TestScriptExecutionAndGetAccountsAN2 test the Access API endpoints for executing scripts and getting
// accounts using local storage.
//
// Note: not combining AN1, AN2 tests together because that causes a drastic increase in test run times. test cases are read-only
// and should not interfere with each other.
func (s *AccessAPISuite) TestScriptExecutionAndGetAccountsAN2() {
// deploy the test contract
txResult := s.deployContract()
targetHeight := txResult.BlockHeight + 1
s.waitUntilIndexed(targetHeight)

// Run tests against Access 2, which uses local storage
s.testGetAccount(s.an2Client)
s.testExecuteScriptWithSimpleScript(s.an2Client)
s.testExecuteScriptWithSimpleContract(s.an2Client, targetHeight)
}

func (s *AccessAPISuite) TestMVPScriptExecutionLocalStorage() {
// this is a specialized test that creates accounts, deposits funds, deploys contracts, etc, and
// uses the provided access node to handle the Access API calls. there is an existing test that
// covers the default config, so we only need to test with local storage here.
// covers the default config, so we only need to test with local storage.
mvp.RunMVPTest(s.T(), s.ctx, s.net, s.accessNode2)
}

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package access
package cohort2

import (
"bytes"
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package access
package cohort3

import (
"context"
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package access
package cohort3

import (
"context"
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package access
package cohort3

import (
"context"
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package access
package cohort3

import (
"context"
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package access
package cohort3

import (
"context"
Expand Down
Loading
Loading