actions-rs / audit-check

🛡️ GitHub Action for security audits
https://github.com/marketplace/actions/rust-audit-check
MIT License
170 stars 39 forks source link

Add PROJECT_PATH environment variable #116

Open S-Coyle opened 4 years ago

S-Coyle commented 4 years ago

Do the checklist before filing an issue:

Motivation

For a variety of reasons, many projects don't contain their Cargo.toml file in their root directory, or they have multiple sub-projects each with their own Cargo.tomls. Would it be possible to make the project path configurable? That way the community would benefit from being able to run from a specified path. We've added this action to a few of our projects and I'm in the process of expanding that to others as it works well, but I've hit this issue which seems to block me from using it in projects such as here ~and only the root directory `Cargo.toml in this repo here~ EDIT: was mistaken about this particular linked repo being an example.

Workflow example

name: Security audit
on:
  schedule:
    - cron: '0 0 * * *'

  paths: 
jobs:
  audit:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v1
      - uses: actions-rs/audit-check@v1
        with:
          token: ${{ secrets.GITHUB_TOKEN }}
        env:
          PROJECT_PATH: ./my_sub_folder

Additional context

As far as I'm aware there's no way around this at the moment. Been looking for workarounds to this issue I'm facing and found the working-directory option here but turns out it can only be used with run and not with uses. Found a PR here which seems to have resolved this in another action, hoping something similar would work with audit-check.

colin-grapl commented 4 years ago

Same issue here - we use a cargo workspace.

fenollp commented 4 years ago

Same -- see also https://github.com/actions-rs/cargo/pull/59

mortendahl commented 3 years ago

Same, this would be useful

martin-g commented 3 years ago

Related to actions-rs/cargo#86

The best would be if it takes into account the current working directory:

defaults:
  run:
    working-directory: lang/rust

See https://docs.github.com/en/actions/reference/workflow-syntax-for-github-actions#defaultsrun

jblachly commented 3 years ago

We need this for our monorepo.

See also #194

Ideally, I would suggest letting cargo do the work; it already has a --manifest-path <path/to/Cargo.toml> argument.

In fact, other actions in the actions-rs repo permit this via

with:
  args: --manifest-path mypath/Cargo.toml
lsunsi commented 3 years ago

I also hit this particular wall while integrating with my project. Posting to subscribe on further results!

fzyzcjy commented 3 years ago

any updates?

georglauterbach commented 2 years ago

I need this as well. This issue seems to have become stale, but it is quite important. Not every repository has the Rust code / Cargo.toml directly in the repository root.