Skip to content

Commit 882c939

Browse files
committed
Add regression tests for package generation
Fix test data [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci Fix toml sorting
1 parent 60bbca6 commit 882c939

File tree

25 files changed

+3320
-44
lines changed

25 files changed

+3320
-44
lines changed

pyproject.toml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,8 @@
1+
[tool.mypy]
2+
exclude = [
3+
'tests\/data\/test_package_generation\/src\/cookiecutter_test\/__init__\.py',
4+
]
5+
16
[tool.pytest.ini_options]
27
addopts = [
38
"--color=yes",
Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
---
2+
name: Bug Report
3+
description: Create a Report to Help us Improve
4+
labels:
5+
- bug
6+
body:
7+
- id: describe
8+
type: textarea
9+
attributes:
10+
label: Describe the Bug
11+
description: A clear and concise description of what the bug is.
12+
validations:
13+
required: true
14+
- id: reproduce
15+
type: textarea
16+
attributes:
17+
label: To Reproduce
18+
description: >-
19+
A minimal working example of code to reproduce the unexpected behaviour,
20+
this will render as `Python` code so no need for backticks.
21+
value: |-
22+
import cookiecutter_test
23+
24+
...
25+
render: Python
26+
validations:
27+
required: true
28+
- id: expected
29+
type: textarea
30+
attributes:
31+
label: Expected Behaviour
32+
description: >-
33+
A clear and concise description of what you expected to happen.
34+
validations:
35+
required: true
36+
- id: actual
37+
type: textarea
38+
attributes:
39+
label: Actual Behaviour
40+
description: >-
41+
Be a specific and detailed as you can. Paste any output or stack traces
42+
of errors you receive.
43+
validations:
44+
required: true
45+
- id: version
46+
type: input
47+
attributes:
48+
label: Version In Use
49+
description: |-
50+
Can be found by
51+
```sh
52+
python -c "import cookiecutter_test; print(cookiecutter_test.__version__)"
53+
```
54+
validations:
55+
required: true
56+
- id: additional
57+
type: textarea
58+
attributes:
59+
label: Additional Context
60+
value: |-
61+
- Python version:
62+
- Operating system:
63+
render: Markdown
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
---
2+
blank_issues_enabled: false
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
---
2+
name: Documentation
3+
description: How Can We Improve the Documentation
4+
labels:
5+
- documentation
6+
body:
7+
- id: section
8+
type: textarea
9+
attributes:
10+
label: Which Section of the Documentation Needs Improving?
11+
description: Please provide a link (if it is a specific page).
12+
validations:
13+
required: true
14+
- id: problem
15+
type: textarea
16+
attributes:
17+
label: What Can be Improved About This Section
18+
description: Is it incomplete, incorrect or difficult to understand?
19+
validations:
20+
required: true
21+
- id: suggestions
22+
type: textarea
23+
attributes:
24+
label: How to Improve This Section
25+
description: >-
26+
Do you have any specific suggestions we could take to improve the
27+
documentation?
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
---
2+
name: Feature Request
3+
description: Suggest a Way to Improve This Project
4+
labels:
5+
- enhancement
6+
body:
7+
- id: problem
8+
type: textarea
9+
attributes:
10+
label: Is Your Feature Request Related to a Problem? Please Describe
11+
description: A clear and concise description of what the problem is.
12+
placeholder: I'm always frustrated when [...]
13+
validations:
14+
required: true
15+
- id: solution
16+
type: textarea
17+
attributes:
18+
label: Describe the Solution You'd Like
19+
description: A clear and concise description of what you want to happen.
20+
validations:
21+
required: true
22+
- id: alternatives
23+
type: textarea
24+
attributes:
25+
label: Describe Alternatives You've Considered
26+
description: >-
27+
A clear and concise description of any alternative solutions or features
28+
you've considered.
29+
- id: additional
30+
type: textarea
31+
attributes:
32+
label: Additional Context
33+
description: >-
34+
Add any other context or screenshots about the feature request here.
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
---
2+
name: Question
3+
description: General Questions About Using Cookiecutter Test
4+
labels:
5+
- question
6+
body:
7+
- id: topic
8+
type: dropdown
9+
attributes:
10+
label: What is the Topic of Your Question
11+
description: Please indicate the topic in the title of your question.
12+
options:
13+
- Documentation
14+
- Installation
15+
- Usage
16+
- Other
17+
validations:
18+
required: true
19+
- id: question
20+
type: textarea
21+
attributes:
22+
label: Add Your Question Below
23+
validations:
24+
required: true
Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
name: Documentation
2+
3+
on:
4+
push:
5+
branches:
6+
- main
7+
pull_request:
8+
9+
jobs:
10+
docs:
11+
runs-on: ubuntu-latest
12+
steps:
13+
- name: Checkout source
14+
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4
15+
16+
- name: Cache tox
17+
uses: actions/cache@0c45773b623bea8c8e75f6c82b208c3cf94ea4f9 # v4
18+
with:
19+
path: .tox
20+
key: tox-${{ hashFiles('pyproject.toml') }}
21+
22+
- name: Set up Python
23+
uses: actions/setup-python@f677139bbe7f9c59b41e40162b753c062f5d49a3 # v5
24+
with:
25+
python-version: "3.x"
26+
cache: "pip"
27+
cache-dependency-path: "pyproject.toml"
28+
29+
- name: Install tox
30+
run: python -m pip install tox
31+
- name: Build HTML documentation with tox
32+
run: tox -e docs
33+
34+
# Automatically deploy documentation to a GitHub Pages website on pushing to main.
35+
# Requires configuring the repository to deploy GitHub pages from a branch
36+
# gh-pages (https://tinyurl.com/gh-pages-from-branch), which will be created the
37+
# first time this workflow step is run.
38+
- name: Publish documentation on GitHub pages
39+
if: success() && github.event_name != 'pull_request'
40+
uses: peaceiris/actions-gh-pages@4f9cc6602d3f66b9c108549d475ec49e8ef4d45e # v4
41+
with:
42+
github_token: ${{ secrets.GITHUB_TOKEN }}
43+
publish_dir: site
44+
publish_branch: gh-pages
45+
user_name: "github-actions[bot]"
46+
user_email: "github-actions[bot]@users.noreply.github.com"
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
name: Linting
2+
3+
on:
4+
push:
5+
branches:
6+
- main
7+
pull_request:
8+
9+
jobs:
10+
linting:
11+
runs-on: ubuntu-latest
12+
steps:
13+
- name: Checkout source
14+
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4
15+
16+
- name: Cache pre-commit
17+
uses: actions/cache@0c45773b623bea8c8e75f6c82b208c3cf94ea4f9 # v4
18+
with:
19+
path: ~/.cache/pre-commit
20+
key: pre-commit-${{ hashFiles('.pre-commit-config.yaml') }}
21+
22+
- name: Set up python
23+
uses: actions/setup-python@f677139bbe7f9c59b41e40162b753c062f5d49a3 # v5
24+
with:
25+
python-version: "3.x"
26+
cache: pip
27+
cache-dependency-path: pyproject.toml
28+
29+
- name: Install dependencies
30+
run: python -m pip install pre-commit
31+
32+
- name: Run pre-commit
33+
run: pre-commit run --all-files --color always --verbose
Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
name: Tests
2+
3+
on:
4+
push:
5+
branches:
6+
- main
7+
pull_request:
8+
paths-ignore:
9+
- "**.md"
10+
11+
jobs:
12+
tests:
13+
runs-on: ubuntu-latest
14+
strategy:
15+
matrix:
16+
python-version:
17+
- "3.11"
18+
- "3.12"
19+
- "3.13"
20+
21+
steps:
22+
- name: Checkout source
23+
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4
24+
25+
- name: Cache tox
26+
uses: actions/cache@0c45773b623bea8c8e75f6c82b208c3cf94ea4f9 # v4
27+
with:
28+
path: .tox
29+
key: tox-${{hashFiles('pyproject.toml') }}
30+
31+
- name: Set up python
32+
uses: actions/setup-python@f677139bbe7f9c59b41e40162b753c062f5d49a3 # v5
33+
with:
34+
python-version: ${{ matrix.python-version }}
35+
cache: pip
36+
cache-dependency-path: pyproject.toml
37+
38+
- name: Install dependencies
39+
run: python -m pip install tox tox-gh
40+
41+
- name: Test with tox
42+
run: tox run

0 commit comments

Comments
 (0)