-
Notifications
You must be signed in to change notification settings - Fork 28
Ignore automatically generated directories #76
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
Ignore automatically generated directories #76
Conversation
When installing the dependencies with `cpm` I noticed that the `local/` directory is created automatically and doesn't need to be checked in to the repository, hence it can be ignored so that the working directory remains clean. The same is for the `cover_db/` directory which is created when generating coverage information.
I don't understand what workflow you're using where this happens? cpm should be pulling from a cpan mirror, and those directories don't exist in the cpan release (and I think the dist.ini would exclude them if they happened to be created during a build/release cycle). |
If you So, it would actually probably prevent |
I was using the workflow from the GitHub actions config which uses To generate coverage information I used:
Is there a preferred way to build, test and install this dist from the repository? Unfortunately, I couldn't find any docs mentioning how this should be done in the standard case. Would such information be helpful? If so, I could write up my notes and submit them as a PR. Where would be the best place to put such documentation for this project? Perhaps a CONTRIBUTING file? BTW: I also tried using
The root cause of this issue seemed to be that the package
allowed the missing dependencies to be installed on my system. I haven't had a chance to work out what the necessary package would be on a Windows system though. Anyway, I thought this might be useful information in case someone else tries to build the dist directly from the repo source. |
I usually just use Not sure what's in |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks, @paultcochrane!
Thanks for merging this @oalders! I'll try and work out where the Where should information about the preferred way to build and test the dist from a repo clone be documented? Would a |
Yes, I think that would be really helpful! |
This change documents some of the steps required in order to contribute to `Net::HTTP` in the hope that it helps newcomers to the project create their first submission(s) and is submitted in response to a discussion in libwww-perl#76. It includes a quick start guide for setting up a `perlbrew` environment as well as how to install `Dist::Zilla` and how to use it to install upstream dependencies. The document also describes the steps necessary to create a pull request from a feature branch in a user's forked repository.
This change documents some of the steps required in order to contribute to `Net::HTTP` in the hope that it helps newcomers to the project create their first submission(s) and is submitted in response to a discussion in libwww-perl#76. It includes a quick start guide for setting up a `perlbrew` environment as well as how to install `Dist::Zilla` and how to use it to install upstream dependencies. The document also describes the steps necessary to create a pull request from a feature branch in a user's forked repository.
This change documents some of the steps required in order to contribute to `Net::HTTP` in the hope that it helps newcomers to the project create their first submission(s) and is submitted in response to a discussion in libwww-perl#76. It includes a quick start guide for setting up a `perlbrew` environment as well as how to install `Dist::Zilla` and how to use it to install upstream dependencies. The document also describes the steps necessary to create a pull request from a feature branch in a user's forked repository.
This change documents some of the steps required in order to contribute to `Net::HTTP` in the hope that it helps newcomers to the project create their first submission(s) and is submitted in response to a discussion in libwww-perl#76. It includes a quick start guide for setting up a `perlbrew` environment as well as how to install `Dist::Zilla` and how to use it to install upstream dependencies. The document also describes the steps necessary to create a pull request from a feature branch in a user's forked repository.
This change documents some of the steps required in order to contribute to `Net::HTTP` in the hope that it helps newcomers to the project create their first submission(s) and is submitted in response to a discussion in libwww-perl#76. It includes a quick start guide for setting up a `perlbrew` environment as well as how to install `Dist::Zilla` and how to use it to install upstream dependencies. The document also describes the steps necessary to create a pull request from a feature branch in a user's forked repository.
Just so that it's documented somewhere: I've built and tested Here's the FROM debian:buster
# ensure everything is up to date
RUN apt update && apt upgrade -y
# required for basic stuff (perlbrew, repo cloning, ...) to work
RUN apt install -y vim git build-essential curl
# needed for Net::SSLeay, which is needed for Dist::Zilla
RUN apt install -y libssl-dev zlib1g-dev
# create a non-root user for remaining tasks
RUN adduser --disabled-password --gecos "" nethttp
USER nethttp
WORKDIR /home/nethttp
COPY build-net-http.sh build-net-http.sh Here's the shell script mentioned within the #!/bin/bash
# install and set up perlbrew
curl -L https://install.perlbrew.pl | bash
# use bash and source scripts for perlbrew
source ~/perl5/perlbrew/etc/bashrc
perlbrew install-cpanm
perlbrew install -v 5.30.1
perlbrew use 5.30.1
# clone the dist repo
git clone https://github.com/libwww-perl/Net-HTTP.git
cd Net-HTTP
# install prereqs
cpanm --notest Dist::Zilla
dzil authordeps --missing | cpanm
dzil listdeps --missing | cpanm
# required for `dzil test` to work
# cpanm Pod::Coverage::TrustPod Test::Pod::Coverage
# test the dist
dzil test
dzil test --release --author The commands I used to build and run everything were:
Hope that helps! |
Thanks very much for documenting this @paultcochrane! In case it's helpful at all, you can also find a bunch of Perls with pre-installed dzil at https://registry.hub.docker.com/r/perldocker/perl-tester They should be getting built nightly. |
When installing the dependencies with
cpm
I noticed that thelocal/
directory is created automatically and doesn't need to be checked in to
the repository, hence it can be ignored so that the working directory
remains clean. The same is for the
cover_db/
directory which iscreated when generating coverage information.
If you would like any changes, please let me know and I'll be happy to update the PR and resubmit as appropriate.