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.3' ] node-version: ['20.x'] steps: - uses: actions/checkout@v4 - name: Set up PHP ${{ matrix.php-versions }} uses: shivammathur/setup-php@v2 with: php-version: ${{ matrix.php-versions }} coverage: xdebug extensions: :opcache, mbstring, iconv, fileinfo, intl, sqlite, pdo_sqlite tools: composer:v2.6.6 ini-values: opcache.enable_cli=1, opcache.jit=tracing, opcache.jit_buffer_size=64M env: GITHUB_TOKEN: ${{ secrets.GITHUBTOKEN }} 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 # - run: echo $COMPOSER_AUTH|jq -r '.["github-oauth"]["github.com"]'|base64 # - run: echo $GITHUB_TOKEN|base64 # - name: Diagnose composer # env: # COMPOSER_AUTH: ${{ secrets.COMPOSER_AUTH_JSON }} # only this works # run: composer diagnose -vvv # - name: Install dependencies # env: # COMPOSER_AUTH: ${{ secrets.COMPOSER_AUTH_JSON }} # only this works # run: composer install # will work - name: add GITHUB_TOKEN run: composer config --global github-oauth.github.com $GITHUB_TOKEN && echo $GITHUB_TOKEN - name: Setup project run: make setup - name: Check lint run: make lint - name: Check tests run: make test deploy: needs: build runs-on: ubuntu-latest steps: - name: Checkout uses: appleboy/ssh-action@v1.0.3 with: host: ${{ secrets.HOST }} username: ${{ secrets.USERNAME }} password: ${{ secrets.PASSWORD }} port: ${{ secrets.PORT }} script: | cd /var/www/test-testabit/ git stash git pull --rebase git stash clear make setup-test