diff --git a/.github/workflows/pylint.yml b/.github/workflows/pylint.yml
deleted file mode 100644
index c73e032..0000000
--- a/.github/workflows/pylint.yml
+++ /dev/null
@@ -1,23 +0,0 @@
-name: Pylint
-
-on: [push]
-
-jobs:
- build:
- runs-on: ubuntu-latest
- strategy:
- matrix:
- python-version: ["3.8", "3.9", "3.10"]
- steps:
- - uses: actions/checkout@v4
- - name: Set up Python ${{ matrix.python-version }}
- uses: actions/setup-python@v3
- with:
- python-version: ${{ matrix.python-version }}
- - name: Install dependencies
- run: |
- python -m pip install --upgrade pip
- pip install pylint
- - name: Analysing the code with pylint
- run: |
- pylint $(git ls-files '*.py')
diff --git a/README.md b/README.md
index bb0114f..1269535 100644
--- a/README.md
+++ b/README.md
@@ -1,171 +1,91 @@
-# 
+# Auto Build GitHub Release Automation
-
-
-
-
-
-
+## π¦ ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΏΡΠΎΠ΅ΠΊΡΠ°
-## Π‘ΠΎΠ΄Π΅ΡΠΆΠ°Π½ΠΈΠ΅
+Π‘ΠΊΡΠΈΠΏΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·ΠΈΡΡΠ΅Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΠ΅Π»ΠΈΠ·ΠΎΠ² Π² GitHub Ρ Π΅ΠΆΠ΅Π΄Π½Π΅Π²Π½ΠΎΠΉ Π°ΡΡ
ΠΈΠ²Π°ΡΠΈΠ΅ΠΉ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ³ΠΎ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ.
-* [ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅](#ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅)
-* [Π€ΡΠ½ΠΊΡΠΈΠΈ](#ΡΡΠ½ΠΊΡΠΈΠΈ)
-* [Π’ΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ](#ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ)
-* [Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ°](#ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ°)
-* [ΠΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ](#ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ)
-* [ΠΠ°ΡΡΡΠΎΠΉΠΊΠΈ ΡΠ°ΡΠΏΠΈΡΠ°Π½ΠΈΡ](#Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ-ΡΠ°ΡΠΏΠΈΡΠ°Π½ΠΈΡ)
-* [ΠΠ°ΠΏΡΡΠΊ](#Π·Π°ΠΏΡΡΠΊ)
-* [ΠΠ°ΠΆΠ½ΡΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΡ](#Π²Π°ΠΆΠ½ΡΠ΅-ΠΏΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΡ)
-* [ΠΠΈΡΠ΅Π½Π·ΠΈΡ](#Π»ΠΈΡΠ΅Π½Π·ΠΈΡ)
+## π Π€ΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΡ
-## ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅
+- ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π°ΡΡ
ΠΈΠ²Π° ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ
+- ΠΠ΅Π½Π΅ΡΠ°ΡΠΈΡ ΡΠ΅Π»ΠΈΠ·Π° Π² GitHub
+- ΠΠ°Π³ΡΡΠ·ΠΊΠ° Π°ΡΡ
ΠΈΠ²Π° ΠΊΠ°ΠΊ asset ΡΠ΅Π»ΠΈΠ·Π°
+- ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Windows ΠΈ Linux
+- ΠΠ°ΡΡΡΠ°ΠΈΠ²Π°Π΅ΠΌΠΎΠ΅ ΡΠ°ΡΠΏΠΈΡΠ°Π½ΠΈΠ΅
-ΠΠΎΡΠ½ΡΠΉ Python-ΡΠΊΡΠΈΠΏΡ, Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·ΠΈΡΡΡΡΠΈΠΉ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΠ΅Π»ΠΈΠ·ΠΎΠ² Π½Π° GitHub ΠΏΡΡΠ΅ΠΌ Π³Π΅Π½Π΅ΡΠ°ΡΠΈΠΈ Π΅ΠΆΠ΅Π΄Π½Π΅Π²Π½ΡΡ
Π°ΡΡ
ΠΈΠ²ΠΎΠ² ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ³ΠΎ Π²Π°ΡΠ΅Π³ΠΎ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ. ΠΠ΄Π΅Π°Π»ΡΠ½ΠΎ ΠΏΠΎΠ΄Ρ
ΠΎΠ΄ΠΈΡ Π΄Π»Ρ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ², ΡΡΠ΅Π±ΡΡΡΠΈΡ
ΡΠ΅Π³ΡΠ»ΡΡΠ½ΡΡ
ΡΠ±ΠΎΡΠΎΠΊ ΠΈΠ»ΠΈ ΡΠ΅Π·Π΅ΡΠ²Π½ΡΡ
ΠΊΠΎΠΏΠΈΠΉ.
+## π Π’ΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ
-## Π€ΡΠ½ΠΊΡΠΈΠΈ
+- Python 3.8+
+- Git
+- ΠΠΈΡΠ½ΡΠΉ ΡΠΎΠΊΠ΅Π½ GitHub
-* π **ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ Π°ΡΡ
ΠΈΠ²ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ** - Π‘ΠΎΠ·Π΄Π°Π΅Ρ ΡΠΆΠ°ΡΡΠ΅ Π°ΡΡ
ΠΈΠ²Ρ Π²Π°ΡΠ΅Π³ΠΎ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ
-* π **ΠΠ΅Π½Π΅ΡΠ°ΡΠΈΡ ΡΠ΅Π»ΠΈΠ·ΠΎΠ² Π½Π° GitHub** - ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΡΠΎΠ·Π΄Π°Π΅Ρ ΡΠ΅Π»ΠΈΠ·Ρ Π½Π° GitHub
-* π¦ **ΠΠ°Π³ΡΡΠ·ΠΊΠ° ΡΠ΅ΡΡΡΡΠΎΠ²** - ΠΡΠΈΠΊΡΠ΅ΠΏΠ»ΡΠ΅Ρ Π°ΡΡ
ΠΈΠ²Π½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ ΠΊ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡ ΡΠ΅Π»ΠΈΠ·Ρ
-* π» **ΠΡΠΎΡΡΠΏΠ»Π°ΡΡΠΎΡΠΌΠ΅Π½Π½ΠΎΡΡΡ** - Π Π°Π±ΠΎΡΠ°Π΅Ρ ΠΊΠ°ΠΊ Π½Π° Windows, ΡΠ°ΠΊ ΠΈ Π½Π° Linux
-* β±οΈ **ΠΠ°ΡΡΡΠ°ΠΈΠ²Π°Π΅ΠΌΠΎΠ΅ ΡΠ°ΡΠΏΠΈΡΠ°Π½ΠΈΠ΅** - ΠΠ°ΡΡΡΠΎΠΉΡΠ΅ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ Π²ΡΠΏΡΡΠΊΠ° ΡΠ΅Π»ΠΈΠ·ΠΎΠ²
-* π **ΠΠ΅Π·ΠΎΠΏΠ°ΡΠ½Π°Ρ Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ** - ΠΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΠΏΠ΅ΡΡΠΎΠ½Π°Π»ΡΠ½ΡΠ΅ ΡΠΎΠΊΠ΅Π½Ρ Π΄ΠΎΡΡΡΠΏΠ° GitHub Π΄Π»Ρ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΠ³ΠΎ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ API
-
-## Π’ΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ
-
-* Python 3.8 ΠΈΠ»ΠΈ Π²ΡΡΠ΅
-* Π£ΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΡΠΉ ΠΈ Π½Π°ΡΡΡΠΎΠ΅Π½Π½ΡΠΉ Git
-* ΠΠ΅ΡΡΠΎΠ½Π°Π»ΡΠ½ΡΠΉ ΡΠΎΠΊΠ΅Π½ Π΄ΠΎΡΡΡΠΏΠ° GitHub Ρ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΌΠΈ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΡΠΌΠΈ
-* ΠΠ½ΡΠ΅ΡΠ½Π΅Ρ-ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ Π΄Π»Ρ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ API GitHub
-
-## Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ°
-
-
+## π Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ°
### Windows
-
-1. **ΠΠ»ΠΎΠ½ΠΈΡΠΎΠ²Π°ΡΡ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ**
-
- ```bash
- git clone https://github.com/themaster1970sf/AutoBuildRepo.git
- cd AutoBuildRepo
- ```
-
-2. **Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ**
-
- ```powershell
- pip install -r requirements.txt
- ```
-
-3. **ΠΠ°ΠΏΡΡΡΠΈΡΡ ΡΠΊΡΠΈΠΏΡ**
-
- ```powershell
- python app.py
- ```
-
-
-### Linux
-
-
-1. **ΠΠ»ΠΎΠ½ΠΈΡΠΎΠ²Π°ΡΡ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ**
-
- ```bash
- git clone https://github.com/themaster1970sf/AutoBuildRepo.git
- cd AutoBuildRepo
- ```
-
-2. **Π‘ΠΎΠ·Π΄Π°ΡΡ ΠΈ Π°ΠΊΡΠΈΠ²ΠΈΡΠΎΠ²Π°ΡΡ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠ΅ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠ΅**
-
- ```bash
- python3 -m venv venv
- source venv/bin/activate
- ```
-
-3. **Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ**
-
- ```bash
- pip install -r requirements.txt
- ```
-
-4. **ΠΠ°ΠΏΡΡΡΠΈΡΡ ΡΠΊΡΠΈΠΏΡ**
-
- ```bash
- python3 app.py
- ```
-
- Π‘Π΄Π΅Π»Π°Π½ΠΎ Ρ β€οΈ ΠΎΡ themaster1970sf -
+[MIT License](https://github.com/themaster1970sf/AutoBuildRepo/blob/main/LICENSE) diff --git a/app.py b/app.py deleted file mode 100644 index a79a563..0000000 --- a/app.py +++ /dev/null @@ -1,112 +0,0 @@ -import os -import shutil -import requests -from datetime import datetime -import pytz -import schedule -import time -import zipfile - -def create_github_release(repo_path, git_config): - """ - Π‘ΠΎΠ·Π΄Π°Π΅Ρ ΡΠ΅Π»ΠΈΠ· Π² GitHub - """ - try: - moscow_tz = pytz.timezone('Europe/Moscow') - current_time = datetime.now(moscow_tz) - - archive_name = f"auto_build_{current_time.strftime('%Y-%m-%d_%H-%M-%S')}" - archive_path = os.path.join(repo_path, f"{archive_name}.zip") - - # Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ Π±Π΅Π· archives - temp_dir = os.path.join(repo_path, 'temp_build') - os.makedirs(temp_dir, exist_ok=True) - - # ΠΠΎΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ², ΠΈΡΠΊΠ»ΡΡΠ°Ρ archives - for item in os.listdir(repo_path): - if item != 'archives' and item != 'temp_build': - s = os.path.join(repo_path, item) - d = os.path.join(temp_dir, item) - if os.path.isdir(s): - shutil.copytree(s, d) - else: - shutil.copy2(s, d) - - # ΠΡΡ ΠΈΠ²Π°ΡΠΈΡ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ - shutil.make_archive(archive_path[:-4], 'zip', temp_dir) - - # Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ - shutil.rmtree(temp_dir) - - release_data = { - "tag_name": archive_name, - "target_commitish": "main", - "name": f"Build {archive_name}", - "body": f"ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΡΠ±ΠΎΡΠΊΠ° ΠΎΡ {current_time.strftime('%Y-%m-%d %H:%M:%S')}", - "draft": False, - "prerelease": False - } - - url = f"https://api.github.com/repos/{git_config['username']}/{git_config['repo']}/releases" - - headers = { - "Authorization": f"token {git_config['token']}", - "Accept": "application/vnd.github.v3+json" - } - - response = requests.post(url, json=release_data, headers=headers) - - if response.status_code == 201: - release_info = response.json() - upload_url = release_info['upload_url'].replace('{?name,label}', f'?name={archive_name}.zip') - - with open(archive_path, 'rb') as file: - upload_response = requests.post( - upload_url, - headers={ - "Authorization": f"token {git_config['token']}", - "Content-Type": "application/zip" - }, - data=file - ) - - if upload_response.status_code in [200, 201]: - print(f"Π£ΡΠΏΠ΅ΡΠ½ΠΎ ΡΠΎΠ·Π΄Π°Π½ ΡΠ΅Π»ΠΈΠ·: {archive_name}") - - # Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ Π°ΡΡ ΠΈΠ²Π° ΠΏΠΎΡΠ»Π΅ ΡΡΠΏΠ΅ΡΠ½ΠΎΠΉ Π·Π°Π³ΡΡΠ·ΠΊΠΈ - os.remove(archive_path) - print(f"ΠΡΡ ΠΈΠ² {archive_name}.zip Π±ΡΠ» ΡΠ΄Π°Π»Π΅Π½.") - return True - else: - print("ΠΡΠΈΠ±ΠΊΠ° Π·Π°Π³ΡΡΠ·ΠΊΠΈ Π°ΡΡ ΠΈΠ²Π°") - return False - else: - print(f"ΠΡΠΈΠ±ΠΊΠ° ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠ΅Π»ΠΈΠ·Π°: {response.text}") - return False - - except Exception as e: - print(f"ΠΠ±ΡΠ°Ρ ΠΎΡΠΈΠ±ΠΊΠ°: {e}") - return False - -def daily_release(): - """ΠΠΆΠ΅Π΄Π½Π΅Π²Π½ΠΎΠ΅ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΠ΅Π»ΠΈΠ·Π°""" - repo = { - "path": r"C:\build", - "git_config": { - "username": "xdghrj", - "repo": "auto_build_test", - "token": "ghp_XXXXXXXXXXXXXXXXXXXXX" - } - } - - create_github_release(repo['path'], repo['git_config']) - -def main(): - schedule.every().day.at("23:00").do(daily_release) - - while True: - schedule.run_pending() - time.sleep(60) - -if __name__ == "__main__": - main() diff --git a/requirements.txt b/requirements.txt deleted file mode 100644 index 0b320b4..0000000 --- a/requirements.txt +++ /dev/null @@ -1,3 +0,0 @@ -requests -pytz -schedule