From 2b67b085ad8a7a623e4311d13c3c6cac42c9cfe2 Mon Sep 17 00:00:00 2001 From: netkas Date: Fri, 11 Oct 2024 15:17:12 -0400 Subject: [PATCH] Test Commit --- .github/workflows/ncc_workflow.yml | 203 ++++++++++++++++------------- Makefile | 14 +- phpdoc.dist.xml | 2 +- 3 files changed, 122 insertions(+), 97 deletions(-) diff --git a/.github/workflows/ncc_workflow.yml b/.github/workflows/ncc_workflow.yml index 0a64f66..d54c69f 100644 --- a/.github/workflows/ncc_workflow.yml +++ b/.github/workflows/ncc_workflow.yml @@ -9,8 +9,6 @@ on: workflow_dispatch: jobs: - - release: runs-on: ubuntu-latest container: @@ -23,7 +21,7 @@ jobs: - name: Install dependencies run: | apt update -yqq - apt install git libpq-dev libzip-dev zip make wget gnupg gcc -yqq + apt install git libpq-dev libzip-dev zip make wget gnupg -yqq - name: Install phive run: | @@ -51,16 +49,15 @@ jobs: php "$NCC_DIR/INSTALL" --auto cd .. && rm -rf ncc - - name: Compile Project + - name: Build project run: | ncc build --config release --log-level debug - - name: Upload build artifacts + - name: Upload build artifact uses: actions/upload-artifact@v4 with: name: release path: build/release/net.nosial.tgbotlib.ncc - release-compressed: runs-on: ubuntu-latest container: @@ -73,7 +70,7 @@ jobs: - name: Install dependencies run: | apt update -yqq - apt install git libpq-dev libzip-dev zip make wget gnupg gcc -yqq + apt install git libpq-dev libzip-dev zip make wget gnupg -yqq - name: Install phive run: | @@ -101,16 +98,15 @@ jobs: php "$NCC_DIR/INSTALL" --auto cd .. && rm -rf ncc - - name: Compile Project + - name: Build project run: | ncc build --config release-compressed --log-level debug - - name: Upload build artifacts + - name: Upload build artifact uses: actions/upload-artifact@v4 with: name: release-compressed path: build/release/net.nosial.tgbotlib.gz.ncc - release-executable: runs-on: ubuntu-latest container: @@ -123,7 +119,7 @@ jobs: - name: Install dependencies run: | apt update -yqq - apt install git libpq-dev libzip-dev zip make wget gnupg gcc -yqq + apt install git libpq-dev libzip-dev zip make wget gnupg -yqq - name: Install phive run: | @@ -151,16 +147,15 @@ jobs: php "$NCC_DIR/INSTALL" --auto cd .. && rm -rf ncc - - name: Compile Project + - name: Build project run: | ncc build --config release-executable --log-level debug - - name: Upload build artifacts + - name: Upload build artifact uses: actions/upload-artifact@v4 with: name: release-executable path: build/release/TgBotLib - release-executable-compressed: runs-on: ubuntu-latest container: @@ -173,7 +168,7 @@ jobs: - name: Install dependencies run: | apt update -yqq - apt install git libpq-dev libzip-dev zip make wget gnupg gcc -yqq + apt install git libpq-dev libzip-dev zip make wget gnupg -yqq - name: Install phive run: | @@ -201,18 +196,116 @@ jobs: php "$NCC_DIR/INSTALL" --auto cd .. && rm -rf ncc - - name: Compile Project + - name: Build project run: | ncc build --config release-executable-compressed --log-level debug - - name: Upload build artifacts + - name: Upload build artifact uses: actions/upload-artifact@v4 with: name: release-executable-compressed path: build/release/TgBotLib_gz + debug: + runs-on: ubuntu-latest + container: + image: php:8.3 + + steps: + - name: Checkout repository + uses: actions/checkout@v4 + + - name: Install dependencies + run: | + apt update -yqq + apt install git libpq-dev libzip-dev zip make wget gnupg -yqq + + - name: Install phive + run: | + wget -O phive.phar https://phar.io/releases/phive.phar + wget -O phive.phar.asc https://phar.io/releases/phive.phar.asc + gpg --keyserver hkps://keys.openpgp.org --recv-keys 0x9D8A98B29B2D5D79 + gpg --verify phive.phar.asc phive.phar + chmod +x phive.phar + mv phive.phar /usr/local/bin/phive + + - name: Install phab + run: | + phive install phpab --global --trust-gpg-keys 0x2A8299CE842DD38C + + - name: Install latest version of NCC + run: | + git clone https://git.n64.cc/nosial/ncc.git + cd ncc + make redist + NCC_DIR=$(find build/ -type d -name "ncc_*" | head -n 1) + if [ -z "$NCC_DIR" ]; then + echo "NCC build directory not found" + exit 1 + fi + php "$NCC_DIR/INSTALL" --auto + cd .. && rm -rf ncc + + - name: Build project + run: | + ncc build --config debug --log-level debug + + - name: Upload build artifact + uses: actions/upload-artifact@v4 + with: + name: debug + path: build/debug/net.nosial.tgbotlib.ncc + debug-compressed: + runs-on: ubuntu-latest + container: + image: php:8.3 + + steps: + - name: Checkout repository + uses: actions/checkout@v4 + + - name: Install dependencies + run: | + apt update -yqq + apt install git libpq-dev libzip-dev zip make wget gnupg -yqq + + - name: Install phive + run: | + wget -O phive.phar https://phar.io/releases/phive.phar + wget -O phive.phar.asc https://phar.io/releases/phive.phar.asc + gpg --keyserver hkps://keys.openpgp.org --recv-keys 0x9D8A98B29B2D5D79 + gpg --verify phive.phar.asc phive.phar + chmod +x phive.phar + mv phive.phar /usr/local/bin/phive + + - name: Install phab + run: | + phive install phpab --global --trust-gpg-keys 0x2A8299CE842DD38C + + - name: Install latest version of NCC + run: | + git clone https://git.n64.cc/nosial/ncc.git + cd ncc + make redist + NCC_DIR=$(find build/ -type d -name "ncc_*" | head -n 1) + if [ -z "$NCC_DIR" ]; then + echo "NCC build directory not found" + exit 1 + fi + php "$NCC_DIR/INSTALL" --auto + cd .. && rm -rf ncc + + - name: Build project + run: | + ncc build --config debug-compressed --log-level debug + + - name: Upload build artifact + uses: actions/upload-artifact@v4 + with: + name: debug-compressed + path: build/debug/net.nosial.tgbotlib.gz.ncc - + # Checking for phpunit.xml check-phpunit: runs-on: ubuntu-latest outputs: @@ -228,7 +321,7 @@ jobs: else echo "phpunit-exists=false" >> $GITHUB_OUTPUT fi - + # Checking for phpdoc.dist.xml check-phpdoc: runs-on: ubuntu-latest outputs: @@ -245,39 +338,8 @@ jobs: echo "phpdoc-exists=false" >> $GITHUB_OUTPUT fi - generate_phpdoc: - needs: [release, release-compressed, release-executable, check-phpdoc] - runs-on: ubuntu-latest - container: - image: php:8.3 - if: needs.check-phpdoc.outputs.phpdoc-exists == 'true' - - steps: - - name: Checkout repository - uses: actions/checkout@v4 - - - name: Install dependencies - run: | - apt update -yqq - apt install git libpq-dev libzip-dev zip make wget gnupg -yqq - - - name: Download PHPDocumentor - run: | - wget https://phpdoc.org/phpDocumentor.phar - chmod +x phpDocumentor.phar - - - name: Generate PHPDoc - run: | - php phpDocumentor.phar -d src -t docs - - - name: Upload PHPDoc - uses: actions/upload-artifact@v4 - with: - name: documentation - path: docs - test: - needs: [release, check-phpunit] + needs: [release, release-compressed, release-executable, release-executable-compressed, debug, debug-compressed, check-phpunit] runs-on: ubuntu-latest container: image: php:8.3 @@ -329,44 +391,9 @@ jobs: - name: Install NCC packages run: | - ncc package install --package="release/net.nosial.tgbotlib.ncc" --source --reinstall -y --log-level debug - - - name: Create token.txt - run: echo "${{ secrets.TELEGRAM_TEST_TOKEN }}" > tests/token.txt + ncc package install --package="build/release/net.nosial.tgbotlib.ncc" --build-source --reinstall -y --log-level debug - name: Run PHPUnit tests run: | wget https://phar.phpunit.de/phpunit-11.3.phar - php phpunit-11.3.phar --configuration phpunit.xml - - upload-release-artifacts: - needs: [release, release-compressed, release-executable, test] - permissions: write-all - runs-on: ubuntu-latest - container: - image: php:8.3 - if: github.event_name == 'release' - - steps: - - name: Checkout repository - uses: actions/checkout@v4 - - - name: Download release artifacts - uses: actions/download-artifact@v4 - with: - name: release - path: release - - - name: Download release-compressed artifacts - uses: actions/download-artifact@v4 - with: - name: release-compressed - - - name: Upload to GitHub Release - uses: softprops/action-gh-release@v1 - with: - files: | - release/net.nosial.tgbotlib.ncc - release-compressed/net.nosial.tgbotlib.gz.ncc - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} \ No newline at end of file + php phpunit-11.3.phar --configuration phpunit.xml \ No newline at end of file diff --git a/Makefile b/Makefile index d015baa..beedfd6 100644 --- a/Makefile +++ b/Makefile @@ -1,10 +1,9 @@ # Variables -DEFAULT_CONFIG ?= release +DEFAULT_CONFIGURATION ?= release LOG_LEVEL = debug -PACKAGE = build/$(CONFIG)/net.nosial.tgbotlib.ncc # Default Target -all: build +all: release release-compressed release-executable release-executable-compressed debug debug-compressed # Build Steps release: @@ -20,16 +19,15 @@ debug: debug-compressed: ncc build --config=debug-compressed --log-level $(LOG_LEVEL) -build: release release-compressed release-executable release-executable-compressed debug debug-compressed -install: build - ncc package install --package=$(PACKAGE) --skip-dependencies --build-source --reinstall -y --log-level $(LOG_LEVEL) +install: release + ncc package install --package=build/release/net.nosial.tgbotlib.ncc --skip-dependencies --build-source --reinstall -y --log-level $(LOG_LEVEL) -test: build +test: release [ -f phpunit.xml ] || { echo "phpunit.xml not found"; exit 1; } phpunit clean: rm -rf build -.PHONY: all build install test clean \ No newline at end of file +.PHONY: all install test clean release release-compressed release-executable release-executable-compressed debug debug-compressed \ No newline at end of file diff --git a/phpdoc.dist.xml b/phpdoc.dist.xml index 9d8f0a2..76c3333 100644 --- a/phpdoc.dist.xml +++ b/phpdoc.dist.xml @@ -9,7 +9,7 @@ src/TgBotLib - net.nosial.tgbotlib + TgBotLib \ No newline at end of file