jonasbn / ebirah

Experimental Docker project for Dist::Zilla
https://jonasbn.github.io/ebirah/
MIT License
3 stars 1 forks source link

Enable "authordeps" setup #83

Open glasswalk3r opened 2 months ago

glasswalk3r commented 2 months ago

Description

When running under the action jonasbn/github-action-perl-dist-zilla with a dist.ini that contains Dist::Zilla plugins:

Executing dzil with the following arguments:

---------------------------------------------
test --all
---------------------------------------------

Required plugin Dist::Zilla::Plugin::AssertOS isn't installed.

Run 'dzil authordeps' to see a list of all required plugins.
You can pipe the list to your CPAN client to install or update them:

    dzil authordeps --missing | cpanm

(2) dzil failed, check logs

Bugs and Issues

Specify what version was used

Latest version of Ebirah.

Supply some information on the environment

GitHub Action jonasbn/github-action-perl-dist-zilla@0.4.0.

Expected behaviour

Having the plugins being installed before executing the tests.

Ebirah doesn't expose a way to install dependencies that are actually plugins for Dist::Zilla.

One solution would be put the plugin as an test prereq, but I'm not sure the same failure wouldn't happen anyway.

I believe Ebirah should have a custom command not available on Dist::Zilla to take care of this setup: from documentation, there is only the option to list the dependencies, to further setup with cpanm.

This setup might be implicit or explicit, but plugins that are used in the test phase should be available before test execution anyway.

Actual and observed behavior

The error message provided and failure in the action.

Steps to reproduce the behavior

Running any dist.ini that has a declared plugin, as:

[AssertOS]
os = Linux

This refer to the Dist::Zilla::Plugin::AssertOS plugin.

jonasbn commented 1 week ago

Hi @glasswalk3r

So is the problem any author dependencies or Dist::Zilla::Plugin::AssertOS in particular?

As outlined in #34 I believe most author dependencies would just get installed out of the box as specified in the cpanfile.

I have not worked on this repository for a long time, so I need to get up to speed

glasswalk3r commented 1 week ago

I have evidence only for AssertOS (which is very simple), but I suspect that should happen with any outside Dist::Zilla @Basic. I'm not sure I understand properly the use of a cpanfile: should I need to provide any additional configuration in the GHA workflow or Ebirah will find the file and take the necessary actions?

jonasbn commented 1 day ago

Hi @glasswalk3r

That was the idea, but there might be a problem with the order of things. I will do some more experimenting using your suggestion of:

As an example