Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Link check is passing a self that is not a path (no outPath attribute) #332

Closed
srid opened this issue May 25, 2023 · 1 comment · Fixed by #344
Closed

Link check is passing a self that is not a path (no outPath attribute) #332

srid opened this issue May 25, 2023 · 1 comment · Fixed by #344

Comments

@srid
Copy link
Contributor

srid commented May 25, 2023

nix build ${OVERRIDE_HASKELL_FLAKE} \
    --option log-lines 1000 --show-trace \
    "github:hercules-ci/flake.parts-website#checks.${SYSTEM}.linkcheck"

Reproducible in srid/haskell-flake#162

The projectRoot option (of type types.path) uses self as default, which has only the follow attributes:

trace: ["apps","checks","devShells","flakeModule","flakeModules","formatter","haskellFlakeProjectModules","herculesCI","legacyPackages","nixosConfigurations","nixosModules","overlays","packages"]

Notably, it is missing outPath.

srid added a commit to srid/haskell-flake that referenced this issue May 25, 2023
srid added a commit to srid/haskell-flake that referenced this issue May 30, 2023
 **Completely new way to override Haskell packages**: removed `overrides` and `source-overrides`. Use `packages` to specify your source overrides; use `settings` to override individual packages in modular fashion (like NixOS modules). Additional changes include:
  - Add `package.<name>.cabal.executables` referring to the executables in a package. This is auto-detected by parsing the Cabal file.
  - Add `packages.<name>.local.*` to determine of a package is a local package or not.
  - Add `projectFlakeName` option (useful in debug logging prefix)
  - `flake.haskellFlakeProjectModules`: Dropped all defaults, except the `output` module, which now exports `packages` and `settings`. Added a `defaults.projectModules.output` option that allows the user to override this module, or directly access the generated module.
  - Add `project.config.defaults.settings.default` defining sensible defaults for local packages.
  - Add `project.config.defaults.enable` to turn off all default settings en masse.

Also, disable docs test due to hercules-ci/flake.parts-website#332
@roberth
Copy link
Member

roberth commented Jun 1, 2023

The reason that outPath is missing is semi-intentional. When rendering the docs, conceptually there is no self, because the docs should apply everywhere. I'm adding a custom error message to explain that a bit in #344.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants