Compare commits

...

12 Commits

Author SHA1 Message Date
Aparna Jyothi
4fc21c0d5d npm run format 2025-08-20 10:26:44 +05:30
Aparna Jyothi
da434008b8 npm run format 2025-08-20 10:25:25 +05:30
Aparna Jyothi
565ba0f11a update node24 2025-08-19 17:55:57 +05:30
Aparna Jyothi
7ca6144633 package-lock.json update 2025-08-19 16:23:34 +05:30
Aparna Jyothi
af03c14274 check failure fix 2025-08-14 19:11:11 +05:30
Aparna Jyothi
c3e3067955 Merge remote-tracking branch 'origin/main' into node24-fix 2025-08-14 19:05:12 +05:30
Aparna Jyothi
d7ffe7f414 update package.json version 2025-08-14 18:58:44 +05:30
Aparna Jyothi
22d9ca5e06 upgrade @types/node 2025-08-14 18:56:26 +05:30
Aparna Jyothi
b184a007c8 fix for check failures 2025-08-13 11:17:09 +05:30
Salman Muin Kayser Chishti
96c2b3c9c1 package updates 2025-08-08 07:31:10 +01:00
Salman Muin Kayser Chishti
60b6f6b09a format 2025-08-08 07:04:05 +01:00
Salman Muin Kayser Chishti
abe7d6b8af Node 24 upgrade
Doing an upgrade for node 24, node 24 is stricter with types so need to add a type for achitecture
2025-07-31 11:28:58 +01:00
8 changed files with 42 additions and 24 deletions

View File

@@ -1,6 +1,6 @@
--- ---
name: "@types/node" name: "@types/node"
version: 20.11.28 version: 24.1.0
type: npm type: npm
summary: TypeScript definitions for node summary: TypeScript definitions for node
homepage: https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node homepage: https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node

View File

@@ -1,15 +1,17 @@
--- ---
name: undici-types name: undici-types
version: 5.26.5 version: 7.8.0
type: npm type: npm
summary: A stand-alone types package for Undici summary: A stand-alone types package for Undici
homepage: https://undici.nodejs.org homepage: https://undici.nodejs.org
license: mit license: mit
licenses: licenses:
- sources: Auto-generated MIT license text - sources: LICENSE
text: | text: |
MIT License MIT License
Copyright (c) Matteo Collina and Undici contributors
Permission is hereby granted, free of charge, to any person obtaining a copy Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights in the Software without restriction, including without limitation the rights

25
package-lock.json generated
View File

@@ -1,12 +1,12 @@
{ {
"name": "setup-go", "name": "setup-go",
"version": "5.0.0", "version": "6.0.0",
"lockfileVersion": 3, "lockfileVersion": 3,
"requires": true, "requires": true,
"packages": { "packages": {
"": { "": {
"name": "setup-go", "name": "setup-go",
"version": "5.0.0", "version": "6.0.0",
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"@actions/cache": "^4.0.3", "@actions/cache": "^4.0.3",
@@ -20,7 +20,7 @@
}, },
"devDependencies": { "devDependencies": {
"@types/jest": "^29.5.14", "@types/jest": "^29.5.14",
"@types/node": "^20.11.28", "@types/node": "^24.1.0",
"@types/semver": "^7.5.8", "@types/semver": "^7.5.8",
"@typescript-eslint/eslint-plugin": "^8.31.1", "@typescript-eslint/eslint-plugin": "^8.31.1",
"@typescript-eslint/parser": "^8.35.1", "@typescript-eslint/parser": "^8.35.1",
@@ -35,6 +35,9 @@
"prettier": "^2.8.4", "prettier": "^2.8.4",
"ts-jest": "^29.3.2", "ts-jest": "^29.3.2",
"typescript": "^5.8.3" "typescript": "^5.8.3"
},
"engines": {
"node": ">=24.0.0"
} }
}, },
"node_modules/@aashutoshrathi/word-wrap": { "node_modules/@aashutoshrathi/word-wrap": {
@@ -1599,11 +1602,12 @@
} }
}, },
"node_modules/@types/node": { "node_modules/@types/node": {
"version": "20.11.28", "version": "24.1.0",
"resolved": "https://registry.npmjs.org/@types/node/-/node-20.11.28.tgz", "resolved": "https://registry.npmjs.org/@types/node/-/node-24.1.0.tgz",
"integrity": "sha512-M/GPWVS2wLkSkNHVeLkrF2fD5Lx5UC4PxA0uZcKc6QqbIQUJyW1jVjueJYi1z8n0I5PxYrtpnPnWglE+y9A0KA==", "integrity": "sha512-ut5FthK5moxFKH2T1CUOC6ctR67rQRvvHdFLCD2Ql6KXmMuCrjsSsRI9UsLCm9M18BMwClv4pn327UvB7eeO1w==",
"license": "MIT",
"dependencies": { "dependencies": {
"undici-types": "~5.26.4" "undici-types": "~7.8.0"
} }
}, },
"node_modules/@types/node-fetch": { "node_modules/@types/node-fetch": {
@@ -5973,9 +5977,10 @@
} }
}, },
"node_modules/undici-types": { "node_modules/undici-types": {
"version": "5.26.5", "version": "7.8.0",
"resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.8.0.tgz",
"integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==" "integrity": "sha512-9UJ2xGDvQ43tYyVMpuHlsgApydB8ZKfVYTsLDhXkFL/6gfkp+U8xTGdh8pMJv1SpZna0zxG1DwsKZsreLbXBxw==",
"license": "MIT"
}, },
"node_modules/update-browserslist-db": { "node_modules/update-browserslist-db": {
"version": "1.0.13", "version": "1.0.13",

View File

@@ -1,9 +1,12 @@
{ {
"name": "setup-go", "name": "setup-go",
"version": "5.0.0", "version": "6.0.0",
"private": true, "private": true,
"description": "setup go action", "description": "setup go action",
"main": "lib/setup-go.js", "main": "lib/setup-go.js",
"engines": {
"node": ">=24.0.0"
},
"scripts": { "scripts": {
"build": "tsc && ncc build -o dist/setup src/setup-go.ts && ncc build -o dist/cache-save src/cache-save.ts", "build": "tsc && ncc build -o dist/setup src/setup-go.ts && ncc build -o dist/cache-save src/cache-save.ts",
"format": "prettier --no-error-on-unmatched-pattern --config ./.prettierrc.js --write \"**/*.{ts,yml,yaml}\"", "format": "prettier --no-error-on-unmatched-pattern --config ./.prettierrc.js --write \"**/*.{ts,yml,yaml}\"",
@@ -36,7 +39,7 @@
}, },
"devDependencies": { "devDependencies": {
"@types/jest": "^29.5.14", "@types/jest": "^29.5.14",
"@types/node": "^20.11.28", "@types/node": "^24.1.0",
"@types/semver": "^7.5.8", "@types/semver": "^7.5.8",
"@typescript-eslint/eslint-plugin": "^8.31.1", "@typescript-eslint/eslint-plugin": "^8.31.1",
"@typescript-eslint/parser": "^8.35.1", "@typescript-eslint/parser": "^8.35.1",

View File

@@ -7,6 +7,7 @@ import * as sys from './system';
import fs from 'fs'; import fs from 'fs';
import os from 'os'; import os from 'os';
import {StableReleaseAlias, isSelfHosted} from './utils'; import {StableReleaseAlias, isSelfHosted} from './utils';
import {Architecture} from './types';
const MANIFEST_REPO_OWNER = 'actions'; const MANIFEST_REPO_OWNER = 'actions';
const MANIFEST_REPO_NAME = 'go-versions'; const MANIFEST_REPO_NAME = 'go-versions';
@@ -39,7 +40,7 @@ export async function getGo(
versionSpec: string, versionSpec: string,
checkLatest: boolean, checkLatest: boolean,
auth: string | undefined, auth: string | undefined,
arch = os.arch() arch: Architecture = os.arch() as Architecture
) { ) {
let manifest: tc.IToolRelease[] | undefined; let manifest: tc.IToolRelease[] | undefined;
const osPlat: string = os.platform(); const osPlat: string = os.platform();
@@ -151,7 +152,7 @@ async function resolveVersionFromManifest(
versionSpec: string, versionSpec: string,
stable: boolean, stable: boolean,
auth: string | undefined, auth: string | undefined,
arch: string, arch: Architecture,
manifest: tc.IToolRelease[] | undefined manifest: tc.IToolRelease[] | undefined
): Promise<string | undefined> { ): Promise<string | undefined> {
try { try {
@@ -353,7 +354,7 @@ export async function getInfoFromManifest(
versionSpec: string, versionSpec: string,
stable: boolean, stable: boolean,
auth: string | undefined, auth: string | undefined,
arch = os.arch(), arch: Architecture = os.arch() as Architecture,
manifest?: tc.IToolRelease[] | undefined manifest?: tc.IToolRelease[] | undefined
): Promise<IGoVersionInfo | null> { ): Promise<IGoVersionInfo | null> {
let info: IGoVersionInfo | null = null; let info: IGoVersionInfo | null = null;
@@ -379,7 +380,7 @@ export async function getInfoFromManifest(
async function getInfoFromDist( async function getInfoFromDist(
versionSpec: string, versionSpec: string,
arch: string arch: Architecture
): Promise<IGoVersionInfo | null> { ): Promise<IGoVersionInfo | null> {
const version: IGoVersion | undefined = await findMatch(versionSpec, arch); const version: IGoVersion | undefined = await findMatch(versionSpec, arch);
if (!version) { if (!version) {
@@ -398,7 +399,7 @@ async function getInfoFromDist(
export async function findMatch( export async function findMatch(
versionSpec: string, versionSpec: string,
arch = os.arch() arch: Architecture = os.arch() as Architecture
): Promise<IGoVersion | undefined> { ): Promise<IGoVersion | undefined> {
const archFilter = sys.getArch(arch); const archFilter = sys.getArch(arch);
const platFilter = sys.getPlatform(); const platFilter = sys.getPlatform();
@@ -502,7 +503,10 @@ export function parseGoVersionFile(versionFilePath: string): string {
return contents.trim(); return contents.trim();
} }
async function resolveStableVersionDist(versionSpec: string, arch: string) { async function resolveStableVersionDist(
versionSpec: string,
arch: Architecture
) {
const archFilter = sys.getArch(arch); const archFilter = sys.getArch(arch);
const platFilter = sys.getPlatform(); const platFilter = sys.getPlatform();
const dlUrl = 'https://golang.org/dl/?mode=json&include=all'; const dlUrl = 'https://golang.org/dl/?mode=json&include=all';

View File

@@ -8,6 +8,7 @@ import {isCacheFeatureAvailable} from './cache-utils';
import cp from 'child_process'; import cp from 'child_process';
import fs from 'fs'; import fs from 'fs';
import os from 'os'; import os from 'os';
import {Architecture} from './types';
export async function run() { export async function run() {
try { try {
@@ -20,10 +21,10 @@ export async function run() {
const cache = core.getBooleanInput('cache'); const cache = core.getBooleanInput('cache');
core.info(`Setup go version spec ${versionSpec}`); core.info(`Setup go version spec ${versionSpec}`);
let arch = core.getInput('architecture'); let arch = core.getInput('architecture') as Architecture;
if (!arch) { if (!arch) {
arch = os.arch(); arch = os.arch() as Architecture;
} }
if (versionSpec) { if (versionSpec) {

View File

@@ -1,4 +1,5 @@
import os from 'os'; import os from 'os';
import {Architecture} from './types';
export function getPlatform(): string { export function getPlatform(): string {
// darwin and linux match already // darwin and linux match already
@@ -15,7 +16,7 @@ export function getPlatform(): string {
return plat; return plat;
} }
export function getArch(arch: string): string { export function getArch(arch: Architecture): string {
// 'arm', 'arm64', 'ia32', 'mips', 'mipsel', 'ppc', 'ppc64', 's390', 's390x', 'x32', and 'x64'. // 'arm', 'arm64', 'ia32', 'mips', 'mipsel', 'ppc', 'ppc64', 's390', 's390x', 'x32', and 'x64'.
// wants amd64, 386, arm64, armv61, ppc641e, s390x // wants amd64, 386, arm64, armv61, ppc641e, s390x

2
src/types.ts Normal file
View File

@@ -0,0 +1,2 @@
// match what @actions/tool-cache expects
export type Architecture = string;