diff --git a/action.yml b/action.yml index 345e2f4..c483ced 100644 --- a/action.yml +++ b/action.yml @@ -1,11 +1,55 @@ -name: 'Your name here' -description: 'Provide a description here' -author: 'Your name or organization here' +name: 'Setup Node.js and Yarn' inputs: - milliseconds: # change this - required: true - description: 'input description here' - default: 'default value if applicable' + always-auth: + description: 'Set always-auth in npmrc.' + default: 'false' + node-version: + description: 'Version Spec of the version to use. Examples: 12.x, 10.15.1, >=10.15.0.' + node-version-file: + description: 'File containing the version Spec of the version to use. Examples: .nvmrc, .node-version, .tool-versions.' + architecture: + description: 'Target architecture for Node to use. Examples: x86, x64. Will use system architecture by default.' + check-latest: + description: 'Set this option if you want the action to check for the latest available version that satisfies the version spec.' + default: false + registry-url: + description: 'Optional registry to set up for auth. Will set the registry in a project level .npmrc and .yarnrc file, and set up auth to read in from env.NODE_AUTH_TOKEN.' + scope: + description: 'Optional scope for authenticating against scoped registries. Will fall back to the repository owner when using the GitHub Packages registry (https://npm.pkg.github.com/).' + token: + description: Used to pull node distributions from node-versions. Since there's a default, this is typically not supplied by the user. When running this action on github.com, the default value is sufficient. When running on GHES, you can pass a personal access token for github.com if you are experiencing rate limiting. + default: ${{ github.server_url == 'https://github.com' && github.token || '' }} + working-directory: + description: 'The working directory to run the action in.' + default: '.' +outputs: + cache-hit: + description: 'A boolean value to indicate if a cache was hit.' + node-version: + description: 'The installed node version.' runs: using: 'node16' - main: 'dist/index.js' + steps: + - uses: actions/setup-node@v3 + with: + node-version: ${{inputs.node-version}} + node-version-file: ${{inputs.node-version-file}} + check-latest: ${{inputs.check-latest}} + architecture: ${{inputs.architecture}} + always-auth: ${{inputs.always-auth}} + registry-url: ${{inputs.registry-url}} + scope: ${{inputs.scope}} + token: ${{inputs.token}} + + - name: Get yarn cache directory path + id: yarn-cache-dir-path + run: echo "dir=$(yarn config get cacheFolder)" >> $GITHUB_OUTPUT + shell: bash + working-directory: ${{inputs.working-directory}} + + - name: Restore yarn cache + uses: actions/cache@v3 + with: + path: ${{ steps.yarn-cache-dir-path.outputs.dir }} + key: yarn-cache-folder-${{ hashFiles('**/yarn.lock', '.yarnrc.yml') }} + restore-keys: yarn-cache-folder-