Skip to content

Update react.js.yml

Update react.js.yml #2

Workflow file for this run

name: ChatGPT Clone App CI
on:
push:
branches: ["main"]
pull_request:
branches: ["main"]
jobs:
eslint:
runs-on: ubuntu-latest
strategy:
matrix:
node-version: [18.x, 20.x]
steps:
- uses: actions/checkout@v3
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v3
with:
node-version: ${{ matrix.node-version }}
cache: 'npm'
- run: npm ci
- run: npm run lint # Assuming your linting script is named "lint"
test:
needs: eslint
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Use Node.js 16.x
uses: actions/setup-node@v3
with:
node-version: ${{ matrix.node-version }}
cache: 'npm'
- run: npm ci
- run: npm run test # Assuming you have a test script defined for your tests
deploy:
needs: [eslint, test]
runs-on: ubuntu-latest
steps:
- name: Deploy to Kinsta
env:
KINSTA_API_KEY: ${{ secrets.KINSTA_API_KEY }} # Assuming you have your API key stored as a GitHub secret
run: |
set +e # Disable error handling temporarily to check the exit code of the curl command
response=$(curl -i -X POST \
https://api.kinsta.com/v2/applications/deployments \
-H "Authorization: Bearer $KINSTA_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"app_id": "97354c6b-089f-4643-bef0-f466ba4e9dbc",
"branch": "main"
}' 2>&1) # Capture both stdout and stderr
exit_code=$?
set -e # Re-enable error handling
if [ $exit_code -ne 0 ]; then
echo "$response" # Output the error response for visibility
exit 1 # Exit with an error status code to mark the job as failed
fi
# Add more jobs if needed...