Skip to content

Commit 96d9e3d

Browse files
committed
ci: switch interop tests from js-ipfs to helia
Fixes #10013
1 parent 89b0432 commit 96d9e3d

File tree

1 file changed

+26
-17
lines changed

1 file changed

+26
-17
lines changed

.github/workflows/build.yml

+26-17
Original file line numberDiff line numberDiff line change
@@ -48,45 +48,54 @@ jobs:
4848
with:
4949
name: kubo
5050
path: cmd/ipfs/ipfs
51-
interop:
51+
helias:
5252
needs: [interop-prep]
5353
runs-on: ${{ fromJSON(github.repository == 'ipfs/kubo' && '["self-hosted", "linux", "x64", "2xlarge"]' || '"ubuntu-latest"') }}
5454
timeout-minutes: 20
5555
defaults:
5656
run:
5757
shell: bash
58+
strategy:
59+
matrix:
60+
repo-to-test-against: ["helia", "helia-ipns", "helia-unixfs"] # this needs to be manually kept in sync as new helia tests are written
5861
steps:
5962
- uses: actions/setup-node@v3
6063
with:
61-
node-version: 16.12.0
64+
node-version: lts/*
6265
- uses: actions/download-artifact@v3
6366
with:
6467
name: kubo
6568
path: cmd/ipfs
6669
- run: chmod +x cmd/ipfs/ipfs
67-
- run: |
68-
echo "dir=$(npm config get cache)" >> $GITHUB_OUTPUT
70+
- run: echo "dir=$(npm config get cache)" >> $GITHUB_OUTPUT
6971
id: npm-cache-dir
7072
- uses: actions/cache@v3
7173
with:
7274
path: ${{ steps.npm-cache-dir.outputs.dir }}
7375
key: ${{ runner.os }}-${{ github.job }}-${{ hashFiles('**/package-lock.json') }}
74-
restore-keys: |
75-
${{ runner.os }}-${{ github.job }}-
76-
- run: mkdir interop
76+
restore-keys: ${{ runner.os }}-${{ github.job }}-${{ matrix.repo-to-test-against }}
77+
- uses: actions/checkout@v3
78+
with:
79+
repository: ipfs/${{ matrix.repo-to-test-against }}
80+
fetch-depth: 0
81+
path: interop
7782
- run: |
78-
npm init -y
79-
npm install ipfs@^0.66.0
80-
npm install kubo-rpc-client@^3.0.1
81-
npm install ipfs-interop@^10.0.1
83+
export TAG="$(git describe --tags --abbrev=0)"
84+
echo "Running tests against: $TAG"
85+
git checkout "$TAG"
8286
working-directory: interop
83-
# Run the interop tests while ignoring the js-js interop test cases
84-
- run: npx ipfs-interop -- -t node --grep '^(?!.*(js\d? -> js\d?|js-js-js|js-rv\d?-js))' --parallel
85-
env:
86-
LIBP2P_TCP_REUSEPORT: false
87-
LIBP2P_ALLOW_WEAK_RSA_KEYS: 1
88-
IPFS_GO_EXEC: ${{ github.workspace }}/cmd/ipfs/ipfs
87+
- run: npm install
88+
working-directory: interop
89+
- run: npm run build
8990
working-directory: interop
91+
- run: |
92+
npm install
93+
npm install --ignore-scripts --save "ipfs/npm-go-ipfs#4441b8a60f1cfee3035a9e4bb824dfcca08e9b01" # temporary while https://github.com/ipfs/npm-go-ipfs/pull/62 is being bubbled
94+
working-directory: interop/packages/interop
95+
- run: npm test
96+
env:
97+
KUBO_BINARY: ${{ github.workspace }}/cmd/ipfs/ipfs
98+
working-directory: interop/packages/interop
9099
go-ipfs-api:
91100
needs: [interop-prep]
92101
runs-on: ubuntu-latest

0 commit comments

Comments
 (0)