From 967e8da255fbb9ee419c11ba30ab44da0ec7ca21 Mon Sep 17 00:00:00 2001 From: darshan45672 Date: Fri, 23 Aug 2024 09:51:36 +0530 Subject: [PATCH] added worflows and tests --- .github/workflows/issuses.yml | 12 +++++ .github/workflows/pull-requests.yml | 12 +++++ .github/workflows/tests.yml | 67 ++++++++++++++++++++++++++ .github/workflows/update-changelog.yml | 13 +++++ .github/workflows/yoojak-dev.yml | 48 ++++++++++++++++++ .github/workflows/yoojak-main.yml | 48 ++++++++++++++++++ 6 files changed, 200 insertions(+) create mode 100644 .github/workflows/issuses.yml create mode 100644 .github/workflows/pull-requests.yml create mode 100644 .github/workflows/tests.yml create mode 100644 .github/workflows/update-changelog.yml create mode 100644 .github/workflows/yoojak-dev.yml create mode 100644 .github/workflows/yoojak-main.yml diff --git a/.github/workflows/issuses.yml b/.github/workflows/issuses.yml new file mode 100644 index 0000000..9634a0e --- /dev/null +++ b/.github/workflows/issuses.yml @@ -0,0 +1,12 @@ +name: issues + +on: + issues: + types: [labeled] + +permissions: + issues: write + +jobs: + help-wanted: + uses: laravel/.github/.github/workflows/issues.yml@main diff --git a/.github/workflows/pull-requests.yml b/.github/workflows/pull-requests.yml new file mode 100644 index 0000000..18b32b3 --- /dev/null +++ b/.github/workflows/pull-requests.yml @@ -0,0 +1,12 @@ +name: pull requests + +on: + pull_request_target: + types: [opened] + +permissions: + pull-requests: write + +jobs: + uneditable: + uses: laravel/.github/.github/workflows/pull-requests.yml@main diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml new file mode 100644 index 0000000..666e13d --- /dev/null +++ b/.github/workflows/tests.yml @@ -0,0 +1,67 @@ +name: Tests + +on: + push: + branches: + - main + - dev + - '*.x' + pull_request: + schedule: + - cron: '0 0 * * *' + +permissions: + contents: read + +jobs: + tests: + runs-on: ubuntu-latest + + strategy: + fail-fast: true + matrix: + php: [8.2, 8.3] + + name: PHP ${{ matrix.php }} + + steps: + - name: Checkout code + uses: actions/checkout@v4 + + - name: Setup PHP + uses: shivammathur/setup-php@v2 + with: + php-version: ${{ matrix.php }} + extensions: dom, curl, libxml, mbstring, zip, pcntl, pdo, sqlite, pdo_sqlite + coverage: none + + - name: Install Composer dependencies + run: composer install --prefer-dist --no-interaction --no-progress + + - name: Copy environment file + run: cp .env.example .env + + - name: Generate app key + run: php artisan key:generate + + - name: Directory Permissions + run: chmod -R 777 storage bootstrap/cache + - name: Create Database + run: | + mkdir -p database + touch database/database.sqlite + - name: Setup Node.js + uses: actions/setup-node@v3 + with: + node-version: '20' + - name: Install npm dependencies + run: npm install + - name: Build assets + run: npm run build + - name: List build directory + run: ls -la public/build # Debugging step to check if manifest.json is generated + - name: Execute tests (Unit and Feature tests) via PHPUnit/Pest + env: + DB_CONNECTION: sqlite + DB_DATABASE: database/database.sqlite + run: php artisan test diff --git a/.github/workflows/update-changelog.yml b/.github/workflows/update-changelog.yml new file mode 100644 index 0000000..ebda620 --- /dev/null +++ b/.github/workflows/update-changelog.yml @@ -0,0 +1,13 @@ +name: update changelog + +on: + release: + types: [released] + +permissions: {} + +jobs: + update: + permissions: + contents: write + uses: laravel/.github/.github/workflows/update-changelog.yml@main diff --git a/.github/workflows/yoojak-dev.yml b/.github/workflows/yoojak-dev.yml new file mode 100644 index 0000000..0ca0395 --- /dev/null +++ b/.github/workflows/yoojak-dev.yml @@ -0,0 +1,48 @@ +name: Yoojak + +on: + push: + branches: + - "dev" + pull_request: + branches: + - "dev" + +jobs: + dev-branch-tests: + runs-on: ubuntu-latest + + steps: + - uses: shivammathur/setup-php@15c43e89cdef867065b0213be354c2841860869e + with: + php-version: '8.2' + - uses: actions/checkout@v4 + - name: Copy .env + run: php -r "file_exists('.env') || copy('.env.example', '.env');" + - name: Update composer + run: composer update -q --no-ansi --no-interaction --no-scripts --no-progress --prefer-dist + - name: Install Dependencies + run: composer install -q --no-ansi --no-interaction --no-scripts --no-progress --prefer-dist + - name: Generate key + run: php artisan key:generate + - name: Directory Permissions + run: chmod -R 777 storage bootstrap/cache + - name: Create Database + run: | + mkdir -p database + touch database/database.sqlite + # - name: Setup Node.js + # uses: actions/setup-node@v3 + # with: + # node-version: '20' + # - name: Install npm dependencies + # run: npm install + # - name: Build assets + # run: npm run build + # - name: List build directory + # run: ls -la public/build # Debugging step to check if manifest.json is generated + - name: Execute tests (Unit and Feature tests) via PHPUnit/Pest + env: + DB_CONNECTION: sqlite + DB_DATABASE: database/database.sqlite + run: php artisan test diff --git a/.github/workflows/yoojak-main.yml b/.github/workflows/yoojak-main.yml new file mode 100644 index 0000000..eba39ad --- /dev/null +++ b/.github/workflows/yoojak-main.yml @@ -0,0 +1,48 @@ +name: Yoojak + +on: + push: + branches: + - "main" + pull_request: + branches: + - "main" + +jobs: + main-branch-tests: + runs-on: ubuntu-latest + + steps: + - uses: shivammathur/setup-php@15c43e89cdef867065b0213be354c2841860869e + with: + php-version: '8.2' + - uses: actions/checkout@v4 + - name: Copy .env + run: php -r "file_exists('.env') || copy('.env.example', '.env');" + - name: Update composer + run: composer update -q --no-ansi --no-interaction --no-scripts --no-progress --prefer-dist + - name: Install Dependencies + run: composer install -q --no-ansi --no-interaction --no-scripts --no-progress --prefer-dist + - name: Generate key + run: php artisan key:generate + - name: Directory Permissions + run: chmod -R 777 storage bootstrap/cache + - name: Create Database + run: | + mkdir -p database + touch database/database.sqlite + # - name: Setup Node.js + # uses: actions/setup-node@v3 + # with: + # node-version: '20' + # - name: Install npm dependencies + # run: npm install + # - name: Build assets + # run: npm run build + # - name: List build directory + # run: ls -la public/build #Debugging step to check if manifest.json is generated + - name: Execute tests (Unit and Feature tests) via PHPUnit/Pest + env: + DB_CONNECTION: sqlite + DB_DATABASE: database/database.sqlite + run: php artisan test