diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index 33d9f828a99..468d121a94d 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -48,45 +48,61 @@ jobs:
with:
name: kubo
path: cmd/ipfs/ipfs
- interop:
+ helia-interop:
needs: [interop-prep]
runs-on: ${{ fromJSON(github.repository == 'ipfs/kubo' && '["self-hosted", "linux", "x64", "2xlarge"]' || '"ubuntu-latest"') }}
timeout-minutes: 20
defaults:
run:
shell: bash
+ strategy:
+ matrix:
+ repo-to-test-against: ["helia", "helia-ipns", "helia-unixfs"] # this needs to be manually kept in sync as new helia tests are written
steps:
- uses: actions/setup-node@v3
with:
- node-version: 16.12.0
+ node-version: lts/*
- uses: actions/download-artifact@v3
with:
name: kubo
path: cmd/ipfs
- run: chmod +x cmd/ipfs/ipfs
- - run: |
- echo "dir=$(npm config get cache)" >> $GITHUB_OUTPUT
+ - run: echo "dir=$(npm config get cache)" >> $GITHUB_OUTPUT
id: npm-cache-dir
- uses: actions/cache@v3
with:
path: ${{ steps.npm-cache-dir.outputs.dir }}
- key: ${{ runner.os }}-${{ github.job }}-${{ hashFiles('**/package-lock.json') }}
- restore-keys: |
- ${{ runner.os }}-${{ github.job }}-
- - run: mkdir interop
- - run: |
- npm init -y
- npm install ipfs@^0.66.0
- npm install kubo-rpc-client@^3.0.1
- npm install ipfs-interop@^10.0.1
+ key: ${{ runner.os }}-${{ github.job }}-${{ matrix.repo-to-test-against }}-${{ hashFiles('**/package-lock.json') }}
+ restore-keys: ${{ runner.os }}-${{ github.job }}-${{ matrix.repo-to-test-against }}-
+ - run: sudo apt update
+ - run: sudo apt install -y libxkbcommon0 libxdamage1 libgbm1 libpango-1.0-0 libcairo2 # dependencies for playwright
+ - uses: actions/checkout@v3
+ with:
+ repository: ipfs/${{ matrix.repo-to-test-against }}
+ fetch-depth: 0
+ path: interop
+ - name: Checkout latest tag
+ run: |
+ exit 0 # temporary while theses pull requests are released:
+ # https://github.com/ipfs/helia/pull/200
+ # https://github.com/ipfs/helia-unixfs/pull/68
+ # https://github.com/ipfs/helia-ipns/pull/72
+ export TAG="$(git describe --tags --abbrev=0)"
+ echo "Running tests against: $TAG"
+ git checkout "$TAG"
working-directory: interop
- # Run the interop tests while ignoring the js-js interop test cases
- - run: npx ipfs-interop -- -t node --grep '^(?!.*(js\d? -> js\d?|js-js-js|js-rv\d?-js))' --parallel
- env:
- LIBP2P_TCP_REUSEPORT: false
- LIBP2P_ALLOW_WEAK_RSA_KEYS: 1
- IPFS_GO_EXEC: ${{ github.workspace }}/cmd/ipfs/ipfs
+ - run: npm install
+ working-directory: interop
+ - run: npm run build
working-directory: interop
+ - run: npm install
+ working-directory: interop/packages/interop
+ - 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
+ working-directory: interop/packages/interop
+ - run: npm test
+ working-directory: interop/packages/interop
+ env:
+ KUBO_BINARY: ${{ github.workspace }}/cmd/ipfs/ipfs
go-ipfs-api:
needs: [interop-prep]
runs-on: ubuntu-latest
diff --git a/docs/RELEASE_ISSUE_TEMPLATE.md b/docs/RELEASE_ISSUE_TEMPLATE.md
index d3f8e1d7f06..0b10ea8aea9 100644
--- a/docs/RELEASE_ISSUE_TEMPLATE.md
+++ b/docs/RELEASE_ISSUE_TEMPLATE.md
@@ -174,12 +174,6 @@ This section covers tasks to be done during each release.
- use `vX.Y.Z(-RCN)` as the Kubo image version
- [ ] wait for the [e2e](https://github.com/ipfs/ipfs-companion/actions/workflows/e2e.yml) workflow run to finish
-- [ ] ![](https://img.shields.io/badge/only-FINAL-green?style=flat-square) Update Kubo in [interop](https://github.com/ipfs/interop) using `./kuboreleaser release --version vX.Y.Z(-rcN) update-interop` or ...
- - [ ] ![](https://img.shields.io/badge/only-FINAL-green?style=flat-square) check out [ipfs/interop](https://github.com/ipfs/interop)
- - [ ] ![](https://img.shields.io/badge/only-FINAL-green?style=flat-square) run `npm install`
- - [ ] ![](https://img.shields.io/badge/only-FINAL-green?style=flat-square) create a PR which updates `package.json` and `package-lock.json`
- - [ ] ![](https://img.shields.io/badge/only-FINAL-green?style=flat-square) merge the PR
-
- [ ] ![](https://img.shields.io/badge/only-FINAL-green?style=flat-square) Update Kubo in [ipfs-desktop](https://github.com/ipfs/ipfs-desktop) using `./kuboreleaser release --version vX.Y.Z(-rcN) update-ipfs-desktop` or ...
- [ ] check out [ipfs/ipfs-desktop](https://github.com/ipfs/ipfs-desktop)
- [ ] run `npm install`