Update package.json #117
This file contains hidden or 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: Run Tests | |
| on: | |
| push: | |
| branches: | |
| - main | |
| pull_request: | |
| permissions: | |
| contents: read | |
| pages: write | |
| id-token: write | |
| jobs: | |
| unit: | |
| runs-on: ubuntu-latest | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| node-version: ['24.x', 'lts/*'] | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - name: Use Node.js ${{ matrix.node-version }} | |
| uses: actions/setup-node@v6 | |
| with: | |
| node-version: ${{ matrix.node-version }} | |
| registry-url: https://registry.npmjs.org/ | |
| cache: 'npm' | |
| - run: npm ci | |
| - run: npm run unit | |
| integration: | |
| runs-on: ubuntu-latest | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| node-version: ['24.x', 'lts/*'] | |
| services: | |
| regtest: | |
| image: junderw/bitcoinjs-regtest-server@sha256:5b69cf95d9edf6d5b3a00504665d6b3c382a6aa3728fe8ce897974c519061463 | |
| ports: | |
| - 8080:8080 | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - name: Use Node.js ${{ matrix.node-version }} | |
| uses: actions/setup-node@v6 | |
| with: | |
| node-version: ${{ matrix.node-version }} | |
| registry-url: https://registry.npmjs.org/ | |
| cache: 'npm' | |
| - run: npm ci | |
| - name: Wait for regtest server to be ready | |
| run: | | |
| echo "Waiting for regtest server..." | |
| for i in $(seq 1 60); do | |
| HEIGHT=$(curl -sf http://127.0.0.1:8080/1/b/best/height 2>/dev/null || echo "0") | |
| if [ "$HEIGHT" -ge 200 ] 2>/dev/null; then | |
| echo "Regtest server ready at height $HEIGHT" | |
| break | |
| fi | |
| echo " height=$HEIGHT, waiting... ($i/60)" | |
| sleep 2 | |
| done | |
| - run: APIURL=http://127.0.0.1:8080/1 npm run integration | |
| coverage: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - uses: actions/setup-node@v6 | |
| with: | |
| node-version: '24.x' | |
| registry-url: https://registry.npmjs.org/ | |
| cache: 'npm' | |
| - run: npm ci | |
| - run: npm run coverage | |
| audit: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - uses: actions/setup-node@v6 | |
| with: | |
| node-version: '24.x' | |
| registry-url: https://registry.npmjs.org/ | |
| cache: 'npm' | |
| - run: npm ci | |
| - run: npm run audit | |
| gitdiff: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - uses: actions/setup-node@v6 | |
| with: | |
| node-version: '24.x' | |
| registry-url: https://registry.npmjs.org/ | |
| cache: 'npm' | |
| - run: npm ci | |
| - run: npm run gitdiff:ci | |
| lint: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - uses: actions/setup-node@v6 | |
| with: | |
| node-version: '24.x' | |
| registry-url: https://registry.npmjs.org/ | |
| cache: 'npm' | |
| - run: npm ci | |
| - run: npm run lint | |
| lint-tests: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - uses: actions/setup-node@v6 | |
| with: | |
| node-version: '24.x' | |
| registry-url: https://registry.npmjs.org/ | |
| cache: 'npm' | |
| - run: npm ci | |
| - run: npm run lint:tests | |
| build-doc: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - uses: actions/setup-node@v6 | |
| with: | |
| node-version: '24.x' | |
| registry-url: https://registry.npmjs.org/ | |
| cache: 'npm' | |
| - run: npm ci | |
| - run: npm run doc | |
| - name: Upload artifact | |
| uses: actions/upload-pages-artifact@v3 | |
| with: | |
| path: ./docs | |
| deploy-doc: | |
| if: github.ref == 'refs/heads/main' | |
| environment: | |
| name: github-pages | |
| url: ${{ steps.deployment.outputs.page_url }} | |
| runs-on: ubuntu-latest | |
| needs: build-doc | |
| steps: | |
| - name: Deploy to GitHub Pages | |
| id: deployment | |
| uses: actions/deploy-pages@v4 |