Skip to content

Commit 63390f7

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

File tree

2 files changed

+34
-24
lines changed

2 files changed

+34
-24
lines changed

.github/workflows/build.yml

+34-18
Original file line numberDiff line numberDiff line change
@@ -48,45 +48,61 @@ 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
77-
- 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
76+
restore-keys: ${{ runner.os }}-${{ github.job }}-${{ matrix.repo-to-test-against }}
77+
- run: sudo apt update
78+
- run: sudo apt install -y libxkbcommon0 libxdamage1 libgbm1 libpango-1.0-0 libcairo2 # dependencies for playwright
79+
- uses: actions/checkout@v3
80+
with:
81+
repository: ipfs/${{ matrix.repo-to-test-against }}
82+
fetch-depth: 0
83+
path: interop
84+
- name: Checkout latest tag
85+
run: |
86+
exit 0 # temporary while theses pull requests are released:
87+
# https://github.com/ipfs/helia/pull/200
88+
# https://github.com/ipfs/helia-unixfs/pull/68
89+
# https://github.com/ipfs/helia-ipns/pull/72
90+
export TAG="$(git describe --tags --abbrev=0)"
91+
echo "Running tests against: $TAG"
92+
git checkout "$TAG"
8293
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
94+
- run: npm install
95+
working-directory: interop
96+
- run: npm run build
8997
working-directory: interop
98+
- run: npm install
99+
working-directory: interop/packages/interop
100+
- run: npm install --ignore-scripts --save "ipfs/npm-go-ipfs#4441b8a60f1cfee3035a9e4bb824dfcca08e9b01" # temporary while https://github.com/ipfs/npm-go-ipfs/pull/62 is being bubbled
101+
working-directory: interop/packages/interop
102+
- run: npm test
103+
working-directory: interop/packages/interop
104+
env:
105+
KUBO_BINARY: ${{ github.workspace }}/cmd/ipfs/ipfs
90106
go-ipfs-api:
91107
needs: [interop-prep]
92108
runs-on: ubuntu-latest

docs/RELEASE_ISSUE_TEMPLATE.md

-6
Original file line numberDiff line numberDiff line change
@@ -174,12 +174,6 @@ This section covers tasks to be done during each release.
174174
- use `vX.Y.Z(-RCN)` as the Kubo image version
175175
- [ ] wait for the [e2e](https://github.com/ipfs/ipfs-companion/actions/workflows/e2e.yml) workflow run to finish
176176
</details>
177-
- [ ] ![](https://img.shields.io/badge/only-FINAL-green?style=flat-square) Update Kubo in [interop](https://github.com/ipfs/interop) <details><summary>using `./kuboreleaser release --version vX.Y.Z(-rcN) update-interop` or ...</summary>
178-
- [ ] ![](https://img.shields.io/badge/only-FINAL-green?style=flat-square) check out [ipfs/interop](https://github.com/ipfs/interop)
179-
- [ ] ![](https://img.shields.io/badge/only-FINAL-green?style=flat-square) run `npm install`
180-
- [ ] ![](https://img.shields.io/badge/only-FINAL-green?style=flat-square) create a PR which updates `package.json` and `package-lock.json`
181-
- [ ] ![](https://img.shields.io/badge/only-FINAL-green?style=flat-square) merge the PR
182-
</details>
183177
- [ ] ![](https://img.shields.io/badge/only-FINAL-green?style=flat-square) Update Kubo in [ipfs-desktop](https://github.com/ipfs/ipfs-desktop) <details><summary>using `./kuboreleaser release --version vX.Y.Z(-rcN) update-ipfs-desktop` or ...</summary>
184178
- [ ] check out [ipfs/ipfs-desktop](https://github.com/ipfs/ipfs-desktop)
185179
- [ ] run `npm install`

0 commit comments

Comments
 (0)