From 6b3cb7269bf2e55dadd487c60a2366098baa6698 Mon Sep 17 00:00:00 2001 From: Pavel Zverev <31499197+blitz-1306@users.noreply.github.com> Date: Thu, 18 Jan 2024 13:31:25 +0500 Subject: [PATCH] Use NodeJS v20 (LTS) (#249) * Removed Mocha and nyc dependencies alongside with related config files. Introduced jest and adapted tests. Updated typescript to latest (with some other development dependencies). * Reduce line coverage threshold by 1% due to coverage tool differences * Add "text" coverage reporter * Use NodeJS v20 (LTS) * Update checkout and setup-node GitHub actions versions to newer --------- Co-authored-by: Dimitar Bounov <45853363+cd1m0@users.noreply.github.com> --- .github/workflows/docs.yaml | 6 +- .github/workflows/node.js.yaml | 140 ++++++++++++++++----------------- .github/workflows/npm.yaml | 6 +- .nvmrc | 2 +- 4 files changed, 77 insertions(+), 77 deletions(-) diff --git a/.github/workflows/docs.yaml b/.github/workflows/docs.yaml index a42fddab..92dc637b 100644 --- a/.github/workflows/docs.yaml +++ b/.github/workflows/docs.yaml @@ -9,7 +9,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout 🛎️ - uses: actions/checkout@v2 # If you're using actions/checkout@v2 you must set persist-credentials to false in most cases for the deployment to work correctly. + uses: actions/checkout@v4 # If you're using actions/checkout since v2 you must set persist-credentials to false in most cases for the deployment to work correctly. with: persist-credentials: false @@ -17,9 +17,9 @@ jobs: uses: webfactory/ssh-agent@v0.4.1 with: ssh-private-key: ${{ secrets.DEPLOY_KEY }} - - uses: actions/setup-node@v2-beta + - uses: actions/setup-node@v4 with: - node-version: 16 + node-version: 20 - name: Install and build the documentation🔧 run: | diff --git a/.github/workflows/node.js.yaml b/.github/workflows/node.js.yaml index cc831167..9abc927f 100644 --- a/.github/workflows/node.js.yaml +++ b/.github/workflows/node.js.yaml @@ -1,86 +1,86 @@ name: NodeJS CI on: - push: - branches: [ "master" ] - pull_request: - branches: [ "master" ] + push: + branches: ["master"] + pull_request: + branches: ["master"] permissions: read-all jobs: - build: - runs-on: ubuntu-latest + build: + runs-on: ubuntu-latest - strategy: - matrix: - # See https://nodejs.org/en/about/releases/ - node-version: [ 16.x ] + strategy: + matrix: + # See https://nodejs.org/en/about/releases/ + node-version: [20.x] - env: - SOL_AST_COMPILER_CACHE: ${{ github.workspace }}/.compiler_cache + env: + SOL_AST_COMPILER_CACHE: ${{ github.workspace }}/.compiler_cache - steps: - - name: Checkout - uses: actions/checkout@v3 + steps: + - name: Checkout + uses: actions/checkout@v4 - - name: Use NodeJS ${{ matrix.node-version }} - uses: actions/setup-node@v3 - with: - node-version: ${{ matrix.node-version }} - cache: "npm" + - name: Use NodeJS ${{ matrix.node-version }} + uses: actions/setup-node@v4 + with: + node-version: ${{ matrix.node-version }} + cache: "npm" - - name: Install and lint - run: | - npm install - npm link - npm run lint - sol-ast-compile --version + - name: Install and lint + run: | + npm install + npm link + npm run lint + sol-ast-compile --version - # See https://github.com/ethereum/solc-bin - # See https://binaries.soliditylang.org/ - # Also, remove list files and one rarely used compiler to still test downloading on-demand. - - name: Pre-download compilers from historical builds archive - run: | - sol-ast-compile --download-compilers native wasm - find $SOL_AST_COMPILER_CACHE -name 'list.json' -delete - find $SOL_AST_COMPILER_CACHE -name '*v0.5.17*' -delete + # See https://github.com/ethereum/solc-bin + # See https://binaries.soliditylang.org/ + # Also, remove list files and one rarely used compiler to still test downloading on-demand. + - name: Pre-download compilers from historical builds archive + run: | + sol-ast-compile --download-compilers native wasm + find $SOL_AST_COMPILER_CACHE -name 'list.json' -delete + find $SOL_AST_COMPILER_CACHE -name '*v0.5.17*' -delete - - name: Test and generate coverage report - run: npm test + - name: Test and generate coverage report + run: npm test - - name: Upload coverage to CodeCov - uses: codecov/codecov-action@v3 - with: - name: codecov-umbrella - directory: ./coverage/ - fail_ci_if_error: true - verbose: true + - name: Upload coverage to CodeCov + uses: codecov/codecov-action@v3 + with: + name: codecov-umbrella + directory: ./coverage/ + fail_ci_if_error: true + verbose: true - notify-slack: - needs: build - runs-on: ubuntu-latest - if: github.ref == 'refs/heads/master' - steps: - - uses: actions/checkout@v3 - with: - ref: ${{ github.event.pull_request.head.sha }} - - id: non_merge_commit_message - run: echo "commit_message=$(git log --pretty=format:'%s' --no-merges -n 1)" >> $GITHUB_OUTPUT - shell: bash - - name: Send slack Notification - uses: slackapi/slack-github-action@v1.23.0 - with: - payload: | - { - "project": "${{ github.repository }}", - "env": "master", - "version": "", - "actor": "${{ github.triggering_actor }}", - "commit_sha": "${{ github.sha }}", - "commit_message": "${{ steps.non_merge_commit_message.outputs.commit_message }}", - "commit_link": "${{ github.server_url }}/${{ github.repository }}/commit/${{ github.sha }}", - "message": "" - } - env: - SLACK_WEBHOOK_URL: ${{ secrets.slack_webhook_url }} + notify-slack: + needs: build + runs-on: ubuntu-latest + if: github.ref == 'refs/heads/master' + steps: + - uses: actions/checkout@v4 + with: + ref: ${{ github.event.pull_request.head.sha }} + - id: non_merge_commit_message + run: echo "commit_message=$(git log --pretty=format:'%s' --no-merges -n 1)" >> $GITHUB_OUTPUT + shell: bash + - name: Send slack Notification + uses: slackapi/slack-github-action@v1.23.0 + with: + payload: | + { + "project": "${{ github.repository }}", + "env": "master", + "version": "", + "actor": "${{ github.triggering_actor }}", + "commit_sha": "${{ github.sha }}", + "commit_message": "${{ steps.non_merge_commit_message.outputs.commit_message }}", + "commit_link": "${{ github.server_url }}/${{ github.repository }}/commit/${{ github.sha }}", + "message": "" + } + env: + SLACK_WEBHOOK_URL: ${{ secrets.slack_webhook_url }} diff --git a/.github/workflows/npm.yaml b/.github/workflows/npm.yaml index 882b5591..860bfa1e 100644 --- a/.github/workflows/npm.yaml +++ b/.github/workflows/npm.yaml @@ -10,10 +10,10 @@ jobs: publish: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 - - uses: actions/setup-node@v3 + - uses: actions/checkout@v4 + - uses: actions/setup-node@v4 with: - node-version: 16 + node-version: 20 registry-url: "https://registry.npmjs.org" - run: npm install - run: npm publish diff --git a/.nvmrc b/.nvmrc index 0b77208a..18c28417 100644 --- a/.nvmrc +++ b/.nvmrc @@ -1 +1 @@ -16.14.0 \ No newline at end of file +20.11.0 \ No newline at end of file