Skip to content

The docs job in an OpenTofu or Sphinx project's CI workflow fails due to missing Python dependency pins #6

Description

@rdctmeconomou

CI workflows for projects generated from the OpenTofu or Sphinx project template should complete successfully without further developer intervention, but when the docs job runs, it reports an error similar to the following:

Run ResearchDataCom/actions/sphinx-build@6ee0203004e0494bd8b062e28e66ca4048207cb2
Run actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c
Downloading single artifact
Preparing to download the following artifacts:
- release-artifacts (ID: 8069294348, Size: 126644, Expected Digest: sha256:246b2dc415399c4b2c80328b5964de08014e904bd4f28d76fe0e2fa1c14c32ca)
Redirecting to blob download url: https://productionresultssa19.blob.core.windows.net/actions-results/a4af1679-0ce2-4ee9-a4a1-4a37db822f5f/workflow-job-run-8cc6d39c-6737-5718-a2c2-feb917de5af8/artifacts/704e5c9bef6a57d5412048e4090077b7b8791b120883653580d766eb68bf253f.zip
Starting download of artifact to: /home/runner/work/researchdatacom.github.io/researchdatacom.github.io
(node:1931) [DEP0005] DeprecationWarning: Buffer() is deprecated due to security and usability issues. Please use the Buffer.alloc(), Buffer.allocUnsafe(), or Buffer.from() methods instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
SHA256 digest of downloaded artifact is 246b2dc415399c4b2c80328b5964de08014e904bd4f28d76fe0e2fa1c14c32ca
Artifact download completed successfully.
Total of 1 artifact(s) downloaded
Download artifact has finished successfully
Run actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c
Downloading single artifact
Error: Unable to download artifact(s): Artifact not found for name: pip-compile-artifacts
        Please ensure that your artifact is not expired and the artifact was uploaded using a compatible version of toolkit/upload-artifact.
        For more information, visit the GitHub Artifacts FAQ: https://github.com/actions/toolkit/blob/main/packages/artifact/docs/faq.md

While they use Python distribution tooling, OpenTofu or Sphinx projects do not (usually) have Python dependencies, so they do not run the ResearchDataCom/actions/python-freeze action, which creates pip-compile-artifacts. Fix this by setting requirements to null in the inputs to the ResearchDataCom/actions/sphinx-build action, like so:

jobs:
  [...]
  docs:
    needs:
      - release
    if: needs.release.outputs.released
    runs-on: ubuntu-latest
    steps:
      - uses: ResearchDataCom/actions/sphinx-build@6ee0203004e0494bd8b062e28e66ca4048207cb2 # v2.3.0
        with:
          requirements: null

Metadata

Metadata

Assignees

Labels

bugSomething isn't working

Type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions