Compare commits

...

88 Commits

Author SHA1 Message Date
github-actions[bot]
6fda0935f2
Update versions-manifest (#206)
Some checks failed
CodeQL analysis / CodeQL analysis (push) Failing after 0s
Get Node versions / get-new-node-versions (push) Failing after 0s
Validate manifest / manifest (push) Failing after 0s
Co-authored-by: Service account <no-reply@microsoft.com>
2025-05-15 09:15:18 -05:00
github-actions[bot]
e25da9dc7c
Update versions-manifest (#205)
Some checks failed
CodeQL analysis / CodeQL analysis (push) Has been cancelled
Validate manifest / manifest (push) Failing after 0s
Get Node versions / get-new-node-versions (push) Failing after 0s
Co-authored-by: Service account <no-reply@microsoft.com>
2025-05-12 07:36:30 -05:00
github-actions[bot]
3de2515c74
Update versions-manifest (#204)
Some checks failed
CodeQL analysis / CodeQL analysis (push) Has been cancelled
Co-authored-by: Service account <no-reply@microsoft.com>
2025-05-06 22:38:45 -05:00
github-actions[bot]
89d81124fa
Update versions-manifest (#203)
Some checks failed
CodeQL analysis / CodeQL analysis (push) Failing after 0s
Validate manifest / manifest (push) Failing after 0s
Get Node versions / get-new-node-versions (push) Failing after 0s
Co-authored-by: Service account <no-reply@microsoft.com>
2025-04-23 11:16:08 -05:00
github-actions[bot]
c5d5eb32a4
Update versions-manifest (#202)
Some checks failed
CodeQL analysis / CodeQL analysis (push) Waiting to run
Validate manifest / manifest (push) Failing after 0s
Co-authored-by: Service account <no-reply@microsoft.com>
2025-04-22 22:39:07 -05:00
github-actions[bot]
48b638b2a7
Update versions-manifest (#201)
Some checks failed
CodeQL analysis / CodeQL analysis (push) Failing after 0s
Get Node versions / get-new-node-versions (push) Failing after 0s
Validate manifest / manifest (push) Failing after 0s
Co-authored-by: Service account <no-reply@microsoft.com>
2025-03-27 23:21:45 -05:00
github-actions[bot]
70176e8e7f
Update versions-manifest (#200)
Some checks failed
CodeQL analysis / CodeQL analysis (push) Failing after 0s
Validate manifest / manifest (push) Failing after 0s
Get Node versions / get-new-node-versions (push) Failing after 0s
Co-authored-by: Service account <no-reply@microsoft.com>
2025-03-13 22:09:00 -05:00
github-actions[bot]
b8e2e0988f
Update versions-manifest (#199)
Some checks failed
CodeQL analysis / CodeQL analysis (push) Failing after 0s
Validate manifest / manifest (push) Failing after 0s
Get Node versions / get-new-node-versions (push) Failing after 0s
Co-authored-by: Service account <no-reply@microsoft.com>
2025-02-20 22:07:32 -06:00
github-actions[bot]
6f7e07ce98
Update versions-manifest (#198)
Some checks failed
CodeQL analysis / CodeQL analysis (push) Failing after 0s
Get Node versions / get-new-node-versions (push) Failing after 0s
Validate manifest / manifest (push) Failing after 0s
Co-authored-by: Service account <no-reply@microsoft.com>
2025-02-11 21:57:10 -06:00
github-actions[bot]
759e7130a4
Update versions-manifest (#197)
Some checks are pending
CodeQL analysis / CodeQL analysis (push) Waiting to run
Co-authored-by: Service account <no-reply@microsoft.com>
2025-02-10 21:43:38 -06:00
github-actions[bot]
708c79f819
Update versions-manifest (#196)
Some checks failed
Validate manifest / manifest (push) Failing after 0s
Get Node versions / get-new-node-versions (push) Failing after 0s
CodeQL analysis / CodeQL analysis (push) Failing after 0s
Co-authored-by: Service account <no-reply@microsoft.com>
2025-01-22 10:26:28 -06:00
github-actions[bot]
ff0573dc52
Update versions-manifest (#195)
Some checks failed
CodeQL analysis / CodeQL analysis (push) Failing after 0s
Get Node versions / get-new-node-versions (push) Failing after 0s
Validate manifest / manifest (push) Failing after 0s
Co-authored-by: Service account <no-reply@microsoft.com>
2025-01-09 12:59:15 -06:00
github-actions[bot]
f3742acb8e
Update versions-manifest (#194)
Some checks failed
CodeQL analysis / CodeQL analysis (push) Failing after 0s
Get Node versions / get-new-node-versions (push) Failing after 0s
Validate manifest / manifest (push) Failing after 1s
Co-authored-by: Service account <no-reply@microsoft.com>
2024-12-04 09:56:04 -06:00
github-actions[bot]
b5d073fd75
Update versions-manifest (#193)
Some checks failed
CodeQL analysis / CodeQL analysis (push) Failing after 0s
Get Node versions / get-new-node-versions (push) Failing after 0s
Validate manifest / manifest (push) Failing after 0s
Co-authored-by: Service account <no-reply@microsoft.com>
2024-11-20 22:34:20 -06:00
github-actions[bot]
07972c08eb
Update versions-manifest (#192)
Some checks failed
CodeQL analysis / CodeQL analysis (push) Failing after 0s
Get Node versions / get-new-node-versions (push) Failing after 0s
Validate manifest / manifest (push) Failing after 0s
Co-authored-by: Service account <no-reply@microsoft.com>
2024-11-13 10:18:36 -06:00
github-actions[bot]
1089754c37
Update versions-manifest (#191)
Co-authored-by: Service account <no-reply@microsoft.com>
2024-11-03 21:30:21 -06:00
github-actions[bot]
d0b553a9eb
Update versions-manifest (#190)
Co-authored-by: Service account <no-reply@microsoft.com>
2024-10-17 11:15:27 -05:00
github-actions[bot]
09e0810728
Update versions-manifest (#189)
Co-authored-by: Service account <no-reply@microsoft.com>
2024-10-07 11:23:01 -05:00
github-actions[bot]
83c0f2d854
Update versions-manifest (#188)
Co-authored-by: Service account <no-reply@microsoft.com>
2024-09-18 09:50:38 -05:00
github-actions[bot]
1dda8b0c7d
Update versions-manifest (#187)
Co-authored-by: Service account <no-reply@microsoft.com>
2024-09-04 07:22:46 -05:00
github-actions[bot]
a09329c1fa
Update versions-manifest (#186)
Co-authored-by: Service account <no-reply@microsoft.com>
2024-08-23 09:29:44 -05:00
github-actions[bot]
75581b6027
Update versions-manifest (#185)
Co-authored-by: Service account <no-reply@microsoft.com>
2024-08-22 10:42:10 -05:00
github-actions[bot]
bb9d406a6c
Update versions-manifest (#184)
Co-authored-by: Service account <no-reply@microsoft.com>
2024-08-07 10:06:51 -05:00
github-actions[bot]
4638058663
Update versions-manifest (#183)
Co-authored-by: Service account <no-reply@microsoft.com>
2024-07-25 08:35:31 -05:00
github-actions[bot]
c749aff12a
Update versions-manifest (#182) 2024-07-22 05:17:51 -05:00
github-actions[bot]
aacaf58011
Update versions-manifest (#181)
Co-authored-by: Service account <no-reply@microsoft.com>
2024-07-18 08:42:01 -05:00
github-actions[bot]
5b159cbd4a
Update versions-manifest (#180)
Co-authored-by: Service account <no-reply@microsoft.com>
2024-07-10 08:42:19 -05:00
gowridurgad
c8cf9cb4b5
Implementing Runner-Specific Node.js Tests (#178)
* Update Node.Tests.ps1

* Update Node.Tests.ps1

* Update Node.Tests.ps1

---------

Co-authored-by: aparnajyothi-y <147696841+aparnajyothi-y@users.noreply.github.com>
2024-07-09 10:01:27 -05:00
github-actions[bot]
3a7a3835dd
Update versions-manifest (#179)
Co-authored-by: Service account <no-reply@microsoft.com>
2024-07-03 08:43:36 -05:00
github-actions[bot]
ec09b8ed02
Update versions-manifest (#177)
Co-authored-by: Service account <no-reply@microsoft.com>
2024-06-23 23:47:07 -05:00
github-actions[bot]
22b86c61f6
Update versions-manifest (#175)
Co-authored-by: Service account <no-reply@microsoft.com>
2024-06-20 08:23:31 -05:00
github-actions[bot]
ee011d651d
Update versions-manifest (#174)
Co-authored-by: Service account <no-reply@microsoft.com>
2024-05-28 22:35:36 -05:00
github-actions[bot]
f33462c8a2
Update versions-manifest (#173)
Co-authored-by: Service account <no-reply@microsoft.com>
2024-05-21 22:50:42 -05:00
github-actions[bot]
b8355a0fcc
Update versions-manifest (#172)
Co-authored-by: Service account <no-reply@microsoft.com>
2024-05-15 23:15:04 -05:00
github-actions[bot]
d2561554de
Update versions-manifest (#171)
Co-authored-by: Service account <no-reply@microsoft.com>
2024-05-09 21:55:32 -05:00
github-actions[bot]
ab329f0180
Update versions-manifest (#170)
Co-authored-by: Service account <no-reply@microsoft.com>
2024-05-08 08:06:17 -05:00
github-actions[bot]
cb84d2280a
Update versions-manifest (#169)
Co-authored-by: Service account <no-reply@microsoft.com>
2024-05-02 22:54:05 -05:00
github-actions[bot]
a26a00efbb
Update versions-manifest (#168)
Co-authored-by: Service account <no-reply@microsoft.com>
2024-04-29 09:03:53 -05:00
github-actions[bot]
386b5d6f78
Update versions-manifest (#167)
Co-authored-by: Service account <no-reply@microsoft.com>
2024-04-11 23:33:00 -05:00
github-actions[bot]
fb3241c6f2
Update versions-manifest (#166)
Co-authored-by: Service account <no-reply@microsoft.com>
2024-04-04 07:57:21 -05:00
github-actions[bot]
c88b3f72e2
Update versions-manifest (#165)
Co-authored-by: Service account <no-reply@microsoft.com>
2024-03-28 23:21:42 -05:00
github-actions[bot]
6c82900b55
Update versions-manifest (#164)
Co-authored-by: Service account <no-reply@microsoft.com>
2024-02-14 22:16:19 -06:00
github-actions[bot]
de463ffcdb
Update versions-manifest (#163)
Co-authored-by: Service account <no-reply@microsoft.com>
2024-01-16 22:53:32 -06:00
github-actions[bot]
d51fc26ff7
Update versions-manifest (#161)
Co-authored-by: Service account <no-reply@microsoft.com>
2023-11-30 10:29:00 +01:00
github-actions[bot]
fee25d72a2
Update versions-manifest (#160)
Co-authored-by: Service account <no-reply@microsoft.com>
2023-11-23 17:15:39 +01:00
github-actions[bot]
bb598e8c31
Update versions-manifest (#159)
Co-authored-by: Service account <no-reply@microsoft.com>
2023-11-08 13:55:10 +01:00
Dmitry Shibanov
a798c8ed46
add arch to installer script (#158) 2023-11-08 09:43:29 +01:00
github-actions[bot]
9d10c5b01a
Update versions-manifest (#157)
Co-authored-by: Service account <no-reply@microsoft.com>
2023-11-07 14:49:26 +01:00
github-actions[bot]
a4a2f9a437
Update versions-manifest (#156)
Co-authored-by: Service account <no-reply@microsoft.com>
2023-10-25 14:25:01 +02:00
github-actions[bot]
3d5333b8c1
Update versions-manifest (#155)
Co-authored-by: Service account <no-reply@microsoft.com>
2023-10-16 10:32:12 +02:00
github-actions[bot]
897b0a01fc
Update versions-manifest (#154)
Co-authored-by: Service account <no-reply@microsoft.com>
2023-10-11 17:06:12 +02:00
github-actions[bot]
605dcd4078
Update versions-manifest (#153)
Co-authored-by: Service account <no-reply@microsoft.com>
2023-09-29 18:38:56 +02:00
Dmitry Shibanov
705d5d4eb2
update submodule (#152) 2023-09-22 15:03:46 +02:00
Marko Zivic
aa0c3a667a
Merge pull request #151 from actions/deprecation-policy
Add Support Notification Policy
2023-09-20 14:01:07 +02:00
Dusan Trickovic
989324aed0
Update README.md and Add Support Notification Policy 2023-09-20 12:46:02 +02:00
github-actions[bot]
59fe4e7639
Update versions-manifest (#150)
Co-authored-by: Service account <no-reply@microsoft.com>
2023-09-19 13:13:15 +02:00
github-actions[bot]
5bebf2b61c
Update versions-manifest (#149)
Co-authored-by: Service account <no-reply@microsoft.com>
2023-09-11 10:18:55 +02:00
github-actions[bot]
015a819882
Update versions-manifest (#148)
Co-authored-by: Service account <no-reply@microsoft.com>
2023-09-06 11:04:31 +02:00
github-actions[bot]
bebc948c04
Update versions-manifest (#147)
Co-authored-by: Service account <no-reply@microsoft.com>
2023-08-10 13:14:45 +02:00
github-actions[bot]
953fa628ab
Update versions-manifest (#146) 2023-07-21 13:07:50 +02:00
github-actions[bot]
ad868c9f05
Update versions-manifest (#145) 2023-07-19 10:33:15 +02:00
Marko Zivic
5136b584d3
Merge pull request #144 from actions/update-versions-manifest-file
[versions-manifest] Update for release from 07/07/2023
2023-07-07 11:36:59 +02:00
Service account
217a0f2329 Update versions-manifest 2023-07-07 08:04:32 +00:00
github-actions[bot]
e1e54a94f4
Update versions-manifest (#143)
Co-authored-by: Service account <no-reply@microsoft.com>
2023-06-30 17:10:24 +02:00
Dmitry Shibanov
802851f7e1
add arm for regex (#142) 2023-06-30 15:35:16 +02:00
github-actions[bot]
3985d2e8f1
Update versions-manifest (#141) 2023-06-22 15:44:04 +02:00
Dusan Trickovic
ed20ce4f29
Update helper submodule (#140) 2023-06-22 14:14:47 +02:00
github-actions[bot]
86f7959999
Update versions-manifest (#138)
Co-authored-by: Service account <no-reply@microsoft.com>
2023-06-09 13:30:30 +02:00
github-actions[bot]
f9eb480338
Update versions-manifest (#137)
Co-authored-by: Service account <no-reply@microsoft.com>
2023-05-16 19:47:07 +02:00
github-actions[bot]
fc05df56de
Update versions-manifest (#136)
Co-authored-by: Service account <no-reply@microsoft.com>
2023-05-10 16:04:10 +02:00
Marko Zivic
97eefec78a
Merge pull request #135 from actions/update-versions-manifest-file
[versions-manifest] Update for release from 05/04/2023
2023-05-04 17:06:38 +02:00
Service account
a646a40627 Update versions-manifest 2023-05-04 05:49:44 +00:00
github-actions[bot]
742347d102
Update versions-manifest (#134)
Co-authored-by: Service account <no-reply@microsoft.com>
2023-04-26 16:20:44 +02:00
github-actions[bot]
c27b52d5a8
Update versions-manifest (#133)
Co-authored-by: Service account <no-reply@microsoft.com>
2023-04-13 11:11:37 +02:00
github-actions[bot]
280ff21dab
Update versions-manifest (#132)
Co-authored-by: Service account <no-reply@microsoft.com>
2023-03-30 16:00:04 +02:00
github-actions[bot]
d1c2cb96e1
Update versions-manifest (#131)
Co-authored-by: Service account <no-reply@microsoft.com>
2023-03-08 12:24:40 +01:00
github-actions[bot]
d4215ec43e
Update versions-manifest (#130)
Co-authored-by: Service account <no-reply@microsoft.com>
2023-02-22 10:16:53 +01:00
github-actions[bot]
9c020055eb
Update versions-manifest (#129)
Co-authored-by: Service account <no-reply@microsoft.com>
2023-02-17 11:44:36 +01:00
github-actions[bot]
80f2e07bc4
Update versions-manifest (#128)
Co-authored-by: Service account <no-reply@microsoft.com>
2023-02-03 09:37:28 +01:00
Ivan
2a3603b0e8
Update codeql-analysis workflow to use reusable workflow (#127) 2023-01-19 12:35:40 +01:00
github-actions[bot]
f3fac10826
Update versions-manifest (#126)
Co-authored-by: Service account <no-reply@microsoft.com>
2023-01-06 11:41:30 +01:00
Marko Zivic
cfedc107f9
Merge pull request #125 from actions/update-codeowners
Update CODEOWNERS
2022-12-27 09:27:00 +01:00
Evgenii Korolevskii
a938f96cba
Update CODEOWNERS 2022-12-26 09:50:10 +01:00
github-actions[bot]
3e6fdaa9dd
Update versions-manifest (#121)
Co-authored-by: Service account <no-reply@microsoft.com>
2022-12-15 10:51:33 +01:00
Marko Zivic
c8117e2a6f
Merge pull request #120 from MaksimZhukov/introduce-reusable-workflows
Update workflows to use reusable ones
2022-12-14 09:43:45 +01:00
MaksimZhukov
a3474c6453
Replaced the virtual-environments with the runner-images 2022-12-09 09:24:50 +01:00
MaksimZhukov
70b3a61620 Update workflows to use reusable ones 2022-12-06 18:37:54 +01:00
github-actions[bot]
5d308e3118
Update versions-manifest (#119) 2022-11-17 12:13:17 +01:00
13 changed files with 3336 additions and 405 deletions

2
.github/CODEOWNERS vendored
View File

@ -1 +1 @@
* @actions/virtual-environments-owners
* @actions/setup-actions-team

View File

@ -1,15 +1,17 @@
name: Generate Node.js package
name: Generate Node.js packages
run-name: Generate Node.js ${{ inputs.VERSION || '18.12.0' }}
on:
workflow_dispatch:
inputs:
VERSION:
description: 'Node.js version to build and upload'
required: true
default: '14.2.0'
default: '18.12.0'
PUBLISH_RELEASES:
description: 'Whether to publish releases'
required: true
default: 'false'
type: boolean
default: false
pull_request:
paths-ignore:
- 'versions-manifest.json'
@ -18,155 +20,12 @@ on:
branches:
- 'main'
env:
VERSION: ${{ github.event.inputs.VERSION || '14.0.0' }}
defaults:
run:
shell: pwsh
jobs:
build_node:
name: Build Node.js ${{ github.event.inputs.VERSION || '14.0.0' }} [${{ matrix.platform }}]
runs-on: ubuntu-latest
env:
ARTIFACT_NAME: node-${{ github.event.inputs.VERSION || '14.0.0' }}-${{ matrix.platform }}-x64
strategy:
fail-fast: false
matrix:
platform: [linux, darwin, win32]
steps:
- uses: actions/checkout@v2
with:
submodules: true
- name: Build Node.js ${{ env.VERSION }}
run: |
./builders/build-node.ps1 -Version $env:VERSION `
-Platform ${{ matrix.platform }}
- name: Publish artifact
uses: actions/upload-artifact@v2
with:
name: ${{ env.ARTIFACT_NAME }}
path: ${{ runner.temp }}/artifact
test_node:
name: Test Node.js ${{ github.event.inputs.VERSION || '14.0.0' }} [${{ matrix.platform }}]
needs: build_node
runs-on: ${{ matrix.os }}
env:
ARTIFACT_NAME: node-${{ github.event.inputs.VERSION || '14.0.0' }}-${{ matrix.platform }}-x64
strategy:
fail-fast: false
matrix:
include:
- os: ubuntu-latest
platform: linux
- os: macos-latest
platform: darwin
- os: windows-latest
platform: win32
steps:
- uses: actions/checkout@v2
with:
submodules: true
- name: Fully cleanup the toolcache directory before testing
run: ./helpers/clean-toolcache.ps1 -ToolName "node"
- name: Download artifact
uses: actions/download-artifact@v2
with:
path: ${{ runner.temp }}
- name: Extract files
run: |
if ('${{ matrix.platform }}' -eq 'win32') {
$artifactName = "${{ env.ARTIFACT_NAME }}.7z"
7z.exe x "$artifactName" -y | Out-Null
} else {
$artifactName = "${{ env.ARTIFACT_NAME }}.tar.gz"
tar -xzf $artifactName
}
working-directory: ${{ runner.temp }}/${{ env.ARTIFACT_NAME }}
- name: Apply build artifact to the local machine
run: |
if ('${{ matrix.platform }}' -eq 'win32') { powershell ./setup.ps1 } else { sh ./setup.sh }
working-directory: ${{ runner.temp }}/${{ env.ARTIFACT_NAME }}
- name: Setup Node.js ${{ env.VERSION }}
uses: actions/setup-node@v2.1.2
with:
node-version: ${{ env.VERSION }}
- name: Wait for the logs
run: |
Write-Host "Fake step that do nothing"
Write-Host "We need it because log of previous step 'Setup Node' is not available here yet."
Write-Host "In testing step (Node.Tests.ps1) we analyze build log of 'Setup Node' task"
Write-Host "to determine if Node.js version was consumed from cache and was downloaded"
for ($i = 0; $i -lt 200; $i++) { Get-Random }
- name: Run tests
run: |
Install-Module Pester -Force -Scope CurrentUser
Import-Module Pester
Invoke-Pester -Script ./Node.Tests.ps1 -EnableExit
working-directory: ./tests
publish_release:
name: Publish release
if: github.event_name == 'workflow_dispatch' && github.event.inputs.PUBLISH_RELEASES == 'true'
needs: test_node
runs-on: ubuntu-latest
steps:
- uses: actions/download-artifact@v2
- name: Publish Release ${{ env.VERSION }}
id: create_release
uses: actions/create-release@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
tag_name: ${{ env.VERSION }}-${{ github.run_id }}
release_name: ${{ env.VERSION }}
body: |
Node.js ${{ env.VERSION }}
- name: Upload release assets
uses: actions/github-script@v2
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
script: |
const fs = require('fs');
for (let artifactDir of fs.readdirSync('.')) {
let artifactName = fs.readdirSync(`${artifactDir}`)[0];
console.log(`Upload ${artifactName} asset`);
github.repos.uploadReleaseAsset({
owner: context.repo.owner,
repo: context.repo.repo,
release_id: ${{ steps.create_release.outputs.id }},
name: artifactName,
data: fs.readFileSync(`./${artifactDir}/${artifactName}`)
});
}
trigger_pr:
name: Trigger "Create Pull Request" workflow
needs: publish_release
runs-on: ubuntu-latest
steps:
- name: Trigger "Create Pull Request" workflow
uses: actions/github-script@v3
with:
github-token: ${{ secrets.PERSONAL_TOKEN }}
script: |
github.actions.createWorkflowDispatch({
owner: context.repo.owner,
repo: context.repo.repo,
workflow_id: 'create-pr.yml',
ref: 'main'
});
node:
name: Node
uses: actions/versions-package-tools/.github/workflows/build-tool-packages.yml@main
with:
tool-name: "node"
tool-version: ${{ inputs.VERSION || '18.12.0' }}
publish-release: ${{ inputs.PUBLISH_RELEASES || false }}
secrets: inherit

View File

@ -1,70 +1,14 @@
# For most projects, this workflow file will not need changing; you simply need
# to commit it to your repository.
#
# You may wish to alter this file to override the set of languages analyzed,
# or to provide custom queries or build logic.
#
# ******** NOTE ********
# We have attempted to detect the languages in your repository. Please check
# the `language` matrix defined below to confirm you have the correct set of
# supported CodeQL languages.
#
name: "CodeQL"
name: CodeQL analysis
on:
push:
branches: [ main, master ]
branches: [ main ]
pull_request:
# The branches below must be a subset of the branches above
branches: [ main ]
schedule:
- cron: '31 9 * * 0'
- cron: '0 3 * * 0'
jobs:
analyze:
name: Analyze
runs-on: ubuntu-latest
permissions:
actions: read
contents: read
security-events: write
strategy:
fail-fast: false
matrix:
language: [ 'javascript' ]
# CodeQL supports [ 'cpp', 'csharp', 'go', 'java', 'javascript', 'python', 'ruby' ]
# Learn more about CodeQL language support at https://git.io/codeql-language-support
steps:
- name: Checkout repository
uses: actions/checkout@v3
# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
uses: github/codeql-action/init@v1
with:
languages: ${{ matrix.language }}
# If you wish to specify custom queries, you can do so here or in a config file.
# By default, queries listed here will override any specified in a config file.
# Prefix the list here with "+" to use these queries and those in the config file.
# queries: ./path/to/local/query, your-org/your-repo/queries@main
# Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
# If this step fails, then you should remove it and run the build manually (see below)
- name: Autobuild
uses: github/codeql-action/autobuild@v1
# Command-line programs to run using the OS shell.
# 📚 https://git.io/JvXDl
# ✏️ If the Autobuild fails above, remove it and uncomment the following three lines
# and modify them (or add more) to build your code if your project
# uses a compiled language
#- run: |
# make bootstrap
# make release
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v1
call-codeQL-analysis:
name: CodeQL analysis
uses: actions/reusable-workflows/.github/workflows/codeql-analysis.yml@main

View File

@ -2,32 +2,9 @@ name: Create Pull Request
on:
workflow_dispatch:
defaults:
run:
shell: pwsh
jobs:
create_pr:
name: Create Pull Request
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
with:
submodules: true
- name: Create versions-manifest.json
run: |
./helpers/packages-generation/manifest-generator.ps1 -RepositoryFullName "$env:GITHUB_REPOSITORY" `
-GitHubAccessToken "${{secrets.GITHUB_TOKEN}}" `
-OutputFile "./versions-manifest.json" `
-ConfigurationFile "./config/node-manifest-config.json"
- name: Create GitHub PR
run: |
$formattedDate = Get-Date -Format "MM/dd/yyyy"
./helpers/github/create-pull-request.ps1 `
-RepositoryFullName "$env:GITHUB_REPOSITORY" `
-AccessToken "${{secrets.GITHUB_TOKEN}}" `
-BranchName "update-versions-manifest-file" `
-CommitMessage "Update versions-manifest" `
-PullRequestTitle "[versions-manifest] Update for release from ${formattedDate}" `
-PullRequestBody "Update versions-manifest.json for release from ${formattedDate}"
create-pr:
uses: actions/versions-package-tools/.github/workflows/create-pr-to-update-manifest.yml@main
with:
tool-name: "node"
secrets: inherit

View File

@ -4,94 +4,10 @@ on:
- cron: '0 3,15 * * *'
workflow_dispatch:
env:
TOOL_NAME: "Node"
defaults:
run:
shell: pwsh
jobs:
find_new_versions:
name: Find new versions
runs-on: ubuntu-latest
outputs:
versions_output: ${{ steps.Get_new_versions.outputs.TOOL_VERSIONS }}
steps:
- uses: actions/checkout@v2
with:
submodules: true
- id: Get_new_versions
name: Get new versions
run: ./helpers/get-new-tool-versions/get-new-tool-versions.ps1 -ToolName ${{ env.TOOL_NAME }}
check_new_versions:
name: Check new versions
runs-on: ubuntu-latest
needs: find_new_versions
env:
TOOL_VERSIONS: ${{needs.find_new_versions.outputs.versions_output}}
steps:
- uses: actions/checkout@v2
with:
submodules: true
- name: Check Versions
if: success() && env.TOOL_VERSIONS == ''
run: |
Write-Host "No new versions were found"
Import-Module "./helpers/github/github-api.psm1"
$gitHubApi = Get-GitHubApi -RepositoryFullName "$env:GITHUB_REPOSITORY" `
-AccessToken "${{ secrets.PERSONAL_TOKEN }}"
$gitHubApi.CancelWorkflow("$env:GITHUB_RUN_ID")
Start-Sleep -Seconds 60
- name: Send Slack notification
run: |
$pipelineUrl = "$env:GITHUB_SERVER_URL/$env:GITHUB_REPOSITORY/actions/runs/$env:GITHUB_RUN_ID"
$message = "The following versions of '${{ env.TOOL_NAME }}' are available to upload: ${{ env.TOOL_VERSIONS }}\nLink to the pipeline: $pipelineUrl"
./helpers/get-new-tool-versions/send-slack-notification.ps1 -Url "${{ secrets.SLACK_CHANNEL_URL }}" `
-ToolName "${{ env.TOOL_NAME }}" `
-ImageUrl "https://nodejs.org/static/images/logo-hexagon-card.png" `
-Text "$message"
trigger_builds:
name: Trigger builds
runs-on: ubuntu-latest
needs: [find_new_versions, check_new_versions]
env:
TOOL_VERSIONS: ${{needs.find_new_versions.outputs.versions_output}}
environment: Get Available Tools Versions - Publishing Approval
steps:
- uses: actions/checkout@v2
with:
submodules: true
- name: Trigger "Build Node packages" workflow
run:
./helpers/github/run-ci-builds.ps1 -RepositoryFullName "$env:GITHUB_REPOSITORY" `
-AccessToken "${{ secrets.PERSONAL_TOKEN }}" `
-WorkflowFileName "build-node-packages.yml" `
-WorkflowDispatchRef "main" `
-ToolVersions "${{ env.TOOL_VERSIONS }}" `
-PublishReleases "true"
check_build:
name: Check build for failures
runs-on: ubuntu-latest
needs: [find_new_versions, check_new_versions, trigger_builds]
if: failure()
steps:
- uses: actions/checkout@v2
with:
submodules: true
- name: Send Slack notification if build fails
run: |
$pipelineUrl = "$env:GITHUB_SERVER_URL/$env:GITHUB_REPOSITORY/actions/runs/$env:GITHUB_RUN_ID"
$message = "The build of the '${{ env.TOOL_NAME }}' detection pipeline failed :progress-error:\nLink to the pipeline: $pipelineUrl"
./helpers/get-new-tool-versions/send-slack-notification.ps1 -Url "${{ secrets.SLACK_CHANNEL_URL }}" `
-ToolName "${{ env.TOOL_NAME }}" `
-Text "$message" `
-ImageUrl "https://nodejs.org/static/images/logo-hexagon-card.png"
get-new-node-versions:
uses: actions/versions-package-tools/.github/workflows/get-new-tool-versions.yml@main
with:
tool-name: "Node"
image-url: "https://nodejs.org/static/images/logo-hexagon-card.png"
secrets: inherit

View File

@ -1,48 +1,21 @@
name: Validate manifest
on:
# The GITHUB_TOKEN secret is used to create a PR
# The pull_request event will not be triggered by it
# That's one of the reasons we need the schedule to validate the versions-manifest.json file
schedule:
- cron: '0 8,20 * * *'
workflow_dispatch:
pull_request:
branches:
- main
paths:
- 'versions-manifest.json'
env:
TOOL_NAME: "Node"
defaults:
run:
shell: pwsh
jobs:
validation:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
with:
submodules: true
- name: Validate node-versions manifest
run: .\helpers\packages-generation\manifest-validator.ps1 -ManifestPath '.\versions-manifest.json'
check_build:
name: Check validation for failures
runs-on: ubuntu-latest
needs: [validation]
if: failure()
steps:
- uses: actions/checkout@v2
with:
submodules: true
- name: Send Slack notification if validation fails
run: |
$pipelineUrl = "$env:GITHUB_SERVER_URL/$env:GITHUB_REPOSITORY/actions/runs/$env:GITHUB_RUN_ID"
$message = "The validation of node-versions manifest failed. \nLink to the pipeline: $pipelineUrl"
.\helpers\get-new-tool-versions\send-slack-notification.ps1 -Url "${{ secrets.SLACK_CHANNEL_URL }}" `
-ToolName "${{ env.TOOL_NAME }}" `
-Text "$message" `
-ImageUrl "https://nodejs.org/static/images/logo-hexagon-card.png"
manifest:
uses: actions/versions-package-tools/.github/workflows/validate-manifest.yml@main
with:
tool-name: "Node"
image-url: "https://nodejs.org/static/images/logo-hexagon-card.png"
secrets: inherit

View File

@ -1,15 +1,18 @@
# Node.js for Actions
This repository contains the code and scripts that we use to prepare Node.js packages used in [virtual-environments](https://github.com/actions/virtual-environments) and accessible through the [setup-node](https://github.com/actions/setup-node) Action.
This repository contains the code and scripts that we use to prepare Node.js packages used in [runner-images](https://github.com/actions/runner-images) and accessible through the [setup-node](https://github.com/actions/setup-node) Action.
The file [versions-manifest.json](./versions-manifest.json) contains the list of available and released versions.
> Caution: this is prepared for and only permitted for use by actions `virtual-environments` and `setup-node` action.
> Caution: this is prepared for and only permitted for use by actions `runner-images` and `setup-node` action.
**Status**: Currently under development and in use for beta and preview actions. This repo is undergoing rapid changes.
Latest of LTS versions will be installed on the [virtual-environments](https://github.com/actions/virtual-environments) images. Other versions will be pulled JIT using the [`setup-node`](https://github.com/actions/setup-node) action.
Latest of LTS versions will be installed on the [runner-images](https://github.com/actions/runner-images) images. Other versions will be pulled JIT using the [`setup-node`](https://github.com/actions/setup-node) action.
## Adding new versions
We are trying to prepare packages for new versions of Node.js as soon as they are released. Please open an issue in [actions/virtual-environments](https://github.com/actions/virtual-environments) if any versions are missing.
We are trying to prepare packages for new versions of Node.js as soon as they are released. Please open an issue in [actions/runner-images](https://github.com/actions/runner-images) if any versions are missing.
## Support Notification Policy
Beginning **approximately six months prior** to the removal of a Node.js version from the [versions-manifest.json](https://github.com/actions/node-versions/blob/main/versions-manifest.json) file, a pinned issue will be created in the [setup-node](https://github.com/actions/setup-node) repository. This pinned issue will provide important details about the upcoming end of support, including the specific date, as well as any other notes, relevant updates or alternatives. We encourage users to regularly check pinned issues for updates on tool versions they are using for maximum transparency, security, performance and overall compatibility with their projects.
## Contribution
Contributions are welcome! See [Contributor's Guide](./CONTRIBUTING.md) for more details about contribution process and code structure

View File

@ -54,7 +54,7 @@ class NixNodeBuilder : NodeBuilder {
$installationTemplateLocation = Join-Path -Path $this.InstallationTemplatesLocation -ChildPath $this.InstallationTemplateName
$installationTemplateContent = Get-Content -Path $installationTemplateLocation -Raw
$installationTemplateContent = $installationTemplateContent -f $this.Version.ToString(3)
$installationTemplateContent = $installationTemplateContent -f $this.Version.ToString(3), $this.Architecture
$installationTemplateContent | Out-File -FilePath $installationScriptLocation
Write-Debug "Done; Installation script location: $installationScriptLocation)"

View File

@ -1,5 +1,5 @@
{
"regex": "node-\\d+\\.\\d+\\.\\d+-(\\w+)-(x\\d+)",
"regex": "node-\\d+\\.\\d+\\.\\d+-(\\w+)-((x|arm)\\d+)",
"groups": {
"arch": 2,
"platform": 1

@ -1 +1 @@
Subproject commit 6f1aa3ce73ce0ea4b58995a63b56a8677607762a
Subproject commit 6fbb1f0f2098254142702dba05fe75cd8e77c4ae

View File

@ -1,10 +1,11 @@
set -e
NODE_VERSION={0}
ARCH={1}
NODE_TOOLCACHE_PATH=$AGENT_TOOLSDIRECTORY/node
NODE_TOOLCACHE_VERSION_PATH=$NODE_TOOLCACHE_PATH/$NODE_VERSION
NODE_TOOLCACHE_VERSION_ARCH_PATH=$NODE_TOOLCACHE_VERSION_PATH/x64
NODE_TOOLCACHE_VERSION_ARCH_PATH=$NODE_TOOLCACHE_VERSION_PATH/$ARCH
echo "Check if Node.js hostedtoolcache folder exist..."
if [ ! -d $NODE_TOOLCACHE_PATH ]; then
@ -22,4 +23,4 @@ cp -R ./* $NODE_TOOLCACHE_VERSION_ARCH_PATH
rm $NODE_TOOLCACHE_VERSION_ARCH_PATH/setup.sh
echo "Create complete file"
touch $NODE_TOOLCACHE_VERSION_PATH/x64.complete
touch $NODE_TOOLCACHE_VERSION_PATH/$ARCH.complete

View File

@ -1,20 +1,23 @@
Import-Module (Join-Path $PSScriptRoot "../helpers/pester-extensions.psm1")
BeforeAll {
function Get-UseNodeLogs {
# GitHub Windows images don't have `HOME` variable
$homeDir = $env:HOME ?? $env:HOMEDRIVE
$logsFolderPath = Join-Path -Path $homeDir -ChildPath "runners/*/_diag/pages" -Resolve
$useNodeLogFile = Get-ChildItem -Path $logsFolderPath | Where-Object {
$logContent = Get-Content $_.Fullname -Raw
return $logContent -match "setup-node@v"
} | Select-Object -First 1
return $useNodeLogFile.Fullname
}
}
Describe "Node.js" {
BeforeAll {
function Get-UseNodeLogs {
# GitHub Windows images don't have `HOME` variable
$homeDir = $env:HOME ?? $env:HOMEDRIVE
$logsFolderPath = Join-Path -Path $homeDir -ChildPath "runners/*/_diag/pages" -Resolve
$useNodeLogFile = Get-ChildItem -Path $logsFolderPath | Where-Object {
$logContent = Get-Content $_.Fullname -Raw
return $logContent -match "setup-node@v"
} | Select-Object -First 1
return $useNodeLogFile.Fullname
}
}
It "is available" {
"node --version" | Should -ReturnZeroExitCode
}
@ -34,15 +37,25 @@ Describe "Node.js" {
$nodePath.startsWith($expectedPath) | Should -BeTrue -Because "'$nodePath' is not started with '$expectedPath'"
}
It "cached version is used without downloading" {
# Analyze output of previous steps to check if Node.js was consumed from cache or downloaded
$useNodeLogFile = Get-UseNodeLogs
$useNodeLogFile | Should -Exist
$useNodeLogContent = Get-Content $useNodeLogFile -Raw
$useNodeLogContent | Should -Match "Found in cache"
}
It "cached version is used without downloading" {
if ($env:RUNNER_TYPE -eq "self-hosted") {
# Get the installed version of Node.js
$nodeVersion = Invoke-Expression "node --version"
# Check if Node.js is installed
$nodeVersion | Should -Not -BeNullOrEmpty
# Check if the installed version of Node.js is the expected version
$nodeVersion | Should -Match $env:VERSION
}else {
# Analyze output of previous steps to check if Node.js was consumed from cache or downloaded
$useNodeLogFile = Get-UseNodeLogs
$useNodeLogFile | Should -Exist
$useNodeLogContent = Get-Content $useNodeLogFile -Raw
$useNodeLogContent | Should -Match "Found in cache"
}
}
It "Run simple code" {
"node ./simple-test.js" | Should -ReturnZeroExitCode
}
}
}

File diff suppressed because it is too large Load Diff