chore: upgrade nwaku to 0.34.0 and update tests suite for compatibility #7668
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: CI | |
on: | |
push: | |
branches: | |
- "master" | |
- "staging" | |
- "trying" | |
pull_request: | |
workflow_dispatch: | |
inputs: | |
nim_wakunode_image: | |
description: "Docker hub image name taken from https://hub.docker.com/r/wakuorg/nwaku/tags. Format: wakuorg/nwaku:v0.20.0" | |
required: false | |
type: string | |
env: | |
NODE_JS: "20" | |
jobs: | |
check: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
repository: waku-org/js-waku | |
- uses: actions/setup-node@v3 | |
with: | |
node-version: ${{ env.NODE_JS }} | |
- uses: ./.github/actions/npm | |
- run: npm run build | |
- run: npm run check | |
- run: npm run doc | |
proto: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
repository: waku-org/js-waku | |
- uses: actions/setup-node@v3 | |
with: | |
node-version: ${{ env.NODE_JS }} | |
- uses: ./.github/actions/npm | |
- name: Generate protobuf code | |
run: | | |
npm run proto | |
npm run fix | |
- name: Check all protobuf code was committed | |
shell: bash | |
run: | | |
res=$(git status --short --ignore-submodules) | |
echo -n "'$res'" # For debug purposes | |
[ $(echo -n "$res"|wc -l) -eq 0 ] | |
browser: | |
runs-on: ubuntu-latest | |
container: | |
image: mcr.microsoft.com/playwright:v1.48.0-jammy | |
env: | |
HOME: "/root" | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
repository: waku-org/js-waku | |
- uses: actions/setup-node@v3 | |
with: | |
node-version: ${{ env.NODE_JS }} | |
- uses: ./.github/actions/npm | |
- run: npm run build:esm | |
- run: npm run test:browser | |
build_rln_tree: | |
if: false # This condition disables the job | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
repository: waku-org/js-waku | |
- uses: actions/setup-node@v3 | |
with: | |
node-version: ${{ env.NODE_JS }} | |
- name: Check for existing RLN tree artifact | |
id: check-artifact | |
uses: actions/github-script@v6 | |
with: | |
script: | | |
const artifact = await github.rest.actions.listWorkflowRunArtifacts({ | |
owner: context.repo.owner, | |
repo: context.repo.repo, | |
run_id: context.runId | |
}); | |
console.log(artifact); | |
const foundArtifact = artifact.data.artifacts.find(art => art.name === 'rln_tree.tar.gz'); | |
if (foundArtifact) { | |
core.setOutput('artifact_id', foundArtifact.id); | |
core.setOutput('artifact_found', 'true'); | |
} else { | |
core.setOutput('artifact_found', 'false'); | |
} | |
- name: Download RLN tree artifact | |
if: steps.check-artifact.outputs.artifact_found == 'true' | |
uses: actions/download-artifact@v4 | |
with: | |
name: rln_tree.tar.gz | |
path: /tmp | |
- uses: ./.github/actions/npm | |
- name: Sync rln tree and save artifact | |
run: | | |
mkdir -p /tmp/rln_tree.db | |
npm run build:esm | |
npm run sync-rln-tree | |
tar -czf rln_tree.tar.gz -C /tmp/rln_tree.db . | |
- name: Upload artifact | |
uses: actions/upload-artifact@v4 | |
with: | |
name: rln_tree.tar.gz | |
path: rln_tree.tar.gz | |
node: | |
uses: ./.github/workflows/test-node.yml | |
secrets: inherit | |
with: | |
nim_wakunode_image: ${{ inputs.nim_wakunode_image || 'wakuorg/nwaku:v0.34.0' }} | |
test_type: node | |
allure_reports: true | |
node_optional: | |
uses: ./.github/workflows/test-node.yml | |
with: | |
nim_wakunode_image: ${{ inputs.nim_wakunode_image || 'wakuorg/nwaku:v0.34.0' }} | |
test_type: node-optional | |
node_with_nwaku_master: | |
uses: ./.github/workflows/test-node.yml | |
with: | |
nim_wakunode_image: harbor.status.im/wakuorg/nwaku:latest | |
test_type: nwaku-master | |
maybe-release: | |
name: release | |
runs-on: ubuntu-latest | |
if: github.event_name == 'push' && github.ref == 'refs/heads/master' | |
needs: [check, proto, browser, node] | |
steps: | |
- uses: google-github-actions/release-please-action@v3 | |
id: release | |
with: | |
command: manifest | |
monorepo-tags: true | |
token: ${{ secrets.CI_TOKEN }} | |
- uses: actions/checkout@v3 | |
with: | |
repository: waku-org/js-waku | |
if: ${{ steps.release.outputs.releases_created }} | |
- uses: actions/setup-node@v3 | |
if: ${{ steps.release.outputs.releases_created }} | |
with: | |
node-version: ${{ env.NODE_JS }} | |
registry-url: "https://registry.npmjs.org" | |
- run: npm install | |
if: ${{ steps.release.outputs.releases_created }} | |
- run: npm run build | |
if: ${{ steps.release.outputs.releases_created }} | |
- run: npm run publish | |
if: ${{ steps.release.outputs.releases_created }} | |
env: | |
NODE_AUTH_TOKEN: ${{ secrets.NPM_JS_WAKU_PUBLISH }} |