diff --git a/.gitignore b/.gitignore index b7de5a70..14621da8 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,6 @@ /gitea-runner .env +!/act/runner/testdata/secrets/.env .runner coverage.txt /config.yaml @@ -10,4 +11,4 @@ coverage.txt .vscode __debug_bin # gorelease binary folder -dist +/dist diff --git a/act/runner/runner_test.go b/act/runner/runner_test.go index b61a16cb..53cac993 100644 --- a/act/runner/runner_test.go +++ b/act/runner/runner_test.go @@ -15,6 +15,7 @@ import ( "runtime" "strings" "testing" + "time" "gitea.com/gitea/runner/act/common" "gitea.com/gitea/runner/act/model" @@ -192,6 +193,7 @@ func (j *TestJobFileInfo) runTest(ctx context.Context, t *testing.T, cfg *Config Inputs: cfg.Inputs, GitHubInstance: "github.com", ContainerArchitecture: cfg.ContainerArchitecture, + ContainerMaxLifetime: time.Hour, Matrix: cfg.Matrix, ActionCache: cfg.ActionCache, } diff --git a/act/runner/testdata/actions/node24/action.yml b/act/runner/testdata/actions/node24/action.yml index 522b1faf..68e88844 100644 --- a/act/runner/testdata/actions/node24/action.yml +++ b/act/runner/testdata/actions/node24/action.yml @@ -10,4 +10,4 @@ outputs: description: 'The time we greeted you' runs: using: 'node24' - main: 'dist/index.js' + main: 'index.js' diff --git a/act/runner/testdata/actions/node24/index.js b/act/runner/testdata/actions/node24/index.js index 5aa4a837..730fa993 100644 --- a/act/runner/testdata/actions/node24/index.js +++ b/act/runner/testdata/actions/node24/index.js @@ -1,11 +1,14 @@ -import {getInput, setOutput, setFailed} from '@actions/core'; -import {context} from '@actions/github'; +import {appendFileSync, readFileSync} from 'node:fs'; -try { - const nameToGreet = getInput('who-to-greet'); - console.log(`Hello ${nameToGreet}!`); - setOutput('time', (new Date()).toTimeString()); - console.log(`The event payload: ${JSON.stringify(context.payload, undefined, 2)}`); -} catch (error) { - setFailed(error.message); +const nameToGreet = process.env['INPUT_WHO-TO-GREET'] || 'World'; +console.log(`Hello ${nameToGreet}!`); + +if (process.env.GITHUB_OUTPUT) { + appendFileSync(process.env.GITHUB_OUTPUT, `time=${new Date().toTimeString()}\n`); } + +let payload = {}; +if (process.env.GITHUB_EVENT_PATH) { + payload = JSON.parse(readFileSync(process.env.GITHUB_EVENT_PATH, 'utf8')); +} +console.log(`The event payload: ${JSON.stringify(payload, undefined, 2)}`); diff --git a/act/runner/testdata/actions/node24/package.json b/act/runner/testdata/actions/node24/package.json index 8603ec31..3dbda4aa 100644 --- a/act/runner/testdata/actions/node24/package.json +++ b/act/runner/testdata/actions/node24/package.json @@ -1,21 +1,5 @@ { "name": "node24", - "version": "1.0.0", - "description": "", - "main": "index.js", - "type": "module", - "scripts": { - "build": "ncc build index.js" - }, - "license": "ISC", - "dependencies": { - "@actions/core": "^3.0.1", - "@actions/github": "^9.1.1" - }, - "devDependencies": { - "@vercel/ncc": "^0.38.4" - }, - "engines": { - "node": ">=24" - } + "private": true, + "type": "module" } diff --git a/act/runner/testdata/secrets/.env b/act/runner/testdata/secrets/.env new file mode 100644 index 00000000..3b66cf2a --- /dev/null +++ b/act/runner/testdata/secrets/.env @@ -0,0 +1,2 @@ +HELLO=WORLD +MULTILINE_ENV="foo\nbar\nbaz"