diff --git a/.github/workflows/automated_testing.yml b/.github/workflows/automated_testing.yml new file mode 100644 index 0000000..ba74601 --- /dev/null +++ b/.github/workflows/automated_testing.yml @@ -0,0 +1,48 @@ +name: Automated Testing + +on: + push: + +permissions: + contents: read + +jobs: + composer: + name: Validate composer files + runs-on: ubuntu-latest + + steps: + - uses: shivammathur/setup-php@v2 + with: + php-version: 8.2 + + - uses: actions/checkout@v4 + + - name: Validate composer.json and composer.lock + run: composer validate --strict + + phpunit: + name: 'Tests: Unit' + runs-on: ubuntu-latest + + steps: + - uses: shivammathur/setup-php@v2 + with: + php-version: 8.2 + + - uses: actions/checkout@v4 + + - name: Cache Composer packages + id: composer-cache + uses: actions/cache@v4 + with: + path: vendor + key: "${{ runner.os }}-php-${{ hashFiles('**/composer.lock') }}" + restore-keys: | + ${{ runner.os }}-php- + + - name: Install dependencies + uses: ramsey/composer-install@v3 + + - name: 'Run all PHPUnit tests' + run: composer run phpunit