@@ -48,45 +48,54 @@ jobs:
48
48
with :
49
49
name : kubo
50
50
path : cmd/ipfs/ipfs
51
- interop :
51
+ helias :
52
52
needs : [interop-prep]
53
53
runs-on : ${{ fromJSON(github.repository == 'ipfs/kubo' && '["self-hosted", "linux", "x64", "2xlarge"]' || '"ubuntu-latest"') }}
54
54
timeout-minutes : 20
55
55
defaults :
56
56
run :
57
57
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
58
61
steps :
59
62
- uses : actions/setup-node@v3
60
63
with :
61
- node-version : 16.12.0
64
+ node-version : lts/*
62
65
- uses : actions/download-artifact@v3
63
66
with :
64
67
name : kubo
65
68
path : cmd/ipfs
66
69
- 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
69
71
id : npm-cache-dir
70
72
- uses : actions/cache@v3
71
73
with :
72
74
path : ${{ steps.npm-cache-dir.outputs.dir }}
73
75
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
77
82
- 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"
82
86
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
89
90
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
90
99
go-ipfs-api :
91
100
needs : [interop-prep]
92
101
runs-on : ubuntu-latest
0 commit comments