fix: update peers ENRs in peer store in case they are updated #4571
Workflow file for this run
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: | |
pull_request: | |
push: | |
branches: | |
- master | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }} | |
cancel-in-progress: true | |
env: | |
NPROC: 2 | |
MAKEFLAGS: "-j${NPROC}" | |
NIMFLAGS: "--parallelBuild:${NPROC} --colors:off -d:chronicles_colors:none" | |
jobs: | |
changes: # changes detection | |
runs-on: ubuntu-latest | |
permissions: | |
pull-requests: read | |
steps: | |
- uses: actions/checkout@v3 | |
name: Checkout code | |
id: checkout | |
- uses: dorny/paths-filter@v2 | |
id: filter | |
with: | |
filters: | | |
common: | |
- '.github/workflows/**' | |
- 'vendor/**' | |
- 'Makefile' | |
- 'waku.nimble' | |
- 'library/**' | |
v2: | |
- 'waku/**' | |
- 'apps/**' | |
- 'tools/**' | |
- 'tests/all_tests_v2.nim' | |
- 'tests/**' | |
docker: | |
- 'docker/**' | |
outputs: | |
common: ${{ steps.filter.outputs.common }} | |
v2: ${{ steps.filter.outputs.v2 }} | |
docker: ${{ steps.filter.outputs.docker }} | |
build: | |
needs: changes | |
if: ${{ needs.changes.outputs.v2 == 'true' || needs.changes.outputs.common == 'true' }} | |
strategy: | |
fail-fast: false | |
matrix: | |
rln_version: [1, 2] | |
os: [ubuntu-latest, macos-13] | |
runs-on: ${{ matrix.os }} | |
timeout-minutes: 60 | |
name: build-${{ matrix.os }}-rln-v${{ matrix.rln_version }} | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v3 | |
- name: Get submodules hash | |
id: submodules | |
run: | | |
echo "hash=$(git submodule status | awk '{print $1}' | sort | shasum -a 256 | sed 's/[ -]*//g')" >> $GITHUB_OUTPUT | |
- name: Cache submodules | |
uses: actions/cache@v3 | |
with: | |
path: | | |
vendor/ | |
.git/modules | |
key: ${{ runner.os }}-vendor-modules-${{ steps.submodules.outputs.hash }} | |
- name: Build binaries | |
run: make RLN_V${{matrix.rln_version}}=true V=1 QUICK_AND_DIRTY_COMPILER=1 all tools | |
test: | |
needs: changes | |
if: ${{ needs.changes.outputs.v2 == 'true' || needs.changes.outputs.common == 'true' }} | |
strategy: | |
fail-fast: false | |
matrix: | |
rln_version: [1, 2] | |
os: [ubuntu-latest, macos-13] | |
runs-on: ${{ matrix.os }} | |
timeout-minutes: 60 | |
name: test-${{ matrix.os }}-rln-v${{ matrix.rln_version }} | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v3 | |
- name: Get submodules hash | |
id: submodules | |
run: | | |
echo "hash=$(git submodule status | awk '{print $1}' | sort | shasum -a 256 | sed 's/[ -]*//g')" >> $GITHUB_OUTPUT | |
- name: Cache submodules | |
uses: actions/cache@v3 | |
with: | |
path: | | |
vendor/ | |
.git/modules | |
key: ${{ runner.os }}-vendor-modules-${{ steps.submodules.outputs.hash }} | |
- name: Run tests | |
run: | | |
postgres_enabled=0 | |
if [ ${{ runner.os }} == "Linux" ]; then | |
sudo docker run --rm -d -e POSTGRES_PASSWORD=test123 -p 5432:5432 postgres:15.4-alpine3.18 | |
postgres_enabled=1 | |
fi | |
export MAKEFLAGS="-j1" | |
export NIMFLAGS="--colors:off -d:chronicles_colors:none" | |
make RLN_V${{matrix.rln_version}}=true V=1 LOG_LEVEL=DEBUG QUICK_AND_DIRTY_COMPILER=1 POSTGRES=$postgres_enabled test testwakunode2 | |
build-docker-image: | |
needs: changes | |
if: ${{ needs.changes.outputs.v2 == 'true' || needs.changes.outputs.common == 'true' || needs.changes.outputs.docker == 'true' }} | |
uses: waku-org/nwaku/.github/workflows/container-image.yml@master | |
secrets: inherit | |
js-waku-node: | |
needs: build-docker-image | |
uses: waku-org/js-waku/.github/workflows/test-node.yml@master | |
with: | |
nim_wakunode_image: ${{ needs.build-docker-image.outputs.image }} | |
test_type: node | |
debug: waku* | |
js-waku-node-optional: | |
needs: build-docker-image | |
uses: waku-org/js-waku/.github/workflows/test-node.yml@master | |
with: | |
nim_wakunode_image: ${{ needs.build-docker-image.outputs.image }} | |
test_type: node-optional | |
debug: waku* |