forked from scith/BoxBilling_Proxmox
-
-
Notifications
You must be signed in to change notification settings - Fork 5
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Updating the current preview for 0.1.0
This is substantial work towards #26 and an eventual release of 0.1.0 * Fixed Divide by 0 if a Storage is not reachable or has 0 in any value * Fixed small things, started storage class edit * Removed broken is_configured * Fixed API Wrapper <script> tag location * Added functionality to save new tags to the database * Many UI Improvements, added Help to Server View, Ability to add Storage classes to storage * Added functionality to Enable & Disable QEMU VM Templates * - Replaced pve2-api-php with fork that uses symfony & httpclient. - Reworked some of the server preparation functionality - Added "Debug mode" to proxmox Settings * Set up automated release process * Added phpstan workflow * Added local phpstan config file (phpstan.dist.neon) * Added Tests & workflow to run phpunit from FOSSBilling * Fixed JS for CIDR/IP Validation * Cleanup (Comments etc)
- Loading branch information
Showing
54 changed files
with
3,458 additions
and
2,416 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,212 @@ | ||
name: Build and Test | ||
|
||
on: | ||
push: | ||
branches: [main, 0.1.0] | ||
pull_request: | ||
branches: [main] | ||
|
||
jobs: | ||
composer: | ||
runs-on: ubuntu-latest | ||
|
||
name: PHP (Latest) - Build and Archive | ||
steps: | ||
- uses: actions/checkout@v4 | ||
|
||
- name: Validate composer.json and composer.lock | ||
uses: php-actions/composer@v6 | ||
with: | ||
command: validate | ||
|
||
- name: Cache Composer Dependencies | ||
id: composer-cache | ||
uses: actions/cache@v3 | ||
with: | ||
path: ./src/vendor | ||
key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }} | ||
restore-keys: | | ||
${{ runner.os }}-composer- | ||
- name: Install Composer Dependencies | ||
if: steps.composer-cache.outputs.cache-hit != 'true' | ||
uses: php-actions/composer@v6 | ||
|
||
- name: Create Build Archive for Tests | ||
run: | | ||
mkdir /tmp/builds/ && tar -cvf /tmp/builds/build.tar ./ | ||
- name: Upload Build Archive for Tests | ||
uses: actions/upload-artifact@v3 | ||
with: | ||
name: build-archive-php | ||
path: /tmp/builds | ||
retention-days: 1 | ||
|
||
phpstan: | ||
runs-on: ubuntu-latest | ||
needs: [composer] | ||
|
||
name: PHPStan - FOSSBilling Preview | ||
steps: | ||
- uses: actions/download-artifact@v3 | ||
with: | ||
name: build-archive-php | ||
path: /tmp/builds | ||
|
||
- name: Extract build archive | ||
run: tar -xvf /tmp/builds/build.tar ./ | ||
|
||
- name: Checkout FOSSBilling Source Code | ||
uses: actions/checkout@v4 | ||
with: | ||
repository: "FOSSBilling/FOSSBilling" | ||
path: "FOSSBilling" | ||
|
||
- name: Install Composer Dependencies | ||
uses: php-actions/composer@v6 | ||
with: | ||
args: --working-dir=FOSSBilling | ||
dev: no | ||
|
||
- name: Create Build Archive for Tests | ||
run: | | ||
cp FOSSBilling/src/config-sample.php FOSSBilling/src/config.php | ||
mkdir -p FOSSBilling/src/data/cache | ||
mkdir -p FOSSBilling/src/data/log | ||
echo > FOSSBilling/src/data/log/license.log | ||
echo > FOSSBilling/src/data/log/application.log | ||
echo > FOSSBilling/src/data/log/php_error.log | ||
- name: Run PHPStan | ||
uses: php-actions/phpstan@v3 | ||
with: | ||
php_version: latest | ||
configuration: phpstan.neon | ||
memory_limit: 512M | ||
|
||
phpstan-release: | ||
runs-on: ubuntu-latest | ||
needs: [composer] | ||
|
||
name: PHPStan - FOSSBilling Release | ||
steps: | ||
- uses: actions/download-artifact@v3 | ||
with: | ||
name: build-archive-php | ||
path: /tmp/builds | ||
|
||
- name: Extract build archive | ||
run: tar -xvf /tmp/builds/build.tar ./ | ||
|
||
- name: Get the Latest FOSSBilling Release Tag | ||
uses: oprypin/find-latest-tag@v1 | ||
with: | ||
repository: "FOSSBilling/FOSSBilling" | ||
releases-only: true | ||
id: get_id | ||
|
||
- name: Checkout The Release tag | ||
uses: actions/checkout@v4 | ||
with: | ||
repository: "FOSSBilling/FOSSBilling" | ||
path: "FOSSBilling" | ||
ref: ${{ steps.get_id.outputs.tag }} | ||
|
||
- name: Install Composer Dependencies (<=0.4.x) | ||
if: ${{ hashFiles('FOSSBilling/src/composer.json') }} | ||
uses: php-actions/composer@v6 | ||
with: | ||
args: --working-dir=FOSSBilling/src | ||
dev: no | ||
|
||
- name: Install Composer Dependencies (>=0.5.0) | ||
if: ${{ hashFiles('FOSSBilling/composer.json') }} | ||
uses: php-actions/composer@v6 | ||
with: | ||
args: --working-dir=FOSSBilling/ | ||
dev: no | ||
|
||
- name: Create Build Archive for Tests | ||
run: | | ||
cp FOSSBilling/src/config-sample.php FOSSBilling/src/config.php | ||
mkdir -p FOSSBilling/src/data/cache | ||
mkdir -p FOSSBilling/src/data/log | ||
echo > FOSSBilling/src/data/log/license.log | ||
echo > FOSSBilling/src/data/log/application.log | ||
echo > FOSSBilling/src/data/log/php_error.log | ||
- name: Run PHPStan | ||
uses: php-actions/phpstan@v3 | ||
with: | ||
php_version: latest | ||
configuration: phpstan.neon | ||
memory_limit: 512M | ||
|
||
phpunit: | ||
runs-on: ubuntu-latest | ||
needs: [ composer, phpstan-release ] | ||
strategy: | ||
matrix: | ||
php: [ 8.0, 8.1, 8.2 ] | ||
|
||
name: PHP ${{ matrix.php }} - PHPUnit | ||
steps: | ||
|
||
- uses: actions/download-artifact@v3 | ||
with: | ||
name: build-archive-php | ||
path: /tmp/builds | ||
|
||
- name: Extract build archive | ||
run: tar -xvf /tmp/builds/build.tar ./ | ||
|
||
- name: Get the Latest FOSSBilling Release Tag | ||
uses: oprypin/find-latest-tag@v1 | ||
with: | ||
repository: "FOSSBilling/FOSSBilling" | ||
releases-only: true | ||
id: get_id | ||
|
||
- name: Checkout The Release tag | ||
uses: actions/checkout@v4 | ||
with: | ||
repository: "FOSSBilling/FOSSBilling" | ||
path: "FOSSBilling" | ||
ref: ${{ steps.get_id.outputs.tag }} | ||
|
||
- name: Install Composer Dependencies (<=0.4.x) | ||
if: ${{ hashFiles('FOSSBilling/src/composer.json') }} | ||
uses: php-actions/composer@v6 | ||
with: | ||
args: --working-dir=FOSSBilling/src | ||
dev: no | ||
|
||
- name: Install Composer Dependencies (>=0.5.0) | ||
if: ${{ hashFiles('FOSSBilling/composer.json') }} | ||
uses: php-actions/composer@v6 | ||
with: | ||
args: --working-dir=FOSSBilling/ | ||
dev: no | ||
|
||
- name: Create Build Archive for Tests | ||
run: | | ||
cp FOSSBilling/src/config-sample.php FOSSBilling/src/config.php | ||
mkdir -p FOSSBilling/src/data/cache | ||
mkdir -p FOSSBilling/src/data/log | ||
echo > FOSSBilling/src/data/log/license.log | ||
echo > FOSSBilling/src/data/log/application.log | ||
echo > FOSSBilling/src/data/log/php_error.log | ||
- name: Copy module to FOSSBilling directory | ||
run: cp -r src/ FOSSBilling/src/modules/Serviceproxmox | ||
|
||
- name: Copy tests to FOSSBilling directory | ||
run: cp -r tests/Serviceproxmox FOSSBilling/tests/modules/ | ||
|
||
- name: Run PHPUnit Tests | ||
uses: php-actions/phpunit@v3 | ||
with: | ||
version: 9 | ||
php_version: ${{ matrix.php }} | ||
configuration: FOSSBilling/phpunit.xml.dist | ||
env: | ||
APP_ENV: test |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,52 @@ | ||
name: Create a downloadable preview build | ||
|
||
on: | ||
push: | ||
branches: [main, 0.1.0] | ||
pull_request: | ||
branches: [main] | ||
|
||
jobs: | ||
build: | ||
runs-on: ${{ matrix.operating-system }} | ||
|
||
strategy: | ||
matrix: | ||
operating-system: [ubuntu-latest] | ||
php-versions: ["8.0"] | ||
|
||
name: Create a downloadable preview build | ||
steps: | ||
- name: Checkout | ||
uses: actions/checkout@v4 | ||
|
||
- name: Install PHP | ||
uses: shivammathur/setup-php@v2 | ||
with: | ||
php-version: ${{ matrix.php-versions }} | ||
|
||
- name: Check PHP Version | ||
run: php -v | ||
|
||
- name: Validate composer.json and composer.lock | ||
run: composer validate | ||
|
||
- name: Create temporary directories and files | ||
run: | | ||
mkdir -p ./build/source | ||
- name: Installing Composer dependencies | ||
run: composer install --prefer-dist --no-progress --no-dev | ||
|
||
- name: Copy mandatory files to the temporary build folder | ||
run: | | ||
cp -r ./src/. ./build/source/ | ||
cp README.md ./build/source/ | ||
cp LICENSE ./build/source/ | ||
- name: Upload the Final Artifact to GitHub | ||
uses: actions/upload-artifact@v3 | ||
with: | ||
name: Serviceproxmox | ||
path: ./build/source/* | ||
if-no-files-found: error |
Oops, something went wrong.