{"id":18733521,"url":"https://github.com/insightsengineering/staged-dependencies-action","last_synced_at":"2026-02-13T13:08:50.093Z","repository":{"id":41328159,"uuid":"418485446","full_name":"insightsengineering/staged-dependencies-action","owner":"insightsengineering","description":"Github Action to implement R development stages for package development","archived":false,"fork":false,"pushed_at":"2025-10-21T10:05:11.000Z","size":104,"stargazers_count":4,"open_issues_count":1,"forks_count":2,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-02-10T23:40:56.308Z","etag":null,"topics":["github-actions","r","renv","staged-dependencies","system-dependencies"],"latest_commit_sha":null,"homepage":"https://github.com/marketplace/actions/staged-dependencies-action","language":"R","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/insightsengineering.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null},"funding":{"custom":["https://pharmaverse.org"]}},"created_at":"2021-10-18T12:13:07.000Z","updated_at":"2025-10-21T10:02:27.000Z","dependencies_parsed_at":"2025-04-12T18:32:17.538Z","dependency_job_id":"96da7e1d-287b-40d6-a05c-dad7f10359b0","html_url":"https://github.com/insightsengineering/staged-dependencies-action","commit_stats":null,"previous_names":[],"tags_count":30,"template":false,"template_full_name":null,"purl":"pkg:github/insightsengineering/staged-dependencies-action","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/insightsengineering%2Fstaged-dependencies-action","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/insightsengineering%2Fstaged-dependencies-action/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/insightsengineering%2Fstaged-dependencies-action/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/insightsengineering%2Fstaged-dependencies-action/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/insightsengineering","download_url":"https://codeload.github.com/insightsengineering/staged-dependencies-action/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/insightsengineering%2Fstaged-dependencies-action/sbom","scorecard":{"id":489686,"data":{"date":"2025-08-11","repo":{"name":"github.com/insightsengineering/staged-dependencies-action","commit":"52cfa05a5ab56b772951fb4b89e0d88c632d770a"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":5,"checks":[{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Code-Review","score":5,"reason":"Found 13/26 approved changesets -- score normalized to 5","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: third-party GitHubAction not pinned by hash: .github/workflows/cla.yaml:17: update your workflow using https://app.stepsecurity.io/secureworkflow/insightsengineering/staged-dependencies-action/cla.yaml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/linter.yaml:18: update your workflow using https://app.stepsecurity.io/secureworkflow/insightsengineering/staged-dependencies-action/linter.yaml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/linter.yaml:23: update your workflow using https://app.stepsecurity.io/secureworkflow/insightsengineering/staged-dependencies-action/linter.yaml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/short-tagging.yml:11: update your workflow using https://app.stepsecurity.io/secureworkflow/insightsengineering/staged-dependencies-action/short-tagging.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test-action.yaml:25: update your workflow using https://app.stepsecurity.io/secureworkflow/insightsengineering/staged-dependencies-action/test-action.yaml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test-action.yaml:28: update your workflow using https://app.stepsecurity.io/secureworkflow/insightsengineering/staged-dependencies-action/test-action.yaml/main?enable=pin","Info:   0 out of   4 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   2 third-party GitHubAction dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/cla.yaml:1","Warn: no topLevel permission defined: .github/workflows/linter.yaml:1","Warn: no topLevel permission defined: .github/workflows/short-tagging.yml:1","Warn: no topLevel permission defined: .github/workflows/test-action.yaml:1","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: Apache License 2.0: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","details":null,"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"Security-Policy","score":10,"reason":"security policy file detected","details":["Info: security policy file detected: github.com/insightsengineering/.github/SECURITY.md:1","Info: Found linked content: github.com/insightsengineering/.github/SECURITY.md:1","Info: Found disclosure, vulnerability, and/or timelines in security policy: github.com/insightsengineering/.github/SECURITY.md:1","Info: Found text in security policy: github.com/insightsengineering/.github/SECURITY.md:1"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 21 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-19T18:44:50.044Z","repository_id":41328159,"created_at":"2025-08-19T18:44:50.044Z","updated_at":"2025-08-19T18:44:50.044Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29407351,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-13T06:24:03.484Z","status":"ssl_error","status_checked_at":"2026-02-13T06:23:12.830Z","response_time":78,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["github-actions","r","renv","staged-dependencies","system-dependencies"],"created_at":"2024-11-07T15:10:06.717Z","updated_at":"2026-02-13T13:08:50.085Z","avatar_url":"https://github.com/insightsengineering.png","language":"R","funding_links":["https://pharmaverse.org"],"categories":[],"sub_categories":[],"readme":"⚠️ **This GitHub Action is deprecated and will receive no further updates.** ⚠️\n\nPlease consider using [`insightsengineering/setup-r-dependencies`](https://github.com/insightsengineering/setup-r-dependencies) instead.\n\n# Staged Dependencies Action\n\nGithub Action to install R package and system dependencies, based on the [`{staged.dependencies}`](https://github.com/openpharma/staged.dependencies) R package.\n\n**NOTE**: For the time being, this action only supports installation of _system dependencies_ for Ubuntu OS. Other OSes will be supported upon request.\n\nThe [staged.dependencies] package simplifies the development process for developing a set of\ninterdependent R packages. In each repository of the set of R packages you are co-developing you should\nspecify a `staged_dependencies.yaml` file containing _upstream_ (i.e. those packages your current repo depends on) and\n_downstream_ (i.e. those packages which depend on your current repo's package)\ndependency packages within your development set of packages.\n\nAn example of the output of the action can be seen below:\n\n![Screenshot with example output](example.png)\n\n## Table of Contents\n\n- [Staged Dependencies Action](#staged-dependencies-action)\n  - [Table of Contents](#table-of-contents)\n  - [Getting Started](#getting-started)\n  - [Usage Options](#usage-options)\n    - [Inputs](#inputs)\n    - [Outputs](#outputs)\n\n## Getting Started\n\nTo get started, follow these instructions:\n\n1. (Optional) Create `staged_dependencies.yaml` file with [this guide][structure-of-yaml-file].\n2. Create a new file in your repository called `.github/workflows/r-check.yml`.\n3. Copy the example workflow from below into that new file. Add additional configurations as needed.\n4. Commit and push the `.github/workflows/r-check.yml` file to a new branch.\n5. Open up a pull request and witness dependencies being installed during the workflow run.\n\n```yml\n---\nname: Check R package\n\non:\n  push:\n    branches:\n      - main\n  pull_request:\n    branches:\n      - main\n\njobs:\n  check:\n    runs-on: ubuntu-latest\n    name: Check\n    container:\n      image: rocker/verse:4.1.0\n    steps:\n      - name: Checkout repo\n        uses: actions/checkout@v3\n\n      - name: Run Staged dependencies\n        uses: insightsengineering/staged-dependencies-action@v1\n        with:\n          run-system-dependencies: true\n        env:\n          GITHUB_PAT: ${{ secrets.GITHUB_TOKEN }}\n\n      - name: Build R package\n        run: |\n          R CMD build ${{ github.event.repository.name }}\n          echo \"PKGBUILD=$(echo *.tar.gz)\" \u003e\u003e $GITHUB_ENV\n        shell: bash\n\n      - name: Check R package\n        run: R CMD check --no-manual ${{ env.PKGBUILD }}\n        shell: bash\n\n      - name: Install R package\n        run: R CMD INSTALL ${{ env.PKGBUILD }}\n        shell: bash\n```\n\n## Usage Options\n\nThe following options are available are available for this action:\n\n\u003c!-- BEGIN_ACTION_DOC --\u003e\n### Inputs\n* `run-system-dependencies`:\n\n  _Description_: Check for and install system dependencies\n\n  _Required_: `false`\n\n  _Default_: `False`\n\n* `git-user-name`:\n\n  _Description_: Git user.name configuration for fetching remote staged dependencies\n\n  _Required_: `false`\n\n  _Default_: `github-actions[bot]`\n\n* `git-user-email`:\n\n  _Description_: Git user.email configuration for fetching remote staged dependencies\n\n  _Required_: `false`\n\n  _Default_: `27856297+dependabot-preview[bot]@users.noreply.github.com`\n\n* `path`:\n\n  _Description_: Path to the R package\n\n  _Required_: `false`\n\n  _Default_: `.`\n\n* `version`:\n\n  _Description_: Version of {staged.dependencies} to use. This action is compatilble with `\u003e=v0.2.2`\n\n  _Required_: `false`\n\n  _Default_: `v0.3.1`\n\n* `threads`:\n\n  _Description_: Number of threads to use. Set to 'auto' to use max available threads\n\n  _Required_: `false`\n\n  _Default_: `auto`\n\n* `cran-repos`:\n\n  _Description_: Map of CRAN repositories delimited by comma\n\n  _Required_: `false`\n\n  _Default_: `CRAN=https://cloud.r-project.org`\n\n* `enable-bioc-repos`:\n\n  _Description_: Add `BiocManager::repositories()` to option repos\n\n  _Required_: `false`\n\n  _Default_: `False`\n\n* `token-mapping`:\n\n  _Description_: Token mapping that is used in `staged.dependencies.token_mapping` delimited by comma. Note that you will need to set these tokens with their respective values as environment variables while using this action.\n\n\n  _Required_: `false`\n\n  _Default_: `https://github.com=GITHUB_PAT,https://gitlab.com=GITLAB_PAT`\n\n* `enable-check`:\n\n  _Description_: Run `check_yamls_consistent` before installation of dependencies\n\n  _Required_: `false`\n\n  _Default_: `False`\n\n* `git-ref`:\n\n  _Description_: Git reference to use as a reference stage for installing dependencies\n\n  _Required_: `false`\n\n  _Default_: `${{ github.ref }}`\n\n* `renv-restore`:\n\n  _Description_: Restore dependencies from `renv.lock`, if it exists\n\n  _Required_: `false`\n\n  _Default_: `True`\n\n* `quiet`:\n\n  _Description_: If TRUE, suppress output\n\n  _Required_: `false`\n\n  _Default_: `True`\n\n* `direction`:\n\n  _Description_: The direction to use to install dependencies. Choose between 'upstream', 'downstream' and 'all'\n\n  _Required_: `false`\n\n  _Default_: `all`\n\n### Outputs\nNone\n\u003c!-- END_ACTION_DOC --\u003e\n\n[staged.dependencies]: https://github.com/openpharma/staged.dependencies\n[structure-of-yaml-file]: https://github.com/openpharma/staged.dependencies#structure-of-staged_dependenciesyaml-file\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Finsightsengineering%2Fstaged-dependencies-action","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Finsightsengineering%2Fstaged-dependencies-action","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Finsightsengineering%2Fstaged-dependencies-action/lists"}