diff --git a/.github/tests/test_and_check_app/action.yml b/.github/tests/test_and_check_app/action.yml index 9892b00..148b553 100644 --- a/.github/tests/test_and_check_app/action.yml +++ b/.github/tests/test_and_check_app/action.yml @@ -1,78 +1,18 @@ -name: "Lint and Test APP" -description: "Run Pint and the Pest test suite" +name: test_and_check_app +description: Build the test image and run all application checks runs: using: composite steps: - - name: Setup PHP - uses: shivammathur/setup-php@f3e473d116dcccaddc5834248c87452386958240 #v2.37.2 - with: - php-version: "8.5" - extensions: mbstring, pdo_sqlite - coverage: none - tools: composer:v2 - - - name: Verify Composer lockfile + - name: Test and check app + shell: bash run: | - if [ ! -f composer.lock ]; then - echo "::error::composer.lock not found" - exit 1 - fi - shell: bash + set -Eeuo pipefail - - name: Get Composer cache directory - id: composer_cache - run: echo "dir=$(composer config cache-files-dir)" >> "$GITHUB_OUTPUT" - shell: bash - - - name: Cache Composer packages - uses: actions/cache@2c8a9bd7457de244a408f35966fab2fb45fda9c8 # v6.0.0 - with: - path: ${{ steps.composer_cache.outputs.dir }} - key: ${{ runner.os }}-php-8.5-${{ hashFiles('composer.lock') }} - - - name: Setup pnpm - uses: pnpm/action-setup@0ebf47130e4866e96fce0953f49152a61190b271 # v11.7.0 - with: - package-json-file: package.json - - - name: Setup Node.js - uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0 - with: - node-version: 22 - cache: "pnpm" - cache-dependency-path: "pnpm-lock.yaml" - - - name: Install dependencies - run: pnpm install --frozen-lockfile - shell: bash - - - name: Prepare environment file - run: cp .env.example .env - shell: bash - - - name: Install dependencies - run: composer install --no-interaction --prefer-dist --no-progress - shell: bash - - - name: Generate application key - run: php artisan key:generate - shell: bash - - - name: Generate Wayfinder routes and actions - run: php artisan wayfinder:generate --with-form - shell: bash - - - name: Run independent application checks - run: | - pnpm exec concurrently \ - --names frontend,backend \ - --prefix-colors cyan,magenta \ - --kill-others-on-fail \ - "composer run ci:frontend" \ - "composer run ci:backend" - shell: bash - - - name: Run Laravel tests - run: composer run ci:test - shell: bash + docker buildx build \ + --file Dockerfile \ + --target test \ + --tag "local/kanbangit-test:${GITHUB_SHA}" \ + --progress plain \ + --load \ + .