From ad68ad8915adb7a1cd174dfc238dbbe76d99907d Mon Sep 17 00:00:00 2001 From: Stefan Stojanovic Date: Thu, 27 Jun 2024 12:20:13 +0200 Subject: [PATCH 1/3] ansible: add ClangCL to VS2022 fix (#3786) Adds a missing VS component required for ClangCL compilation Refs: https://github.com/nodejs/build/pull/3714 Refs: https://github.com/nodejs/build/issues/3709 --- ansible/roles/visual-studio/tasks/partials/vs2022.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ansible/roles/visual-studio/tasks/partials/vs2022.yml b/ansible/roles/visual-studio/tasks/partials/vs2022.yml index e08f31b15..476afb732 100644 --- a/ansible/roles/visual-studio/tasks/partials/vs2022.yml +++ b/ansible/roles/visual-studio/tasks/partials/vs2022.yml @@ -13,7 +13,7 @@ - name: install Visual Studio Community 2022 Native Desktop Workload win_chocolatey: name: visualstudio2022-workload-nativedesktop - params: '--add Microsoft.VisualStudio.Component.VC.Tools.ARM64 --add Microsoft.VisualStudio.Component.VC.ATL.ARM64 --add Microsoft.NetCore.Component.SDK --add Microsoft.VisualStudio.Component.VC.Llvm.Clang' + params: '--add Microsoft.VisualStudio.Component.VC.Tools.ARM64 --add Microsoft.VisualStudio.Component.VC.ATL.ARM64 --add Microsoft.NetCore.Component.SDK --add Microsoft.VisualStudio.Component.VC.Llvm.Clang --add Microsoft.VisualStudio.Component.VC.Llvm.ClangToolset' - name: install WiX Toolset import_tasks: 'wixtoolset.yml' From 787eab48e6fa93b2c9854f2c2a11a4be0c12d493 Mon Sep 17 00:00:00 2001 From: Richard Lau Date: Thu, 27 Jun 2024 16:45:59 +0100 Subject: [PATCH 2/3] ansible: install gcc 12 on AIX (#3773) --- ansible/roles/baselayout/tasks/partials/ccache/aix.yml | 4 ++-- ansible/roles/baselayout/vars/main.yml | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/ansible/roles/baselayout/tasks/partials/ccache/aix.yml b/ansible/roles/baselayout/tasks/partials/ccache/aix.yml index a5f365263..da95d6ffa 100644 --- a/ansible/roles/baselayout/tasks/partials/ccache/aix.yml +++ b/ansible/roles/baselayout/tasks/partials/ccache/aix.yml @@ -55,12 +55,12 @@ - g++ - gcc - gcov - - g++-6 - - gcc-6 - g++-8 - gcc-8 - gcc-10 - g++-10 + - gcc-12 + - g++-12 - name: "ccache : cleanup - aix tarball" file: diff --git a/ansible/roles/baselayout/vars/main.yml b/ansible/roles/baselayout/vars/main.yml index ed78fa5f7..6195c5ccb 100644 --- a/ansible/roles/baselayout/vars/main.yml +++ b/ansible/roles/baselayout/vars/main.yml @@ -49,11 +49,11 @@ packages: { ], aix72: [ - 'gcc6-c++,gcc8-c++,gcc10-c++' + 'gcc8-c++,gcc10-c++,gcc12-c++' ], aix73: [ - 'gcc8-c++,gcc10-c++' + 'gcc8-c++,gcc10-c++,gcc12-c++' ], ibmi: [ From 6ab516463f327748bee31829435cb03642d33eee Mon Sep 17 00:00:00 2001 From: Trivikram Kamat <16024985+trivikr@users.noreply.github.com> Date: Thu, 27 Jun 2024 22:52:19 -0700 Subject: [PATCH 3/3] metrics: replace moment with JavaScript Date API (#3783) --- .../files/process-cloudflare/package.json | 1 - .../metrics/files/summaries/package.json | 3 +-- .../metrics/files/summaries/summaries.js | 24 +++++++++---------- 3 files changed, 12 insertions(+), 16 deletions(-) diff --git a/ansible/roles/metrics/files/process-cloudflare/package.json b/ansible/roles/metrics/files/process-cloudflare/package.json index 9befd98e1..b5b213d34 100644 --- a/ansible/roles/metrics/files/process-cloudflare/package.json +++ b/ansible/roles/metrics/files/process-cloudflare/package.json @@ -16,7 +16,6 @@ "@google-cloud/storage": "^5.0.0", "body-parser": "^1.19.0", "express": "^4.17.1", - "moment": "^2.29.1", "split2": "~3.1.1", "strftime": "~0.10.0" }, diff --git a/ansible/roles/metrics/files/summaries/package.json b/ansible/roles/metrics/files/summaries/package.json index ed5b20104..3aea72e1a 100644 --- a/ansible/roles/metrics/files/summaries/package.json +++ b/ansible/roles/metrics/files/summaries/package.json @@ -12,8 +12,7 @@ "dependencies": { "@google-cloud/storage": "^5.0.0", "body-parser": "^1.19.0", - "express": "^4.17.1", - "moment": "^2.29.1" + "express": "^4.17.1" }, "devDependencies": { "eslint": "^7.8.1" diff --git a/ansible/roles/metrics/files/summaries/summaries.js b/ansible/roles/metrics/files/summaries/summaries.js index b6b344137..3a28b5e9b 100755 --- a/ansible/roles/metrics/files/summaries/summaries.js +++ b/ansible/roles/metrics/files/summaries/summaries.js @@ -5,7 +5,6 @@ // const { Storage } = require('@google-cloud/storage') -const moment = require('moment') const express = require('express') const bodyParser = require('body-parser') const app = express() @@ -24,7 +23,7 @@ function csvStream (chunk) { return } catch (e) { console.log(e) - } + } } const counts = { bytes: 0, total: 0 } @@ -65,19 +64,17 @@ function summary (chunk) { return } -async function collectData () { +async function collectData (date) { const storage = new Storage({ keyFilename: "metrics-processor-service-key.json", }) - let date = moment(new Date()) - date = moment(date, 'YYYYMMDD').subtract(1, 'days').format('YYYYMMDD') const filePrefix = date.toString().concat('/') console.log(filePrefix) const [files] = await storage.bucket('processed-logs-nodejs').getFiles({ prefix: `${filePrefix}`}) for (const file of files) { - const data = await storage.bucket('processed-logs-nodejs').file(file.name).download() + const data = await storage.bucket('processed-logs-nodejs').file(file.name).download() const stringContents = data[0].toString() - const contentsArray = stringContents.split('\n') + const contentsArray = stringContents.split('\n') for (const line of contentsArray) { try { const csvparse = csvStream(line) @@ -87,14 +84,12 @@ async function collectData () { } } -async function produceSummaries () { +async function produceSummaries (date) { const storage = new Storage({ keyFilename: "metrics-processor-service-key.json", - }) - await collectData() + }) + await collectData(date) prepare() - let date = moment(new Date()) - date = moment(date, 'YYYYMMDD').subtract(1, 'days').format('YYYYMMDD') let outputFile = "nodejs.org-access.log." + date.toString() + ".json" storage.bucket('access-logs-summaries-nodejs').file(outputFile).save(JSON.stringify(counts), function (err) { if (err) { @@ -106,7 +101,10 @@ async function produceSummaries () { } app.post('/', async (req, res) => { - await produceSummaries() + // ToDo: accept optional date parameter https://github.com/nodejs/build/issues/3780 + const yesterday = new Date().getTime() - (24 * 60 * 60 * 1000) + const date = new Date(yesterday).toISOString().slice(0, 10).replace(/-/g, '') + await produceSummaries(date) res.status(200).send() })