Skip to content

Commit

Permalink
chore: refactor to use core utils for logging
Browse files Browse the repository at this point in the history
  • Loading branch information
UlisesGascon committed Aug 21, 2023
1 parent ffb2d7d commit c5bee9c
Show file tree
Hide file tree
Showing 5 changed files with 19 additions and 10 deletions.
6 changes: 4 additions & 2 deletions scripts/check-availability.js
Original file line number Diff line number Diff line change
@@ -1,10 +1,12 @@
import * as core from '@actions/core'
import { getReleases, chunkArray, getConfig, getUrlHeaders, saveResults } from '../utils/index.js'

core.notice('Checking availability...')
const { parallelHttpRequests, userAgent } = getConfig()
const releaseUrls = getReleases()

const chunks = chunkArray(releaseUrls, parallelHttpRequests)
console.log(`${releaseUrls.length} release urls divided into ${chunks.length} chunks`)
core.info(`${releaseUrls.length} release urls divided into ${chunks.length} chunks`)

const timestamp = Date.now()

Expand All @@ -14,7 +16,7 @@ for (const chunk of chunks) {
const result = await getUrlHeaders(url, userAgent)
output[url] = result
}))
console.log(`total processed: ${Object.keys(output).length} / ${releaseUrls.length}`)
core.info(`total processed: ${Object.keys(output).length} / ${releaseUrls.length}`)
}

saveResults(output, timestamp)
6 changes: 4 additions & 2 deletions scripts/collect-releases.js
Original file line number Diff line number Diff line change
@@ -1,8 +1,10 @@
import * as core from '@actions/core'
import { downloadReleases, overwriteReleaseUrls, generateReleasesUrls, getConfig } from '../utils/index.js'

const { parallelHttpRequests } = getConfig()
core.notice('Collecting releases...')
const releases = await downloadReleases()
console.log(`Found ${releases.length} releases`)
core.info(`Found ${releases.length} releases`)
const urls = await generateReleasesUrls(releases, parallelHttpRequests)
console.log(`Found ${urls.length} release urls`)
core.info(`Found ${urls.length} release urls`)
overwriteReleaseUrls(urls)
7 changes: 5 additions & 2 deletions scripts/generate-metrics.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
import * as core from '@actions/core'
import { getReleases, getAllResults, saveMetrics } from '../utils/index.js'

const releaseUrls = getReleases()

const timestamp = Date.now()
Expand Down Expand Up @@ -34,8 +36,9 @@ releaseUrls.forEach(url => {
}
})

core.notice('Metrics data is being collected...')
const results = await getAllResults()
console.log(`Total Results to process: ${Object.keys(results).length}`)
core.info(`Total Results to process: ${Object.keys(results).length}`)

// sort timestamps in reverse order (newest first)
const timestamps = Object.keys(results).sort().reverse()
Expand Down Expand Up @@ -80,6 +83,6 @@ timestamps.forEach((ts, i) => {
})
})

console.log('Metrics data is ready')
core.info('Metrics data is ready')

saveMetrics(reportData)
3 changes: 2 additions & 1 deletion scripts/generate-report.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
import * as core from '@actions/core'
import { getMetrics, generateReport, saveReport } from '../utils/index.js'

console.log('Generating report...')
core.notice('Generating report...')
const metrics = getMetrics()
const reportData = generateReport(metrics)
saveReport(reportData)
7 changes: 4 additions & 3 deletions utils/index.js
Original file line number Diff line number Diff line change
@@ -1,8 +1,9 @@
import exec from '@actions/exec'
import * as core from '@actions/core'
import { readFileSync, writeFileSync } from 'node:fs'
import { readdir } from 'node:fs/promises'
import https from 'node:https'
import { join } from 'node:path'
import exec from '@actions/exec'

export async function getAllResults () {
const resultsFolder = join(process.cwd(), 'results')
Expand All @@ -21,8 +22,8 @@ export async function getAllResults () {
export async function getUrlHeaders (url, userAgent) {
const { stdout } = await exec.getExecOutput('curl', ['-A', `${userAgent}`, '--head', `${url}`], { silent: true })
if (!stdout.includes('HTTP/2 200')) {
console.log(`NOT 200 for ${url}`)
console.log(stdout)
core.warning(`NOT 200 for ${url}`)
core.info(stdout)
}
// if 200 OK return 1, else return 0
return Number(stdout.includes('HTTP/2 200'))
Expand Down

0 comments on commit c5bee9c

Please sign in to comment.