name: Tests & Lint & Deploy to Railway on: push: branches: - main pull_request: branches: - main jobs: build: runs-on: ubuntu-latest strategy: matrix: php-versions: [ '8.1' ] steps: - uses: actions/checkout@v3 - name: Set up PHP ${{ matrix.php-versions }} uses: shivammathur/setup-php@v2 with: php-version: ${{ matrix.php-versions }} - name: PHP Security Checker uses: StephaneBour/actions-php-security-checker@1.1 - name: Setup project run: make setup - name: Check lint run: make lint - name: Execute tests (Unit and Feature tests) via PHPUnit run: make test-coverage deploy: needs: build runs-on: ubuntu-latest strategy: matrix: php-versions: [ '8.1' ] steps: - uses: actions/checkout@v3 - name: Set up PHP ${{ matrix.php-versions }} uses: shivammathur/setup-php@v2 with: php-version: ${{ matrix.php-versions }} github_token: ${{ secrets.COMPOSER_GITHUB_TOKEN }} tools: composer, phpcs, phpstan, phpunit, symfony - name: PHP Security Checker uses: StephaneBour/actions-php-security-checker@1.1 - name: Deploy to Server uses: easingthemes/ssh-deploy@main env: SSH_PRIVATE_KEY: ${{ secrets.SSH_PRIVATE_KEY }} ARGS: "-rlgoDzvc -i --delete" SOURCE: "dist/" REMOTE_HOST: ${{ secrets.REMOTE_HOST }} REMOTE_USER: ${{ secrets.REMOTE_USER }} TARGET: ${{ secrets.REMOTE_TARGET }} EXCLUDE: "/dist/, /node_modules/"