Skip to content

Conversation

cisagovbot
Copy link

@cisagovbot cisagovbot commented Jun 15, 2020

Lineage Pull Request: CONFLICT

Lineage has created this pull request to incorporate new changes found in an
upstream repository:

Upstream repository: https://github.com/cisagov/skeleton-generic.git
Remote branch: HEAD

Check the changes in this pull request to ensure they won't cause issues with
your project.

The lineage/skeleton branch has one or more unresolved merge conflicts
that you must resolve before merging this pull request!

How to resolve the conflicts

  1. Take ownership of this pull request by removing any other assignees.

  2. Clone the repository locally, and reapply the merge:

    git clone git@github.com:cisagov/skeleton-python-library.git skeleton-python-library
    cd skeleton-python-library
    git remote add skeleton https://github.com/cisagov/skeleton-generic.git
    git remote set-url --push skeleton no_push
    git switch develop
    git checkout -b lineage/skeleton --track origin/develop
    git pull skeleton HEAD
    git status
  3. Review the changes displayed by the status command. Fix any conflicts and
    possibly incorrect auto-merges.

  4. After resolving each of the conflicts, add your changes to the branch,
    commit, and push your changes:

    git add requirements-test.txt requirements.txt 
    git commit --message="Resolve Lineage conflicts."
    git push --force --set-upstream origin lineage/skeleton
  5. Wait for all the automated tests to pass.

  6. Check the "Everything is cool" checkbox below:

    • ✌️ The conflicts in this pull request have been resolved.
  7. Mark this draft pull request "Ready for review".


Note: You are seeing this because one of this repository's maintainers has
configured Lineage to open pull requests.

For more information:

🛠 Lineage configurations for this project are stored in .github/lineage.yml

📚 Read more about Lineage

jsf9k and others added 3 commits June 9, 2020 15:10
setuptools usually comes along with pip, but wheel does not.  Using
wheel where possible to build python extensions is more modern and
more security conscious than using setup.py.
Add setuptools and wheel as pip dependencies
@mcdonnnj mcdonnnj requested review from jsf9k, dav3r, felddy and a team June 15, 2020 17:30
@mcdonnnj mcdonnnj marked this pull request as ready for review June 15, 2020 17:31
Copy link
Member

@mcdonnnj mcdonnnj left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

:shipit:

Copy link
Member

@jsf9k jsf9k left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I have a question 🖐️

@@ -1 +1,3 @@
--requirement requirements.txt
-e .[test]
pre-commit
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should the pre-commit dependency be part of the test section in setup.py

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

pre-commit is in the test section, but I wasn't sure if we wanted to leave it in requirements-test.txt in case something changes with the configuration in setup.py. I'm happy to remove it from requirements-test.txt if we want to leave it to the setup.py configuration.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Let's remove it from requirements-test.txt so we have a single source of truth.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please see 370f2a2 for that change.

Copy link
Member

@jsf9k jsf9k left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

See comments.

requirements.txt Outdated
@@ -1 +1,3 @@
-e .
setuptools
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

These requirements should be added to the main section of setup.py. If we have a setup.py file then the requirements*.txt files should just call that so we have a single source of truth.

Copy link
Member

@mcdonnnj mcdonnnj Jun 15, 2020

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think wheel should remain in requirements.txt because it is an environment preference and not something required for the project to function. Per packaging documentation:

install_requires is a setuptools setup.py keyword that should be used to specify what a project minimally needs to run correctly.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I removed setuptools from requirements.txt in 370f2a2.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can @felddy, @dav3r, and @hillaryj weigh in here? We should do the same thing everywhere, and @felddy and I added wheel to setup.py in cisagov/development-guide#21.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I have no preference here. @mcdonnnj makes a good point about wheel being a preference vs. being required, but I'm not sure it makes a big difference either way in this case. I'll go with whatever the group decides on this one.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@mcdonnnj makes a good point, but I also like having a single source of truth. I think mixing dependencies between requirements*.txt and setup.py files will eventually lead to confusion. I think simplicity trumps his argument in this case, but I will also concede to whatever the group decides.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would like to point out that we already do this with requirements-dev.txt where ipython and semver are described as preferences for a development environment. They are not necessary for the functionality of the package, but are used for development.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

OK, you have convinced me. Can you create a PR to do the same thing in cisagov/development-guide?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I approve this train of... thought. 🧠 🚂
ALL ABOARD THE BRAIN TRAIN!!! WOO WOO!

@mcdonnnj mcdonnnj requested a review from jsf9k June 15, 2020 21:36
Copy link
Member

@dav3r dav3r left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

☸️

@mcdonnnj mcdonnnj merged commit 50b3841 into develop Jun 16, 2020
@mcdonnnj mcdonnnj deleted the lineage/skeleton branch June 16, 2020 15:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Development

Successfully merging this pull request may close these issues.

6 participants