Skip to content
This repository was archived by the owner on Jan 21, 2025. It is now read-only.

Commit

Permalink
Added CI and Github features
Browse files Browse the repository at this point in the history
  • Loading branch information
marnvermuldir committed Apr 19, 2023
1 parent 6f3744c commit c13617e
Show file tree
Hide file tree
Showing 24 changed files with 911 additions and 6 deletions.
18 changes: 18 additions & 0 deletions .coveragerc
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
[run]
branch = True
source = membertools

[report]
exclude_lines =
if self.debug:
pragma: no cover
raise NotImplementedError
if __name__ == .__main__.:
ignore_errors = True
omit =
setup.py
*/tests.py
*/tests/*.py
*/migrations/*
doc/*
*/scripts/*
21 changes: 21 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
# http://editorconfig.org
root = true

[*]
indent_style = space
indent_size = 4
tab_width = 4
end_of_line = lf
charset = utf-8
trim_trailing_whitespace = true
insert_final_newline = true

[*.{yaml,yml}]
indent_size = 2

[*.md]
indent_size = 2

# Makefiles always use tabs for indentation
[Makefile]
indent_style = tab
5 changes: 5 additions & 0 deletions .flake8
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
[flake8]
exclude = .git, *migrations*, .tox, dist, htmlcov
select = C,E,F,W,B,B950
ignore = E203, E231, E501, W503, W291, W293
max-line-length = 120
42 changes: 42 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
---
name: Bug Report
about: Create a report to help us improve
title: ''
labels: ''
assignees: ''
---

### Bug Description

A clear and concise description of what the bug is.


### Steps to Reproduce

Steps to reproduce the behavior:
1. Go to '...'
2. Click on '....'
3. Scroll down to '....'
4. See error


### Expected behavior

A clear and concise description of what you expected to happen.


### Screenshots

If applicable, add screenshots to help explain your problem.


### Please complete the following information:

- App Version:
- Alliance Auth Version:
- Browser and Version:


### Additional context

Add any other context about the problem here.
1 change: 1 addition & 0 deletions .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
blank_issues_enabled: false
22 changes: 22 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_request.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
---
name: Feature Request
about: Suggest an idea
title: "[Feature Request] "
labels: ''
assignees: ''

---

### Context

In which context would you expect your suggested feature to be useful?


### Describe the feature you have in mind

A clear and concise description of what you want to happen.


### Additional context

Add any other context or screenshots/mockups about the feature request here.
25 changes: 25 additions & 0 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
## Description

Please include a summary of the change and which issue is fixed. Please also include
relevant motivation and context. List any dependencies that are required for this
change.

Fixes # (issue)


## Type of change

Please delete options that are not relevant.

- [ ] Bug fix (non-breaking change which fixes an issue)
- [ ] New feature (non-breaking change which adds functionality)
- [ ] Breaking change (fix or feature that would cause existing functionality to not
work as expected)


## Checklist:

- [ ] My code follows the style guidelines of this project
- [ ] I have performed a self-review of my own code
- [ ] I have commented my code, particularly in hard-to-understand areas
- [ ] I have checked my code and corrected any misspellings
147 changes: 147 additions & 0 deletions .github/workflows/automated-checks.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,147 @@
name: Checks

on:
push:
branches:
- '**'

tags-ignore:
- '**'

pull_request:
branches:
- '**'

tags-ignore:
- '**'

jobs:
# pre-commit Checks
pre-commit:
name: Pre Commit Checks
runs-on: ubuntu-latest

steps:
- name: Checkout
uses: actions/checkout@main

- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: '3.10'

- name: Run Pre Commit Checks
uses: pre-commit/[email protected]

# Run Test Coverage
test-coverage:
needs: [ pre-commit ]
name: Test Coverage (Python ${{ matrix.python-version }})
runs-on: ubuntu-latest

strategy:
# Set Python and Django version to test for the stable release of AllianceAuth
matrix:
# Don't forget to change the Python version for [upload-coverage] as well
python-version: [ '3.8', '3.9', '3.10', '3.11' ]

steps:
- name: Checkout
uses: actions/checkout@main

- name: Install redis
run: sudo apt-get install -y redis-tools redis-server

- name: Verify that redis is up
run: redis-cli ping

- name: Setup Python ${{ matrix.python-version }}
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}

- name: Install Tox and any other packages
run: |
python -m pip install --upgrade pip
python -m pip install --upgrade tox tox-gh-actions
- name: Run Tox
# Run tox using the version of Python in `PATH`
run: tox -v

- name: Upload Coverage Artifacts
uses: actions/upload-artifact@v3
with:
name: coverage-python-${{ matrix.python-version }}
path: coverage.xml
if-no-files-found: ignore

# Coverage upload to Codecov and Codacy
# upload-coverage:
# needs: [ test-coverage ]
# name: Upload Coverage
# runs-on: ubuntu-latest
#
# steps:
# - name: Checkout
# uses: actions/checkout@main
#
# - name: Download artifacts
# uses: actions/download-artifact@v3
# with:
# path: artifacts
#
# - name: Display structure of downloaded files
# run: ls -Rrtlh
# working-directory: artifacts
#
# - name: Upload Coverage to Codecov
# uses: codecov/codecov-action@v3
# with:
# token: ${{ secrets.CODECOV_TOKEN }} # not required for public repos
# files: artifacts/coverage-python-3.10/coverage.xml # optional
## flags: unittests # optional
## name: codecov-umbrella # optional
## fail_ci_if_error: true # optional (default = false)
# verbose: true # optional (default = false)
#
# - name: Upload Coverage to Codacy Coverage Reporter
# uses: codacy/codacy-coverage-reporter-action@v1
# with:
# project-token: ${{ secrets.CODACY_PROJECT_TOKEN }}
# coverage-reports: artifacts/coverage-python-3.10/coverage.xml

# Pypi Build Test
pypi-build-test:
needs: [ test-coverage ]
name: PyPi Build Test
runs-on: ubuntu-latest

steps:
- name: Checkout
uses: actions/checkout@main

# Minimum supported Python version by AllianceAuth
- name: Set up Python 3.8
uses: actions/setup-python@v4
with:
python-version: 3.8

- name: Install Tools
run: |
python -m pip install --upgrade pip
python -m pip install --upgrade build
python -m pip install --upgrade setuptools wheel
- name: Package Build
env:
STACKMANAGER_VERSION: 9999
run: |
python -m build
- name: Upload Build Artifacts
uses: actions/upload-artifact@v3
with:
name: build-${{ github.event_name }}-${{ github.sha }}
path: dist
if-no-files-found: ignore
35 changes: 35 additions & 0 deletions .github/workflows/pypi-release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
name: Release to PyPI

on:
release:
# https://docs.github.com/en/actions/reference/events-that-trigger-workflows#release
types: [released, prereleased]

jobs:
release:
name: Release on Pypi
runs-on: ubuntu-latest

steps:
- name: Checkout
uses: actions/checkout@main

- name: Set up Python 3.8
uses: actions/setup-python@v4
with:
python-version: 3.8

- name: Install Tools
run: |
python -m pip install --upgrade pip
python -m pip install --upgrade build
python -m pip install --upgrade setuptools wheel twine
- name: Package and Upload
env:
STACKMANAGER_VERSION: ${{ github.event.release.tag_name }}
TWINE_USERNAME: __token__
TWINE_PASSWORD: ${{ secrets.PYPI_APIKEY }}
run: |
python -m build
python -m twine upload dist/*
17 changes: 11 additions & 6 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,10 +1,15 @@
/build/
/dist/
/*.egg-info/
.idea/

*.log
*.tmp
*.bak
*.old
__pycache__/
migrations/__pycache__/
tests/__pycache__/
*.egg-info/
dist/
build/
__pycache__

/.coverage
/htmlcov/
/.tox/
/coverage.xml
15 changes: 15 additions & 0 deletions .isort.cfg
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
[settings]
profile = black
multi_line_output = 3
sections=FUTURE,STDLIB,THIRDPARTY,DJANGO,ALLIANCEAUTH,ALLIANCEAUTHEXTERNALS,FIRSTPARTY,LOCALFOLDER

known_allianceauth=allianceauth,esi
known_allianceauthexternals=app_utils,eveuniverse
known_django=django

import_heading_stdlib=Standard Library
import_heading_django=Django
import_heading_allianceauth=Alliance Auth
import_heading_allianceauthexternals=Alliance Auth (External Libs)
import_heading_firstparty=AA EVE Uni Core
import_heading_thirdparty=Third Party
Loading

0 comments on commit c13617e

Please sign in to comment.