name: Tests & Lint & Deploy to Railway on: push: branches: - main # pull_request: # branches: # - main jobs: build: runs-on: ubuntu-latest strategy: matrix: php-version: [ '8.3' ] node-version: ['20.x'] composer-version: ['2.6.6'] steps: - uses: actions/checkout@v4 - name: Set up PHP ${{ matrix.php-version }} with extensions and tools uses: shivammathur/setup-php@v2 with: php-version: ${{ matrix.php-version }} ini-values: opcache.enable_cli=1, extension=gd2 extensions: fileinfo, xml, curl, mbstring, iconv, fileinfo, intl, sqlite, pdo_sqlite, php-gd, dom tools: composer:${{ matrix.composer-version }} env: debug: true - name: PHP Security Checker uses: StephaneBour/actions-php-security-checker@1.1 - name: Use Node.js ${{ matrix.node-version }} uses: actions/setup-node@v3 with: node-version: ${{ matrix.node-version }} - name: Add keys run: | sudo curl -o ~/.composer/keys.tags.pub -sL https://composer.github.io/releases.pub sudo curl -o ~/.composer/keys.dev.pub -sL https://composer.github.io/snapshots.pub - name: Install dependencies env: COMPOSER_AUTH: ${{ secrets.COMPOSER_AUTH_JSON }} run: composer install - name: Setup project run: make setup-ci - name: Check lint run: make lint - name: Check tests run: make test # deploy: # needs: build # runs-on: ubuntu-latest # steps: # - name: deploy to test server # uses: appleboy/ssh-action@v1.0.3 # # with: # host: ${{ secrets.HOST }} # username: ${{ secrets.USERNAME }} # password: ${{ secrets.PASSWORD }} # port: ${{ secrets.PORT }} # script: | # cd /var/www/www-root/data/www/testabit.mkgtu.ru # git stash # git pull --rebase # git stash clear # make setup-prod