mirror of
https://github.com/taiki-e/install-action.git
synced 2026-04-21 15:10:27 +00:00
Switch to composite action
This commit is contained in:
12
action.yml
12
action.yml
@@ -11,6 +11,14 @@ inputs:
|
||||
required: false
|
||||
default: 'true'
|
||||
|
||||
# Note:
|
||||
# - inputs.* should be manually mapped to INPUT_* due to https://github.com/actions/runner/issues/665
|
||||
# - Use GITHUB_*/RUNNER_* instead of github.*/runner.* due to https://github.com/actions/runner/issues/2185
|
||||
runs:
|
||||
using: node16
|
||||
main: main.js
|
||||
using: composite
|
||||
steps:
|
||||
- run: bash --noprofile --norc "${GITHUB_ACTION_PATH:?}/main.sh"
|
||||
shell: bash
|
||||
env:
|
||||
INPUT_TOOL: ${{ inputs.tool }}
|
||||
INPUT_CHECKSUM: ${{ inputs.checksum }}
|
||||
|
||||
28
main.js
28
main.js
@@ -1,28 +0,0 @@
|
||||
// This is a script that just calls the bash script that does the main
|
||||
// processing of the action. It works like a composite action that calls
|
||||
// a single bash script.
|
||||
//
|
||||
// This was originally a trick adopted to make bash script-based actions work
|
||||
// without docker before composite actions were supported. However, due to
|
||||
// various problems with composite actions, this trick is still needed:
|
||||
// - https://github.com/actions/runner/issues/665
|
||||
// - https://github.com/actions/runner/issues/2185
|
||||
// Although there are ways to work around these like cache-cargo-install-action does:
|
||||
// https://github.com/taiki-e/cache-cargo-install-action/blob/v1.0.1/action.yml#L9-L11
|
||||
|
||||
const { execFileSync } = require('child_process');
|
||||
|
||||
function main() {
|
||||
try {
|
||||
execFileSync(
|
||||
'bash',
|
||||
['--noprofile', '--norc', `${__dirname}/main.sh`],
|
||||
{ stdio: 'inherit' }
|
||||
);
|
||||
} catch (e) {
|
||||
console.log(`::error::${e.message}`);
|
||||
process.exit(1);
|
||||
}
|
||||
}
|
||||
|
||||
main();
|
||||
Reference in New Issue
Block a user