Skip to content

Commit

Permalink
Merge pull request #1 from LaswitchTech/dev
Browse files Browse the repository at this point in the history
Publishing v1.0.0
  • Loading branch information
LouisOuellet authored Dec 4, 2024
2 parents 15bbd0e + b16f134 commit 3e40ed1
Show file tree
Hide file tree
Showing 343 changed files with 5,930 additions and 0 deletions.
22 changes: 22 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
; http://editorconfig.org/

root = true

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

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

[{vendor,inc/phpseclib}/**]
; Use editor default (possible autodetection).
indent_style =
indent_size =
end_of_line =
trim_trailing_whitespace =
insert_final_newline =
3 changes: 3 additions & 0 deletions .github/FUNDING.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# These are supported funding model platforms

github: [LaswitchTech]
31 changes: 31 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
---
name: Bug report
about: Create a report to help us improve
title: ''
labels: bug
assignees: ''

---

### Description

[Description of the bug or feature]

### Steps to reproduce

1. [First Step]
2. [Second Step]
3. [and so on...]

**Expected behavior:** [What you expected to happen]

**Actual behavior:** [What actually happened]

### Versions

* [PHP]
* [Browser]

### Screenshots or Logs

[Paste your logs or attach the screenshot]
20 changes: 20 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_request.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
---
name: Feature request
about: Suggest an idea for this project
title: ''
labels: feature request
assignees: ''

---

**Is your feature request related to a problem? Please describe.**
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

**Describe the solution you'd like**
A clear and concise description of what you want to happen.

**Describe alternatives you've considered**
A clear and concise description of any alternative solutions or features you've considered.

**Additional context**
Add any other context or screenshots about the feature request here.
13 changes: 13 additions & 0 deletions .github/no-response.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
# Configuration for probot-no-response - https://github.com/probot/no-response

# Number of days of inactivity before an Issue is closed for lack of response
daysUntilClose: 14
# Label requiring a response
responseRequiredLabel: need more info
# Comment to post when closing an Issue for lack of response. Set to `false` to disable
closeComment: >
This issue has been automatically closed because there has been no response
to our request for more information from the original author. With only the
information that is currently in the issue, we don't have enough information
to take action. Please reach out if you have or find the answers we need so
that we can investigate further.
54 changes: 54 additions & 0 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
name: Build and Package the Application

on:
push:
branches:
- dev
pull_request:
branches:
- dev

jobs:
build-exe:
runs-on: windows-latest

steps:
# Step 1: Checkout the repository
- name: Checkout code
uses: actions/checkout@v3

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

# Step 3: Install dependencies
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install pyinstaller sip importlib PySide6-Addons psutil
pip install PyQt5
# Step 4: Build the .exe file
- name: Build executable with PyInstaller
run: |
pyinstaller --onefile --noconsole --name Configurator --icon src/icons/icon.ico --add-data "src/styles;styles" --add-data "src/icons;icons" --add-data "src/lib;lib" src/configurator.py
# Step 5: Move the compiled executable to dist/windows
- name: Move Configurator.exe to dist/windows
run: |
if (-Not (Test-Path dist/windows)) { New-Item -ItemType Directory -Path dist/windows }
if (Test-Path dist/windows/Configurator.exe) { Remove-Item dist/windows/Configurator.exe }
Move-Item dist\Configurator.exe dist\windows\Configurator.exe
# Step 6: Commit the .exe file to the dev branch
- name: Commit .exe to dev branch
run: |
git config --global user.name "github-actions[bot]"
git config --global user.email "github-actions[bot]@users.noreply.github.com"
git add dist/windows/Configurator.exe
git commit -m "configurator.py: Build executable Configurator.exe"
git push
env:
GITHUB_TOKEN: ${{ secrets.GH_PAT }}
92 changes: 92 additions & 0 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,92 @@
name: Create a new Release and add Assets

on:
push:
tags:
- 'v*'

jobs:
release:
runs-on: ubuntu-latest
steps:
# Step 1: Checkout code
- name: Checkout code
uses: actions/checkout@v2
with:
fetch-depth: 0

# Step 2: Set Tag as Filename
- name: Set Tag as Filename
id: tag_name
run: echo "TAG_NAME=${GITHUB_REF##*/}" >> $GITHUB_ENV

# Step 3: Create ZIP file
- name: Create ZIP file
run: zip -r "${{ env.TAG_NAME }}.zip" .

# Step 4: Generate Changelog with Fallback
- name: Generate Changelog
id: generate_changelog
run: |
# Try to find the most recent tag before the current one
PREV_TAG=$(git describe --tags --abbrev=0 HEAD^ 2>/dev/null || echo "")
if [ -z "$PREV_TAG" ]; then
echo "No previous tags found. Generating changelog for the entire commit history."
echo -e "# Changelog\n" > CHANGELOG.md
git log --pretty=format:"* %s" >> CHANGELOG.md
else
echo "Found previous tag: $PREV_TAG. Generating changelog from $PREV_TAG to HEAD."
echo -e "# Changelog\n" > CHANGELOG.md
git log ${PREV_TAG}..HEAD --pretty=format:"* %s" >> CHANGELOG.md
fi
# List unique contributors for the commits
echo -e "\n\n# Contributors\n" >> CHANGELOG.md
git log --format='%aN' | sort -u | awk '{print "* " $0}' >> CHANGELOG.md
# Step 5: Create Release
- name: Create Release
id: create_release
uses: actions/create-release@v1
env:
GITHUB_TOKEN: ${{ secrets.GH_PAT }}
with:
tag_name: ${{ github.ref }}
release_name: Release ${{ github.ref }}
draft: false
prerelease: false
body_path: ./CHANGELOG.md

# Step 6: Upload Source ZIP Asset
- name: Upload Source ZIP
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GH_PAT }}
with:
upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: ./${{ env.TAG_NAME }}.zip
asset_name: source.zip
asset_content_type: application/zip

# Step 7: Upload Configurator.exe Asset
- name: Upload Configurator.exe
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GH_PAT }}
with:
upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: ./dist/windows/Configurator.exe
asset_name: Configurator.exe
asset_content_type: application/octet-stream

# Step 8: Upload Configurator.dmg Asset
- name: Upload Configurator.dmg
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GH_PAT }}
with:
upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: ./dist/macos/Configurator.dmg
asset_name: Configurator.dmg
asset_content_type: application/octet-stream
34 changes: 34 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
# Python
/build/

# Environments
.env
.venv
env/
venv/
ENV/
env.bak/
venv.bak/

# Composer
composer.phar
*composer.phar
/vendor/

# Mac OS X
.DS_Store
*.DS_Store

# Git
.git

# Filetypes
*.cfg
*.log
*.ini

# Unique Directories
/tmp/

# Example Files
/example/vendor/
50 changes: 50 additions & 0 deletions Configurator.spec
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
# -*- mode: python ; coding: utf-8 -*-


a = Analysis(
['src/configurator.py'],
pathex=[],
binaries=[],
datas=[],
hiddenimports=[],
hookspath=[],
hooksconfig={},
runtime_hooks=[],
excludes=[],
noarchive=False,
optimize=0,
)
pyz = PYZ(a.pure)

exe = EXE(
pyz,
a.scripts,
[],
exclude_binaries=True,
name='Configurator',
debug=False,
bootloader_ignore_signals=False,
strip=False,
upx=True,
console=False,
disable_windowed_traceback=False,
argv_emulation=False,
target_arch=None,
codesign_identity=None,
entitlements_file=None,
)
coll = COLLECT(
exe,
a.binaries,
a.datas,
strip=False,
upx=True,
upx_exclude=[],
name='Configurator',
)
app = BUNDLE(
coll,
name='Configurator.app',
icon='src/icons/icon.icns',
bundle_identifier=None,
)
43 changes: 43 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
<p align="center"><img src="src/icons/icon.png" /></p>

# MySQL INI Configurator
![License](https://img.shields.io/github/license/LaswitchTech/ini-configurator?style=for-the-badge)
![GitHub repo size](https://img.shields.io/github/repo-size/LaswitchTech/ini-configurator?style=for-the-badge&logo=github)
![GitHub top language](https://img.shields.io/github/languages/top/LaswitchTech/ini-configurator?style=for-the-badge)
![GitHub Downloads](https://img.shields.io/github/downloads/LaswitchTech/ini-configurator/total?style=for-the-badge)
![Version](https://img.shields.io/github/v/release/LaswitchTech/ini-configurator?label=Version&style=for-the-badge)

## Description
INI Configurator is a lightweight and user-friendly GUI application designed for configuring my.ini files. The application allows users to seamlessly edit and manage configuration settings with a collapsible section-based interface, ensuring clarity and simplicity even with complex configuration files. The source code may be used to build similar applications for other configuration files.

## Features
- **Dynamic Configuration Editor**: Load, edit, and save my.ini configurations directly through the GUI.
- **Collapsible Sections**: Each configuration category is organized into collapsible sections for better organization and ease of navigation.
- **Customizable Fields**: Supports text inputs, dropdown selections, and folder path selection with default values.

## Technology Stack
- **Python**: A simple yet powerful programming language used to build the core application logic.
- **PyQt5**: A modern GUI framework used for creating a visually appealing and responsive user interface.

## License
This software is distributed under the [MIT](LICENSE) license.

## Security
Please disclose any vulnerabilities found responsibly – report security issues to the maintainers privately. See [SECURITY.md](SECURITY.md) for more information.

## Contributing
Contributions to ini-configurator are welcome! If you have ideas for new features or have found bugs, please open an issue or submit a pull request.

### How to Contribute
- **Fork the Repository**: Create a fork of the repository on GitHub.
- **Create a New Branch**: For new features or bug fixes, create a new branch in your fork.
- **Submit a Pull Request**: Once your changes are ready, submit a pull request to the main repository.

## Wait, where is the documentation?
Review the [Documentation](https://laswitchtech.com/en/blog/projects/ini-configurator/index).

## What about the download button?
The download button is available [here](https://github.com/LaswitchTech/ini-configurator/releases/latest/download/Configurator.exe).

## GitHub Stats
![Alt](https://repobeats.axiom.co/api/embed/4b4113082c2e1cadf91ac1ed8e0e45c4e4f52eaa.svg "Repobeats analytics image")
10 changes: 10 additions & 0 deletions SECURITY.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
# Security Policy

Security vulnerabilities can be reported for the current stable release and the `stable` branch.

## Reporting a Vulnerability

You have multiple options on reporting vulnerabilities

* Send an e-mail to [Support Team](mailto:[email protected])
* Open a [Github Issue](https://github.com/LaswitchTech/ini-configurator/issues)
1 change: 1 addition & 0 deletions VERSION
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
v1.0.0
Loading

0 comments on commit 3e40ed1

Please sign in to comment.