Skip to content

Commit

Permalink
Initial commit
Browse files Browse the repository at this point in the history
  • Loading branch information
ssbarnea committed Jan 14, 2023
0 parents commit f019cf6
Show file tree
Hide file tree
Showing 24 changed files with 1,241 additions and 0 deletions.
4 changes: 4 additions & 0 deletions .config/requirements-test.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
coverage
pytest
pytest-plus
pytest-xdist
1 change: 1 addition & 0 deletions .config/requirements.in
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
ansible-core>=2.12.0
27 changes: 27 additions & 0 deletions .config/requirements.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
#
# This file is autogenerated by pip-compile with Python 3.9
# by the following command:
#
# pip-compile --extra=test --no-annotate --output-file=.config/requirements.txt --resolver=backtracking --strip-extras --unsafe-package=ansible-core pyproject.toml
#
attrs==22.2.0
cffi==1.15.1
coverage==7.0.5
cryptography==39.0.0
exceptiongroup==1.1.0
execnet==1.9.0
iniconfig==2.0.0
jinja2==3.1.2
markupsafe==2.1.1
packaging==23.0
pluggy==1.0.0
pycparser==2.21
pytest==7.2.1
pytest-plus==0.4.0
pytest-xdist==3.1.0
pyyaml==6.0
resolvelib==0.8.1
tomli==2.0.1

# The following packages are considered to be unsafe in a requirements file:
# ansible-core
83 changes: 83 additions & 0 deletions .flake8
Original file line number Diff line number Diff line change
@@ -0,0 +1,83 @@
# spell-checker:ignore testmon tmontmp
[flake8]

# Don't even try to analyze these:
extend-exclude =
# No need to traverse egg info dir
*.egg-info,
# GitHub configs
.github,
# Cache files of MyPy
.mypy_cache,
# Cache files of pytest
.pytest_cache,
# Temp dir of pytest-testmon
.tmontmp,
# Occasional virtualenv dir
.venv
# VS Code
.vscode,
# Temporary build dir
build,
# This contains sdists and wheels of ansible-lint that we don't want to check
dist,
# Occasional virtualenv dir
env,
# Metadata of `pip wheel` cmd is autogenerated
pip-wheel-metadata,

# Let's not over-complicate the code:
max-complexity = 10

# Accessibility/large fonts and PEP8 friendly:
#max-line-length = 79
# Accessibility/large fonts and PEP8 unfriendly:
max-line-length = 100

# The only allowed ignores are related to black and isort
# https://black.readthedocs.io/en/stable/the_black_code_style.html#line-length
# "H" are generated by hacking plugin, which is not black compatible
extend-ignore =
E203,
E501,
# complexity is also measured by pylint: too-many-branches
C901,
# We use type annotations instead
DAR101,
DAR104,
# https://github.com/terrencepreilly/darglint/issues/165
DAR301,
# duplicate of pylint W0611 (unused-import)
F401,
# duplicate of pylint E0602 (undefined-variable)
F821,
# duplicate of pylint W0612 (unused-variable)
F841,
H,

# Allow certain violations in certain files:
per-file-ignores =
# FIXME: D102 Missing docstring in public method
src/ansiblelint/cli.py: D102
src/ansiblelint/formatters/__init__.py: D102
src/ansiblelint/rules/*.py: D102
src/ansiblelint/rules/__init__.py: D102

# FIXME: C901 Function is too complex
# FIXME: refactor _defaults_from_yamllint_config using match case
# once python 3.10 is mandatory
# Ref: https://github.com/ansible/ansible-lint/pull/2077
src/ansiblelint/yaml_utils.py: C901

# FIXME: drop these once they're fixed
# Ref: https://github.com/ansible/ansible-lint/issues/725
test/*: D102

# flake8-pytest-style
# PT001:
pytest-fixture-no-parentheses = true
# PT006:
pytest-parametrize-names-type = tuple
# PT007:
pytest-parametrize-values-type = tuple
pytest-parametrize-values-row-type = tuple
19 changes: 19 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
---
version: 2
updates:
- package-ecosystem: pip
directory: /.config/
schedule:
day: sunday
interval: weekly
labels:
- dependabot-deps-updates
- skip-changelog
versioning-strategy: lockfile-only
- package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: daily
labels:
- "dependencies"
- "skip-changelog"
3 changes: 3 additions & 0 deletions .github/release-drafter.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
---
# see https://github.com/ansible/devtools
_extends: ansible/devtools
10 changes: 10 additions & 0 deletions .github/workflows/ack.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
---
# See https://github.com/ansible/devtools/blob/main/.github/workflows/ack.yml
name: ack
on:
pull_request_target:
types: [opened, labeled, unlabeled, synchronize]

jobs:
ack:
uses: ansible/devtools/.github/workflows/ack.yml@main
13 changes: 13 additions & 0 deletions .github/workflows/push.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
---
# See https://github.com/ansible/devtools/blob/main/.github/workflows/push.yml
name: push
"on":
push:
branches:
- main
- "releases/**"
- "stable/**"

jobs:
ack:
uses: ansible/devtools/.github/workflows/push.yml@main
37 changes: 37 additions & 0 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
---
name: release

"on":
release:
types: [published]

jobs:
pypi:
name: Publish to PyPI registry
environment: release
runs-on: ubuntu-22.04

env:
FORCE_COLOR: 1
PY_COLORS: 1
TOXENV: pkg

steps:
- name: Switch to using Python 3.9 by default
uses: actions/setup-python@v4
with:
python-version: 3.9
- name: Install tox
run: python3 -m pip install --user "tox>=4.0.0"
- name: Check out src from Git
uses: actions/checkout@v3
with:
fetch-depth: 0 # needed by setuptools-scm
- name: Build dists
run: python -m tox
- name: Publish to pypi.org
if: >- # "create" workflows run separately from "push" & "pull_request"
github.event_name == 'release'
uses: pypa/gh-action-pypi-publish@release/v1
with:
password: ${{ secrets.pypi_password }}
Loading

0 comments on commit f019cf6

Please sign in to comment.