Skip to content

regression: parsePush writes to its own module's dir instead of the process root #1092

@coopernetes

Description

@coopernetes

Prior to e3ee26a , parsePush would create a temporary directory & checkout a repo to the main process's working directory + .tmp/{timestamp}. After that refactor, the action attempts to instead write to its own module's directory (${process_root}/src/proxy/processors/push-action/.tmp). In secure environments where file permissions are minimal, it leads to the following error:

Error: EACCES: permission denied, mkdir '/app/src/proxy/processors/push-action/.tmp'
    at Object.mkdirSync (node:fs:1372:26)
    at /app/src/proxy/processors/push-action/parsePush.ts:2:1529
    at Object.<anonymous> (/app/src/proxy/processors/push-action/parsePush.ts:3:3)
    at Module._compile (node:internal/modules/cjs/loader:1529:14)
    at Object.transformer (/app/node_modules/tsx/dist/register-D46fvsV_.cjs:3:1104)
    at Module.load (node:internal/modules/cjs/loader:1275:32)
    at Module._load (node:internal/modules/cjs/loader:1096:12)

const dir = path.resolve(__dirname, './.tmp');

Suggest restoring the prior behaviour unless there is some reason why that change was made that I haven't accounted for.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions