diff --git a/.github/workflows/basic-validation.yml b/.github/workflows/basic-validation.yml deleted file mode 100644 index a4b1c0f26..000000000 --- a/.github/workflows/basic-validation.yml +++ /dev/null @@ -1,17 +0,0 @@ -name: Basic validation - -on: - pull_request: - paths-ignore: - - '**.md' - push: - branches: - - main - - releases/* - paths-ignore: - - '**.md' - -jobs: - call-basic-validation: - name: Basic validation - uses: actions/reusable-workflows/.github/workflows/basic-validation.yml@main diff --git a/.github/workflows/check-dist.yml b/.github/workflows/check-dist.yml deleted file mode 100644 index c95229131..000000000 --- a/.github/workflows/check-dist.yml +++ /dev/null @@ -1,17 +0,0 @@ -name: Check dist/ - -on: - push: - branches: - - main - paths-ignore: - - '**.md' - pull_request: - paths-ignore: - - '**.md' - workflow_dispatch: - -jobs: - call-check-dist: - name: Check dist/ - uses: actions/reusable-workflows/.github/workflows/check-dist.yml@main diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml deleted file mode 100644 index 7a8261238..000000000 --- a/.github/workflows/codeql-analysis.yml +++ /dev/null @@ -1,14 +0,0 @@ -name: CodeQL analysis - -on: - push: - branches: [main] - pull_request: - branches: [main] - schedule: - - cron: '0 3 * * 0' - -jobs: - call-codeQL-analysis: - name: CodeQL analysis - uses: actions/reusable-workflows/.github/workflows/codeql-analysis.yml@main diff --git a/.github/workflows/e2e-cache.yml b/.github/workflows/e2e-cache.yml deleted file mode 100644 index fab3dcd74..000000000 --- a/.github/workflows/e2e-cache.yml +++ /dev/null @@ -1,136 +0,0 @@ -name: e2e-cache - -on: - pull_request: - paths-ignore: - - '**.md' - push: - branches: - - main - - releases/* - paths-ignore: - - '**.md' - -jobs: - node-npm-depencies-caching: - name: Test npm (Node ${{ matrix.node-version}}, ${{ matrix.os }}) - runs-on: ${{ matrix.os }} - strategy: - fail-fast: false - matrix: - os: [ubuntu-latest, windows-latest, macos-latest] - node-version: [12, 14, 16] - steps: - - uses: actions/checkout@v3 - - name: Clean global cache - run: npm cache clean --force - - name: Setup Node - uses: ./ - with: - node-version: ${{ matrix.node-version }} - cache: 'npm' - - name: Install dependencies - run: npm install - - name: Verify node and npm - run: __tests__/verify-node.sh "${{ matrix.node-version }}" - shell: bash - - node-pnpm-depencies-caching: - name: Test pnpm (Node ${{ matrix.node-version}}, ${{ matrix.os }}) - runs-on: ${{ matrix.os }} - strategy: - fail-fast: false - matrix: - os: [ubuntu-latest, windows-latest, macos-latest] - node-version: [12, 14, 16] - steps: - - uses: actions/checkout@v3 - - name: Install pnpm - uses: pnpm/action-setup@v2 - with: - version: 6.10.0 - - name: Generate pnpm file - run: pnpm install - - name: Remove dependencies - shell: pwsh - run: Remove-Item node_modules -Force -Recurse - - name: Clean global cache - run: rm -rf ~/.pnpm-store - shell: bash - - name: Setup Node - uses: ./ - with: - node-version: ${{ matrix.node-version }} - cache: 'pnpm' - - name: Install dependencies - run: pnpm install - - name: Verify node and pnpm - run: __tests__/verify-node.sh "${{ matrix.node-version }}" - shell: bash - - node-yarn1-depencies-caching: - name: Test yarn 1 (Node ${{ matrix.node-version}}, ${{ matrix.os }}) - runs-on: ${{ matrix.os }} - strategy: - fail-fast: false - matrix: - os: [ubuntu-latest, windows-latest, macos-latest] - node-version: [14, 16] - steps: - - uses: actions/checkout@v3 - - name: Yarn version - run: yarn --version - - name: Generate yarn file - run: yarn install - - name: Remove dependencies - shell: pwsh - run: Remove-Item node_modules -Force -Recurse - - name: Clean global cache - run: yarn cache clean - - name: Setup Node - uses: ./ - with: - node-version: ${{ matrix.node-version }} - cache: 'yarn' - - name: Install dependencies - run: yarn install - - name: Verify node and yarn - run: __tests__/verify-node.sh "${{ matrix.node-version }}" - shell: bash - - node-yarn2-depencies-caching: - name: Test yarn 2 (Node ${{ matrix.node-version}}, ${{ matrix.os }}) - runs-on: ${{ matrix.os }} - env: - YARN_ENABLE_IMMUTABLE_INSTALLS: false - strategy: - fail-fast: false - matrix: - os: [ubuntu-latest, windows-latest, macos-latest] - node-version: [12, 14, 16] - steps: - - uses: actions/checkout@v3 - - name: Update yarn - run: yarn set version berry - - name: Yarn version - run: yarn --version - - name: Generate simple .yarnrc.yml - run: | - echo "nodeLinker: node-modules" >> .yarnrc.yml - - name: Generate yarn file - run: yarn install - - name: Remove dependencies - shell: pwsh - run: Remove-Item node_modules -Force -Recurse - - name: Clean global cache - run: yarn cache clean --all - - name: Setup Node - uses: ./ - with: - node-version: ${{ matrix.node-version }} - cache: 'yarn' - - name: Install dependencies - run: yarn install - - name: Verify node and yarn - run: __tests__/verify-node.sh "${{ matrix.node-version }}" - shell: bash diff --git a/.github/workflows/licensed.yml b/.github/workflows/licensed.yml deleted file mode 100644 index 37f1560c3..000000000 --- a/.github/workflows/licensed.yml +++ /dev/null @@ -1,15 +0,0 @@ -name: Licensed - -on: - push: - branches: - - main - pull_request: - branches: - - main - workflow_dispatch: - -jobs: - call-licensed: - name: Licensed - uses: actions/reusable-workflows/.github/workflows/licensed.yml@main diff --git a/.github/workflows/proxy.yml b/.github/workflows/proxy.yml deleted file mode 100644 index d37d46a71..000000000 --- a/.github/workflows/proxy.yml +++ /dev/null @@ -1,52 +0,0 @@ -name: proxy - -on: - pull_request: - paths-ignore: - - '**.md' - push: - branches: - - main - - releases/* - paths-ignore: - - '**.md' - -jobs: - test-proxy: - runs-on: ubuntu-latest - container: - image: ubuntu:latest - options: --dns 127.0.0.1 - services: - squid-proxy: - image: ubuntu/squid:latest - ports: - - 3128:3128 - env: - https_proxy: http://squid-proxy:3128 - steps: - - uses: actions/checkout@v3 - - name: Clear tool cache - run: rm -rf $RUNNER_TOOL_CACHE/* - - name: Setup node 14 - uses: ./ - with: - node-version: 14.x - - name: Verify node and npm - run: __tests__/verify-node.sh 14 - - test-bypass-proxy: - runs-on: ubuntu-latest - env: - https_proxy: http://no-such-proxy:3128 - no_proxy: api.github.com,github.com,nodejs.org,registry.npmjs.org,*.s3.amazonaws.com,s3.amazonaws.com - steps: - - uses: actions/checkout@v3 - - name: Clear tool cache - run: rm -rf $RUNNER_TOOL_CACHE/* - - name: Setup node 11 - uses: ./ - with: - node-version: 11 - - name: Verify node and npm - run: __tests__/verify-node.sh 11 diff --git a/.github/workflows/release-new-action-version.yml b/.github/workflows/release-new-action-version.yml deleted file mode 100644 index d8171ef88..000000000 --- a/.github/workflows/release-new-action-version.yml +++ /dev/null @@ -1,28 +0,0 @@ -name: Release new action version - -on: - release: - types: [released] - workflow_dispatch: - inputs: - TAG_NAME: - description: 'Tag name that the major tag will point to' - required: true - -env: - TAG_NAME: ${{ github.event.inputs.TAG_NAME || github.event.release.tag_name }} -permissions: - contents: write - -jobs: - update_tag: - name: Update the major tag to include the ${{ github.event.inputs.TAG_NAME || github.event.release.tag_name }} changes - environment: - name: releaseNewActionVersion - runs-on: ubuntu-latest - steps: - - name: Update the ${{ env.TAG_NAME }} tag - uses: actions/publish-action@v0.2.2 - with: - source-tag: ${{ env.TAG_NAME }} - slack-webhook: ${{ secrets.SLACK_WEBHOOK }} diff --git a/.github/workflows/update-config-files.yml b/.github/workflows/update-config-files.yml deleted file mode 100644 index 87af50042..000000000 --- a/.github/workflows/update-config-files.yml +++ /dev/null @@ -1,11 +0,0 @@ -name: Update configuration files - -on: - schedule: - - cron: '0 3 * * 0' - workflow_dispatch: - -jobs: - call-update-configuration-files: - name: Update configuration files - uses: actions/reusable-workflows/.github/workflows/update-config-files.yml@main diff --git a/.github/workflows/versions.yml b/.github/workflows/versions.yml index ad5a1ccd5..54b03caec 100644 --- a/.github/workflows/versions.yml +++ b/.github/workflows/versions.yml @@ -12,254 +12,264 @@ on: - '**.md' jobs: - local-cache: - runs-on: ${{ matrix.os }} - strategy: - fail-fast: false - matrix: - os: [ubuntu-latest, windows-latest, macos-latest] - node-version: [10, 12, 14] + silent-failure-issue: + runs-on: [self-hosted, linux] + # strategy: + # fail-fast: false + # matrix: + # os: [ubuntu-latest, windows-latest, macos-latest] + # node-version: [12, 14, 16] steps: - uses: actions/checkout@v3 - name: Setup Node uses: ./ with: - node-version: ${{ matrix.node-version }} - - name: Verify node and npm - run: __tests__/verify-node.sh "${{ matrix.node-version }}" - shell: bash + cache: npm + node-version-file: .nvmrc + registry-url: https://npm.pkg.github.com/ + always-auth: false + check-latest: false - lts-syntax: - runs-on: ${{ matrix.os }} - strategy: - fail-fast: false - matrix: - os: [ubuntu-latest, windows-latest, macos-latest] - node-version: [lts/dubnium, lts/erbium, lts/fermium, lts/*, lts/-1] - steps: - - uses: actions/checkout@v3 - - name: Setup Node - uses: ./ - with: - node-version: ${{ matrix.node-version }} - check-latest: true - - if: runner.os != 'Windows' - name: Verify node and npm - run: | - . "$NVM_DIR/nvm.sh" - [[ $(nvm version-remote "${{ matrix.node-version }}") =~ ^v([^.]+) ]] - __tests__/verify-node.sh "${BASH_REMATCH[1]}" - shell: bash + - name: "Check Version" + run: node --version - v8-canary-syntax: - runs-on: ${{ matrix.os }} - strategy: - fail-fast: false - matrix: - os: [ubuntu-latest, windows-latest, macos-latest] - node-version: - [ - '20-v8-canary', - '20.0.0-v8-canary', - '20.0.0-v8-canary20221103f7e2421e91' - ] - steps: - - uses: actions/checkout@v3 - - name: Setup Node - uses: ./ - with: - node-version: ${{ matrix.node-version }} - - name: Verify node and npm - run: | - canaryVersion="${{ matrix.node-version }}" - majorVersion=$(echo $canaryVersion | cut -d- -f1) - __tests__/verify-node.sh "$majorVersion" - shell: bash + # run: sudo apt install zstd + # node-version: ${{ matrix.node-version }} + # - name: Verify node and npm + # run: __tests__/verify-node.sh "${{ matrix.node-version }}" + # shell: bash - nightly-syntax: - runs-on: ${{ matrix.os }} - strategy: - fail-fast: false - matrix: - os: [ubuntu-latest, windows-latest, macos-latest] - node-version: - [16.0.0-nightly20210420a0261d231c, 17-nightly, 18.0.0-nightly] - steps: - - uses: actions/checkout@v3 - - name: Setup Node - uses: ./ - with: - node-version: ${{ matrix.node-version }} - - name: Verify node and npm - run: | - nightlyVersion="${{ matrix.node-version }}" - majorVersion=$(echo $nightlyVersion | cut -d- -f1) - __tests__/verify-node.sh "$majorVersion" - shell: bash + # lts-syntax: + # runs-on: ${{ matrix.os }} + # strategy: + # fail-fast: false + # matrix: + # os: [ubuntu-latest, windows-latest, macos-latest] + # node-version: [lts/dubnium, lts/erbium, lts/fermium, lts/*, lts/-1] + # steps: + # - uses: actions/checkout@v3 + # - name: Setup Node + # uses: ./ + # with: + # node-version: ${{ matrix.node-version }} + # check-latest: true + # - if: runner.os != 'Windows' + # name: Verify node and npm + # run: | + # . "$NVM_DIR/nvm.sh" + # [[ $(nvm version-remote "${{ matrix.node-version }}") =~ ^v([^.]+) ]] + # __tests__/verify-node.sh "${BASH_REMATCH[1]}" + # shell: bash - rc-syntax: - runs-on: ${{ matrix.os }} - strategy: - fail-fast: false - matrix: - os: [ubuntu-latest, windows-latest, macos-latest] - node-version: [16.0.0-rc.1, 18.0.0-rc.2, 19.0.0-rc.0] - steps: - - uses: actions/checkout@v3 - - name: Setup Node - uses: ./ - with: - node-version: ${{ matrix.node-version }} - - name: Verify node and npm - run: | - rcVersion="${{ matrix.node-version }}" - majorVersion=$(echo $rcVersion | cut -d- -f1) - __tests__/verify-node.sh "$majorVersion" - shell: bash + # v8-canary-syntax: + # runs-on: ${{ matrix.os }} + # strategy: + # fail-fast: false + # matrix: + # os: [ubuntu-latest, windows-latest, macos-latest] + # node-version: + # [ + # '20-v8-canary', + # '20.0.0-v8-canary', + # '20.0.0-v8-canary20221103f7e2421e91' + # ] + # steps: + # - uses: actions/checkout@v3 + # - name: Setup Node + # uses: ./ + # with: + # node-version: ${{ matrix.node-version }} + # - name: Verify node and npm + # run: | + # canaryVersion="${{ matrix.node-version }}" + # majorVersion=$(echo $canaryVersion | cut -d- -f1) + # __tests__/verify-node.sh "$majorVersion" + # shell: bash - manifest: - runs-on: ${{ matrix.os }} - strategy: - fail-fast: false - matrix: - os: [ubuntu-latest, windows-latest, macos-latest] - node-version: [10.15, 12.16.0, 14.2.0, 16.3.0] - steps: - - uses: actions/checkout@v3 - - name: Setup Node - uses: ./ - with: - node-version: ${{ matrix.node-version }} - - name: Verify node and npm - run: __tests__/verify-node.sh "${{ matrix.node-version }}" - shell: bash + # nightly-syntax: + # runs-on: ${{ matrix.os }} + # strategy: + # fail-fast: false + # matrix: + # os: [ubuntu-latest, windows-latest, macos-latest] + # node-version: + # [16.0.0-nightly20210420a0261d231c, 17-nightly, 18.0.0-nightly] + # steps: + # - uses: actions/checkout@v3 + # - name: Setup Node + # uses: ./ + # with: + # node-version: ${{ matrix.node-version }} + # - name: Verify node and npm + # run: | + # nightlyVersion="${{ matrix.node-version }}" + # majorVersion=$(echo $nightlyVersion | cut -d- -f1) + # __tests__/verify-node.sh "$majorVersion" + # shell: bash - check-latest: - runs-on: ${{ matrix.os }} - strategy: - fail-fast: false - matrix: - os: [ubuntu-latest, windows-latest, macos-latest] - node-version: [10, 12, 14] - steps: - - uses: actions/checkout@v3 - - name: Setup Node and check latest - uses: ./ - with: - node-version: ${{ matrix.node-version }} - check-latest: true - - name: Verify node and npm - run: __tests__/verify-node.sh "${{ matrix.node-version }}" - shell: bash + # rc-syntax: + # runs-on: ${{ matrix.os }} + # strategy: + # fail-fast: false + # matrix: + # os: [ubuntu-latest, windows-latest, macos-latest] + # node-version: [16.0.0-rc.1, 18.0.0-rc.2, 19.0.0-rc.0] + # steps: + # - uses: actions/checkout@v3 + # - name: Setup Node + # uses: ./ + # with: + # node-version: ${{ matrix.node-version }} + # - name: Verify node and npm + # run: | + # rcVersion="${{ matrix.node-version }}" + # majorVersion=$(echo $rcVersion | cut -d- -f1) + # __tests__/verify-node.sh "$majorVersion" + # shell: bash - version-file: - runs-on: ${{ matrix.os }} - strategy: - fail-fast: false - matrix: - os: [ubuntu-latest, windows-latest, macos-latest] - node-version-file: [.nvmrc, .tool-versions, package.json] - steps: - - uses: actions/checkout@v3 - - name: Remove volta from package.json - shell: bash - run: cat <<< "$(jq 'del(.volta)' ./__tests__/data/package.json)" > ./__tests__/data/package.json - - name: Setup node from node version file - uses: ./ - with: - node-version-file: '__tests__/data/${{ matrix.node-version-file }}' - - name: Verify node - run: __tests__/verify-node.sh 14 + # manifest: + # runs-on: ${{ matrix.os }} + # strategy: + # fail-fast: false + # matrix: + # os: [ubuntu-latest, windows-latest, macos-latest] + # node-version: [10.15, 12.16.0, 14.2.0, 16.3.0] + # steps: + # - uses: actions/checkout@v3 + # - name: Setup Node + # uses: ./ + # with: + # node-version: ${{ matrix.node-version }} + # - name: Verify node and npm + # run: __tests__/verify-node.sh "${{ matrix.node-version }}" + # shell: bash - version-file-volta: - runs-on: ${{ matrix.os }} - strategy: - fail-fast: false - matrix: - os: [ubuntu-latest, windows-latest, macos-latest] - steps: - - uses: actions/checkout@v3 - - name: Setup node from node version file - uses: ./ - with: - node-version-file: '__tests__/data/package.json' - - name: Verify node - run: __tests__/verify-node.sh 16 + # check-latest: + # runs-on: ${{ matrix.os }} + # strategy: + # fail-fast: false + # matrix: + # os: [ubuntu-latest, windows-latest, macos-latest] + # node-version: [10, 12, 14] + # steps: + # - uses: actions/checkout@v3 + # - name: Setup Node and check latest + # uses: ./ + # with: + # node-version: ${{ matrix.node-version }} + # check-latest: true + # - name: Verify node and npm + # run: __tests__/verify-node.sh "${{ matrix.node-version }}" + # shell: bash - node-dist: - runs-on: ${{ matrix.os }} - strategy: - fail-fast: false - matrix: - os: [ubuntu-latest, windows-latest, macos-latest] - node-version: [11, 13] - steps: - - uses: actions/checkout@v3 - - name: Setup Node from dist - uses: ./ - with: - node-version: ${{ matrix.node-version }} - - name: Verify node and npm - run: __tests__/verify-node.sh "${{ matrix.node-version }}" - shell: bash + # version-file: + # runs-on: ${{ matrix.os }} + # strategy: + # fail-fast: false + # matrix: + # os: [ubuntu-latest, windows-latest, macos-latest] + # node-version-file: [.nvmrc, .tool-versions, package.json] + # steps: + # - uses: actions/checkout@v3 + # - name: Remove volta from package.json + # shell: bash + # run: cat <<< "$(jq 'del(.volta)' ./__tests__/data/package.json)" > ./__tests__/data/package.json + # - name: Setup node from node version file + # uses: ./ + # with: + # node-version-file: '__tests__/data/${{ matrix.node-version-file }}' + # - name: Verify node + # run: __tests__/verify-node.sh 14 - old-versions: - runs-on: ${{ matrix.os }} - strategy: - fail-fast: false - matrix: - os: [ubuntu-latest, windows-latest, macos-latest] - steps: - - uses: actions/checkout@v3 - # test old versions which didn't have npm and layout different - - name: Setup node 0.12.18 from dist - uses: ./ - with: - node-version: 0.12.18 - - name: Verify node - run: __tests__/verify-node.sh 0.12.18 SKIP_NPM - shell: bash + # version-file-volta: + # runs-on: ${{ matrix.os }} + # strategy: + # fail-fast: false + # matrix: + # os: [ubuntu-latest, windows-latest, macos-latest] + # steps: + # - uses: actions/checkout@v3 + # - name: Setup node from node version file + # uses: ./ + # with: + # node-version-file: '__tests__/data/package.json' + # - name: Verify node + # run: __tests__/verify-node.sh 16 - arch: - runs-on: windows-latest - steps: - - uses: actions/checkout@v3 - - name: Setup node 14 x86 from dist - uses: ./ - with: - node-version: '14' - architecture: 'x86' - - name: Verify node - run: __tests__/verify-arch.sh "ia32" - shell: bash + # node-dist: + # runs-on: ${{ matrix.os }} + # strategy: + # fail-fast: false + # matrix: + # os: [ubuntu-latest, windows-latest, macos-latest] + # node-version: [11, 13] + # steps: + # - uses: actions/checkout@v3 + # - name: Setup Node from dist + # uses: ./ + # with: + # node-version: ${{ matrix.node-version }} + # - name: Verify node and npm + # run: __tests__/verify-node.sh "${{ matrix.node-version }}" + # shell: bash - node-latest-aliases: - runs-on: ${{ matrix.os }} - strategy: - fail-fast: false - matrix: - os: [ubuntu-latest, windows-latest, macos-latest] - node-version: [current, latest, node] - steps: - - name: Get node version - run: | - latestNodeVersion=$(curl https://nodejs.org/dist/index.json | jq -r '. [0].version') - echo "LATEST_NODE_VERSION=$latestNodeVersion" >> $GITHUB_OUTPUT - id: version - shell: bash - - uses: actions/checkout@v3 - - name: Setup Node - uses: ./ - with: - node-version: ${{ matrix.node-version }} - - name: Retrieve version after install - run: | - updatedVersion=$(echo $(node --version)) - echo "NODE_VERSION_UPDATED=$updatedVersion" >> $GITHUB_OUTPUT - id: updatedVersion - shell: bash - - name: Compare versions - if: ${{ steps.version.outputs.LATEST_NODE_VERSION != steps.updatedVersion.outputs.NODE_VERSION_UPDATED}} - run: | - echo "Latest node version failed to download." - exit 1 + # old-versions: + # runs-on: ${{ matrix.os }} + # strategy: + # fail-fast: false + # matrix: + # os: [ubuntu-latest, windows-latest, macos-latest] + # steps: + # - uses: actions/checkout@v3 + # # test old versions which didn't have npm and layout different + # - name: Setup node 0.12.18 from dist + # uses: ./ + # with: + # node-version: 0.12.18 + # - name: Verify node + # run: __tests__/verify-node.sh 0.12.18 SKIP_NPM + # shell: bash + + # arch: + # runs-on: windows-latest + # steps: + # - uses: actions/checkout@v3 + # - name: Setup node 14 x86 from dist + # uses: ./ + # with: + # node-version: '14' + # architecture: 'x86' + # - name: Verify node + # run: __tests__/verify-arch.sh "ia32" + # shell: bash + + # node-latest-aliases: + # runs-on: ${{ matrix.os }} + # strategy: + # fail-fast: false + # matrix: + # os: [ubuntu-latest, windows-latest, macos-latest] + # node-version: [current, latest, node] + # steps: + # - name: Get node version + # run: | + # latestNodeVersion=$(curl https://nodejs.org/dist/index.json | jq -r '. [0].version') + # echo "LATEST_NODE_VERSION=$latestNodeVersion" >> $GITHUB_OUTPUT + # id: version + # shell: bash + # - uses: actions/checkout@v3 + # - name: Setup Node + # uses: ./ + # with: + # node-version: ${{ matrix.node-version }} + # - name: Retrieve version after install + # run: | + # updatedVersion=$(echo $(node --version)) + # echo "NODE_VERSION_UPDATED=$updatedVersion" >> $GITHUB_OUTPUT + # id: updatedVersion + # shell: bash + # - name: Compare versions + # if: ${{ steps.version.outputs.LATEST_NODE_VERSION != steps.updatedVersion.outputs.NODE_VERSION_UPDATED}} + # run: | + # echo "Latest node version failed to download." + # exit 1 diff --git a/.nvmrc b/.nvmrc new file mode 100644 index 000000000..0828ab794 --- /dev/null +++ b/.nvmrc @@ -0,0 +1 @@ +v18 \ No newline at end of file