Skip to content

Commit 3946b2a

Browse files
committed
2 parents 034bbbb + 9ef6b1a commit 3946b2a

File tree

6 files changed

+181
-6
lines changed

6 files changed

+181
-6
lines changed

.github/workflows/build.yml

+77
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,77 @@
1+
name: Build AutoGGUF (PyInstaller)
2+
3+
on:
4+
workflow_dispatch:
5+
inputs:
6+
build_type:
7+
description: 'Build type (RELEASE or DEV)'
8+
required: true
9+
default: 'RELEASE'
10+
type: choice
11+
options:
12+
- RELEASE
13+
- DEV
14+
15+
jobs:
16+
build:
17+
strategy:
18+
matrix:
19+
os: [windows-latest, ubuntu-latest, macos-latest]
20+
runs-on: ${{ matrix.os }}
21+
22+
steps:
23+
- uses: actions/checkout@v2
24+
25+
- name: Set up Python
26+
uses: actions/setup-python@v2
27+
with:
28+
python-version: '3.x'
29+
30+
- name: Install dependencies
31+
run: |
32+
python -m pip install --upgrade pip
33+
pip install $(grep -v "^torch" requirements.txt)
34+
pip install pyinstaller pillow
35+
36+
- name: Build with PyInstaller (Windows)
37+
if: matrix.os == 'windows-latest'
38+
run: |
39+
if ("${{ github.event.inputs.build_type }}" -eq "RELEASE") {
40+
pyinstaller --windowed --onefile --name=AutoGGUF --icon=../../assets/favicon_large.png --add-data "../../assets;assets" --distpath=build\release\dist --workpath=build\release\build --specpath=build\release src\main.py
41+
} else {
42+
pyinstaller --onefile --name=AutoGGUF --icon=../../assets/favicon_large.png --add-data "../../assets;assets" --distpath=build\dev\dist --workpath=build\dev\build --specpath=build\dev src\main.py
43+
}
44+
45+
- name: Build with PyInstaller (Linux/macOS)
46+
if: matrix.os != 'windows-latest'
47+
run: |
48+
if [ "${{ github.event.inputs.build_type }}" = "RELEASE" ]; then
49+
pyinstaller --windowed --onefile --name=AutoGGUF --icon=../../assets/favicon_large.png --add-data "../../assets:assets" --distpath=build/release/dist --workpath=build/release/build --specpath=build/release src/main.py
50+
else
51+
pyinstaller --onefile --name=AutoGGUF --icon=../../assets/favicon_large.png --add-data "../../assets:assets" --distpath=build/dev/dist --workpath=build/dev/build --specpath=build/dev src/main.py
52+
fi
53+
54+
- name: Copy additional files (Windows)
55+
if: matrix.os == 'windows-latest'
56+
run: |
57+
$distPath = if ("${{ github.event.inputs.build_type }}" -eq "RELEASE") { "build\release\dist" } else { "build\dev\dist" }
58+
New-Item -ItemType Directory -Force -Path "$distPath\src\gguf-py"
59+
Copy-Item -Path "src\gguf-py\*" -Destination "$distPath\src\gguf-py" -Recurse
60+
Copy-Item -Path "src\convert_lora_to_gguf.py" -Destination "$distPath\src"
61+
Copy-Item -Path "src\convert_lora_to_ggml.py" -Destination "$distPath\src"
62+
63+
- name: Copy additional files (Linux/macOS)
64+
if: matrix.os != 'windows-latest'
65+
run: |
66+
distPath=$(if [ "${{ github.event.inputs.build_type }}" = "RELEASE" ]; then echo "build/release/dist"; else echo "build/dev/dist"; fi)
67+
mkdir -p $distPath/src/gguf-py
68+
cp -R src/gguf-py/* $distPath/src/gguf-py/
69+
cp src/convert_lora_to_gguf.py $distPath/src/
70+
cp src/convert_lora_to_ggml.py $distPath/src/
71+
72+
- name: Upload Artifact
73+
uses: actions/upload-artifact@v2
74+
with:
75+
name: AutoGGUF-${{ matrix.os }}-${{ github.event.inputs.build_type }}-${{ github.sha }}
76+
path: build/${{ github.event.inputs.build_type == 'RELEASE' && 'release' || 'dev' }}/dist
77+

.github/workflows/codeql.yml

+6
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,14 @@ name: "CodeQL"
1414
on:
1515
push:
1616
branches: [ "main" ]
17+
paths-ignore:
18+
- '**/*.md'
19+
- '**/*.txt'
1720
pull_request:
1821
branches: [ "main" ]
22+
paths-ignore:
23+
- '**/*.md'
24+
- '**/*.txt'
1925
schedule:
2026
- cron: '21 20 * * 6'
2127

.github/workflows/pip-audit.yml

+59
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
name: Dependency Audit
2+
3+
on:
4+
push:
5+
paths:
6+
- '**/requirements.txt'
7+
pull_request:
8+
paths:
9+
- '**/requirements.txt'
10+
schedule:
11+
- cron: '0 0 * * *' # Run daily at midnight UTC
12+
13+
jobs:
14+
audit:
15+
runs-on: ubuntu-latest
16+
steps:
17+
- uses: actions/checkout@v2
18+
19+
- name: Set up Python
20+
uses: actions/setup-python@v2
21+
with:
22+
python-version: '3.x'
23+
24+
- name: Install dependencies
25+
run: |
26+
python -m pip install --upgrade pip
27+
pip install pip-audit
28+
29+
- name: Run pip-audit
30+
run: |
31+
pip-audit -r requirements.txt > audit_output.txt
32+
continue-on-error: true
33+
34+
- name: Display audit results
35+
run: cat audit_output.txt
36+
37+
- name: Create detailed report
38+
run: |
39+
echo "Pip Audit Report" > detailed_report.txt
40+
echo "==================" >> detailed_report.txt
41+
echo "" >> detailed_report.txt
42+
echo "Date: $(date)" >> detailed_report.txt
43+
echo "" >> detailed_report.txt
44+
echo "Audit Results:" >> detailed_report.txt
45+
cat audit_output.txt >> detailed_report.txt
46+
echo "" >> detailed_report.txt
47+
echo "Environment:" >> detailed_report.txt
48+
python --version >> detailed_report.txt
49+
pip --version >> detailed_report.txt
50+
echo "" >> detailed_report.txt
51+
echo "Requirements:" >> detailed_report.txt
52+
cat requirements.txt >> detailed_report.txt
53+
54+
- name: Upload audit results
55+
uses: actions/upload-artifact@v2
56+
with:
57+
name: pip-audit-report
58+
path: detailed_report.txt
59+

CHANGELOG.md

+34-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,39 @@
11
# Changelog
22

3-
All notable changes to this project will be documented in this file.
3+
## [v1.6.2] - 2024-08-15
4+
5+
### Added
6+
- Server functionality with new endpoints:
7+
- `/v1/backends`: Lists all backends and their paths
8+
- `/v1/health`: Heartbeat endpoint
9+
- `/v1/tasks`: Provides current task info (name, status, progress, log file)
10+
- `/v1/models`: Retrieves model details (name, type, path, shard status)
11+
- Environment variable support for server configuration:
12+
- `AUTOGGUF_SERVER`: Enable/disable server (true/false)
13+
- `AUTOGGUF_SERVER_PORT`: Set server port (integer)
14+
15+
### Changed
16+
- Updated AutoGGUF docstrings
17+
- Refactored build scripts
18+
19+
### Fixed
20+
- Set GGML types to lowercase in command builder
21+
22+
## [v1.6.1] - 2024-08-12
23+
24+
### Added
25+
- Optimized build scripts
26+
- Nuitka for building
27+
28+
### Changed
29+
- Updated .gitignore
30+
31+
### Fixed
32+
- Bug where deletion while a task is running crashes the program
33+
34+
### Notes
35+
- Fast build: Higher unzipped size (97MB), smaller download (38MB)
36+
- Standard build: Created with PyInstaller, medium download and unzipped size (50MB), potentially slower
437

538
## [1.6.0] - 2024-08-08
639

README.md

+4-4
Original file line numberDiff line numberDiff line change
@@ -111,14 +111,14 @@ To use a specific language, set the `AUTOGGUF_LANGUAGE` environment variable to
111111

112112
## Known Issues
113113

114-
- Cannot delete task while processing (planned fix: disallow deletion before cancelling or cancel automatically)
114+
- ~~Cannot delete task while processing (planned fix: disallow deletion before cancelling or cancel automatically)~~ (fixed in v1.6.2)
115115

116116
## Planned Features
117117

118+
- Time estimation for quantization
118119
- Actual progress bar tracking
119120
- Perplexity testing
120-
- Time estimation for quantization
121-
- ~~`nvidia-smi` monitoring support~~ (added in v1.6.0)
121+
- Web API and management (partially implemented in v1.6.2)
122122

123123
## Troubleshooting
124124

@@ -130,7 +130,7 @@ Fork the repo, make your changes, and ensure you have the latest commits when me
130130

131131
## User Interface
132132

133-
![image](https://github.com/user-attachments/assets/a327afb9-950d-420b-b07f-46658ffb0822)
133+
![rsz_1autogguf-v162-screenshot-blue](https://github.com/user-attachments/assets/0e69dd3d-95b0-4bc6-b29e-df308bf027c4)
134134

135135
## Stargazers
136136

SECURITY.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
| Version | Supported |
66
| ----------------- | ------------------ |
7-
| stable (v1.5.1) | :white_check_mark: |
7+
| stable (v1.6.2) | :white_check_mark: |
88

99
## Reporting a Vulnerability
1010

0 commit comments

Comments
 (0)