Skip to content

Commit 93e2a22

Browse files
committed
update
1 parent bde3baa commit 93e2a22

4 files changed

Lines changed: 68 additions & 4 deletions

File tree

Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
# Simplified CI workflow - rename to ci.yml if you prefer faster CI runs
2+
# This tests only on the latest OS versions with Python 3.10-3.12
3+
4+
name: CI
5+
6+
on:
7+
push:
8+
branches: [ main, master, develop ]
9+
pull_request:
10+
branches: [ main, master ]
11+
12+
jobs:
13+
test:
14+
runs-on: ${{ matrix.os }}
15+
strategy:
16+
fail-fast: false
17+
matrix:
18+
os: [ubuntu-latest, windows-latest, macos-latest]
19+
python-version: ['3.10', '3.11', '3.12']
20+
21+
steps:
22+
- uses: actions/checkout@v4
23+
24+
- name: Set up Python ${{ matrix.python-version }}
25+
uses: actions/setup-python@v5
26+
with:
27+
python-version: ${{ matrix.python-version }}
28+
29+
- name: Install dependencies
30+
run: |
31+
python -m pip install --upgrade pip
32+
pip install -e .
33+
pip install pytest pytest-cov flake8 black mypy
34+
35+
- name: Lint with flake8
36+
run: |
37+
# stop the build if there are Python syntax errors or undefined names
38+
flake8 src --count --select=E9,F63,F7,F82 --show-source --statistics
39+
# exit-zero treats all errors as warnings
40+
flake8 src --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics
41+
42+
- name: Format check with black
43+
run: |
44+
black --check src/
45+
46+
- name: Type check with mypy
47+
run: |
48+
mypy src/ --ignore-missing-imports
49+
50+
- name: Test with pytest
51+
run: |
52+
pytest tests/ -v --cov=src/gpp_decrypt --cov-report=xml --cov-report=term
53+
54+
- name: Upload coverage reports to Codecov
55+
if: matrix.os == 'ubuntu-latest' && matrix.python-version == '3.11'
56+
uses: codecov/codecov-action@v4
57+
with:
58+
file: ./coverage.xml
59+
flags: unittests
60+
name: codecov-umbrella
61+
fail_ci_if_error: false

.github/workflows/ci.yml

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,11 @@ jobs:
1313
fail-fast: false
1414
matrix:
1515
os: [ubuntu-latest, windows-latest, macos-latest]
16-
python-version: ['3.7', '3.8', '3.9', '3.10', '3.11', '3.12']
16+
python-version: ['3.8', '3.9', '3.10', '3.11', '3.12']
17+
exclude:
18+
# Python 3.8 is not available on macos-latest (ARM64)
19+
- os: macos-latest
20+
python-version: '3.8'
1721

1822
steps:
1923
- uses: actions/checkout@v3

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ This tool helps security professionals and system administrators audit their Gro
3131
- 🎨 **Beautiful CLI** - Colored output with clear formatting
3232
- 📦 **Multiple Formats** - Supports both individual passwords and XML files
3333
- 🔍 **Comprehensive Parsing** - Handles various GPP XML formats (Users, Groups, etc.)
34-
- 🐍 **Modern Python** - Full type hints and Python 3.7+ support
34+
- 🐍 **Modern Python** - Full type hints and Python 3.8+ support
3535
- 🧪 **Well Tested** - Comprehensive test suite with CI/CD
3636
- 📚 **API Access** - Import as a library for your own tools
3737
- 🌍 **Cross-Platform** - Works on Windows, Linux, and macOS

pyproject.toml

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,15 +10,14 @@ authors = [
1010
]
1111
description = "A tool to decrypt Group Policy Preferences (GPP) cpassword attributes"
1212
readme = "README.md"
13-
requires-python = ">=3.7"
13+
requires-python = ">=3.8"
1414
classifiers = [
1515
"Development Status :: 5 - Production/Stable",
1616
"Intended Audience :: Information Technology",
1717
"Intended Audience :: System Administrators",
1818
"License :: OSI Approved :: GNU General Public License v3 (GPLv3)",
1919
"Operating System :: OS Independent",
2020
"Programming Language :: Python :: 3",
21-
"Programming Language :: Python :: 3.7",
2221
"Programming Language :: Python :: 3.8",
2322
"Programming Language :: Python :: 3.9",
2423
"Programming Language :: Python :: 3.10",

0 commit comments

Comments
 (0)