1
0
mirror of https://github.com/instaloader/instaloader.git synced 2024-07-14 23:00:06 +02:00

Update issue/PR templates, contributing.rst, CI

- Keep documentation in sync with master branch

- Run PyLint and MyPy on Github Actions

- Update Issue templates, enforce usage of issue templates, add links to
  resources in Instaloader Documentation

- Update contributing.rst
This commit is contained in:
Alexander Graf 2020-06-16 20:26:58 +02:00
parent 11baf493db
commit 65025e61d9
10 changed files with 90 additions and 31 deletions

View File

@ -24,4 +24,4 @@ If applicable, add error messages and tracebacks to help explain your problem.
**Additional context** **Additional context**
Add any other context about the problem here. Add any other context about the problem here.
(please also see https://instaloader.github.io/contributing.html for how to report a bug) <!-- please also see https://instaloader.github.io/contributing.html for how to report a bug -->

11
.github/ISSUE_TEMPLATE/config.yml vendored Normal file
View File

@ -0,0 +1,11 @@
blank_issues_enabled: false
contact_links:
- name: Contributing to Instaloader
url: https://instaloader.github.io/contributing.html
about: Guidelines for how to report an issue.
- name: Instaloader Troubleshooting
url: https://instaloader.github.io/troubleshooting.html
about: Many common problems and their workarounds are described here.
- name: Instaloader Documentation
url: https://instaloader.github.io/
about: Many questions might be already answered here.

View File

@ -15,10 +15,10 @@ A clear and concise description of what you want to happen.
A clear and concise description of any alternative solutions or features you've considered. A clear and concise description of any alternative solutions or features you've considered.
**If the feature request is accepted, would you be willing to submit a PR?** **If the feature request is accepted, would you be willing to submit a PR?**
Yes / No
Yes / No _(Help can be provided if you need assistance submitting a PR)_ <!-- Help can be provided if you need assistance submitting a PR -->
**Additional context** **Additional context**
Add any other context about the feature request here. Add any other context about the feature request here.
(please also see https://instaloader.github.io/contributing.html for how to suggest a feature) <!-- please also see https://instaloader.github.io/contributing.html for how to suggest a feature -->

View File

@ -6,3 +6,7 @@ labels: question
--- ---
Your question here... Your question here...
<!-- Please see our documentation: https://instaloader.github.io/ -->
<!-- Basic questions regarding Instaloader's usage might be more appropriate to ask on Stack Overflow -->

11
.github/pull_request_template.md vendored Normal file
View File

@ -0,0 +1,11 @@
**Motivation for making this change**
Fixes # .
<!-- What problem does the pull request solve? -->
**Changes proposed in this pull request**
-
-
-
**Completeness of this change**
<!-- Is this change ready to be merged, or is it a Proof of concept? Is the documentation updated (if appropriate)? -->

30
.github/workflows/lint.yml vendored Normal file
View File

@ -0,0 +1,30 @@
name: PyLint and MyPy
on: [push, pull_request]
jobs:
lint:
name: PyLint and MyPy
runs-on: ubuntu-latest
strategy:
matrix:
python-version: [3.5, 3.6, 3.7, 3.8]
steps:
- name: Checkout Instaloader Repository
uses: actions/checkout@v2
with:
fetch-depth: 0 # needed for building docs
- name: Setup Python
uses: actions/setup-python@v2
with:
python-version: ${{ matrix.python-version }}
- name: Install Dependencies
run: |
python -m pip install pipenv==2020.6.2
pipenv sync --dev
- name: PyLint
run: pipenv run pylint instaloader
- name: MyPy
run: pipenv run mypy -m instaloader
- name: Build Documentation
run: pipenv run make -C docs html SPHINXOPTS="-W -n"

View File

@ -7,6 +7,7 @@ on:
jobs: jobs:
stale: stale:
name: Mark stale issues and pull requests
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:

View File

@ -4,6 +4,7 @@ on: [push, pull_request]
jobs: jobs:
build: build:
name: Windows EXE build
runs-on: windows-latest runs-on: windows-latest
steps: steps:
- name: Checkout Instaloader repository - name: Checkout Instaloader repository

View File

@ -27,7 +27,7 @@ deploy:
repo: instaloader/instaloader.github.io repo: instaloader/instaloader.github.io
target-branch: master target-branch: master
on: on:
tags: true branch: master
python: 3.6 python: 3.6
- provider: script - provider: script
script: deploy/arch/deploy.sh $TRAVIS_TAG script: deploy/arch/deploy.sh $TRAVIS_TAG

View File

@ -35,8 +35,8 @@ reporting a problem, please keep the following in mind:
- If not obvious, describe **which behavior you expected** - If not obvious, describe **which behavior you expected**
instead of what actually happened. instead of what actually happened.
- If you think an issue has been closed accidentally or inappropriately, feel - If we have closed an issue apparently inadvertently or inappropriately, please
free to reopen it. let us know.
Writing Code or Improving the Documentation Writing Code or Improving the Documentation
------------------------------------------- -------------------------------------------
@ -45,28 +45,25 @@ Changes of the Instaloader source can be proposed as a
`Pull Request <https://github.com/instaloader/instaloader/pulls>`__. There are only `Pull Request <https://github.com/instaloader/instaloader/pulls>`__. There are only
few things to consider: few things to consider:
- Sometimes, the most current code is not in the ``master`` branch. Check that - Base your Pull Request on the ``master`` branch if it fixes a bug,
you forked from the most recent branch. or the ``upcoming/v4.X`` (if it exists at the moment of submitting the PR)
branch otherwise.
- We use `Pylint <https://www.pylint.org/>`__ for error and syntax checking of - We use `Pylint <https://www.pylint.org/>`__ for error and syntax checking of
the source. The file ``.travis.yml`` in the project's root directory the source and `MyPy <https://github.com/python/mypy>`__ for type checking
shows how it is invoked. Note that sometimes it might be better to disable a (Note that sometimes it might be better to disable a warning rather than
warning rather than adapting the code to Pylint's desires. adapting the code to a tool's desires).
- The documentation source is located in the ``docs`` folder. The file - The documentation source is located in the ``docs`` folder. The file
``cli-options.rst`` is merely an RST-formatted copy of ``instaloader --help`` ``cli-options.rst`` is merely an RST-formatted copy of ``instaloader --help``
output, of which the source is in ``instaloader/__main__.py``. output, of which the source is in ``instaloader/__main__.py``.
- Feel free to contact us, even if you "only" have Proof-of-Concepts or Proposing Features
not-fully integrated changes. They already might be an advance for the ------------------
project.
Suggesting Features
-------------------
.. goal-start .. goal-start
Instaloader's goal is to mimick the browser's behavior to access the data that Instaloader's goal is to mimic the browser's behavior to access the data that
is available through the Instagram web interface, pack this data into complete is available through the Instagram web interface, pack this data into complete
and easily-(re)usable python objects, and provide a user interface for the most and easily-(re)usable python objects, and provide a user interface for the most
common downloading and metadata collection tasks, without changing any of the common downloading and metadata collection tasks, without changing any of the
@ -74,10 +71,9 @@ online data.
.. goal-end .. goal-end
If you have an idea of how Instaloader should be enhanced, but do not want to Prior spending effort on implementing a new feature, it might be appropriate to
implement the feature yourself, feel free to open a ticket in our clarify how it could fit into the project's scope or discuss implementation
`Issue Tracker <https://github.com/instaloader/instaloader/issues>`__. details. If you feel the need to do so, please create a "feature suggestion".
Please consider the following:
- Instaloader already has plenty of features. **Check the documentation** - Instaloader already has plenty of features. **Check the documentation**
beforehand to ensure your desired suggestion is not already implemented. beforehand to ensure your desired suggestion is not already implemented.
@ -86,16 +82,21 @@ Please consider the following:
an issue suggesting the same or a similar feature, share your thoughts in a an issue suggesting the same or a similar feature, share your thoughts in a
comment there, instead of opening a new issue. comment there, instead of opening a new issue.
- If possible, provide us a **use case of the feature**: How could the user - **Motivate the feature**, i.e.
invoke the new function? Which problem would it solve? If new information is
obtained, how would it be further processed?
- If not obvious, briefly motivate how your suggested feature **conforms with - Provide us a **use case of the feature**: How could the user
Instaloader's project goal**. invoke the new function? Which problem would it solve? If new information is
obtained, how would it be further processed?
- **Be patient**. Naturally, bugs and pull requests have a higher priority than - Describe already-working **alternatives of the feature** and how they
feature suggestions. Keep in mind that this is a free software project, and compare with your proposed solution.
unfortunately we only have limited time to work on it.
- Briefly describe how your suggested feature **conforms with Instaloader's
project goal**.
- Explain your **solution ideas**. Describe your ideas on how the feature could
be implemented and the underlying problem could be solved. Also describe
alternatives that you have considered.
Donations Donations
--------- ---------