name: CI on: push: branches: - "master" - "staging" - "trying" pull_request: env: NIM_WAKU_VERSION: "v0.9" NODE_JS: "16" jobs: build_and_test: strategy: matrix: os: [ubuntu-latest] runs-on: ${{ matrix.os }} steps: - name: Checkout code uses: actions/checkout@v2.3.3 - name: Get nim-waku shell: bash run: | mkdir -p nim-waku/build cd nim-waku wget "https://github.com/status-im/nim-waku/releases/download/${NIM_WAKU_VERSION}/nim-waku-ubuntu-latest.tar.gz" tar xavf nim-waku-ubuntu-latest.tar.gz - name: Install NodeJS uses: actions/setup-node@v3 with: node-version: ${{ env.NODE_JS }} - name: Ensure wakunode2 is ready shell: bash run: | uname -a cd nim-waku/build ./wakunode2 --help - name: install using npm ci uses: bahmutov/npm-install@v1 - 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 ] - name: build run: npm run build - name: test env: DEBUG: "waku:nim-waku*,waku:test*" run: npm run test - name: Upload logs on failure uses: actions/upload-artifact@v2 if: failure() with: name: nim-waku-logs path: log/ release_next: runs-on: ubuntu-latest if: github.event_name == 'push' && github.ref == 'refs/heads/master' needs: [build_and_test] steps: - name: Checkout code uses: actions/checkout@v2.3.3 - name: Install NodeJS uses: actions/setup-node@v3 with: node-version: ${{ env.NODE_JS }} - name: install using npm ci uses: bahmutov/npm-install@v1 - name: Append git hash to version shell: bash run: | CURR_VERSION=$(cat package.json | jq .version | tr -d '"') GIT_HASH=$(git rev-parse --short HEAD) cat package.json| jq --arg version "$CURR_VERSION-$GIT_HASH" '.version |= $version' > _package.json mv -f _package.json package.json - name: Authenticate with registry run: echo "//registry.npmjs.org/:_authToken=${{ secrets.NPM_TOKEN }}" > ./.npmrc - name: publish run: npm publish --tag next --access public