diff --git a/.github/workflows/prepare-for-production.yml b/.github/workflows/prepare-for-production.yml new file mode 100644 index 0000000..e8c3f2d --- /dev/null +++ b/.github/workflows/prepare-for-production.yml @@ -0,0 +1,38 @@ +# Ensure a consistent state for production releases +name: Prepare for production + +on: + push: + branches: [ master ] + pull_request: + branches: [ master ] + +permissions: + contents: read + +jobs: + build-and-test: + + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v3 + + - name: Validate composer.json and composer.lock + run: composer validate --strict + + - name: Cache Composer packages + id: composer-cache + uses: actions/cache@v3 + with: + path: vendor + key: ${{ runner.os }}-php-${{ hashFiles('**/composer.lock') }} + restore-keys: | + ${{ runner.os }}-php- + + - name: Install dependencies + run: composer install --prefer-dist --no-progress + + - name: Run test suite + run: vendor/bin/pest +