Skip to content

deps(deps): bump axios from 1.13.6 to 1.16.1 #66

deps(deps): bump axios from 1.13.6 to 1.16.1

deps(deps): bump axios from 1.13.6 to 1.16.1 #66

Workflow file for this run

name: 🚀 CI/CD Pipeline
on:
push:
branches: [main, develop]
pull_request:
branches: [main]
jobs:
test:
runs-on: ubuntu-latest
strategy:
matrix:
node-version: [18.x, 20.x]
steps:
- name: 📥 Checkout code
uses: actions/checkout@v6
- name: 🟢 Setup Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v6
with:
node-version: ${{ matrix.node-version }}
cache: "npm"
- name: 📦 Install dependencies
run: npm ci
- name: 🔍 Run linting
run: npm run lint
- name: 🧪 Run tests
run: npm test
env:
GEMINI_API_KEY: ${{ secrets.GEMINI_API_KEY }}
- name: 📊 Run test coverage
run: npm run test:coverage
- name: 📤 Upload coverage reports
uses: codecov/codecov-action@v5
with:
file: ./coverage/lcov.info
flags: unittests
name: codecov-umbrella
fail_ci_if_error: false
security:
runs-on: ubuntu-latest
steps:
- name: 📥 Checkout code
uses: actions/checkout@v6
- name: 🔒 Run security audit
run: npm audit --audit-level moderate
- name: 🔍 Run dependency check
run: npm audit --audit-level high
build:
runs-on: ubuntu-latest
needs: [test, security]
steps:
- name: 📥 Checkout code
uses: actions/checkout@v6
- name: 🟢 Setup Node.js
uses: actions/setup-node@v6
with:
node-version: "18.x"
cache: "npm"
- name: 📦 Install dependencies
run: npm ci
- name: 🏗️ Build project
run: npm run build
- name: 📦 Create release package
run: |
mkdir -p dist
cp -r index.js package.json package-lock.json scripts/ dist/
cp -r .env.example dist/
cp -r README.md LICENSE CHANGELOG.md dist/
- name: 📤 Upload build artifacts
uses: actions/upload-artifact@v6
with:
name: build-files
path: dist/
deploy-preview:
runs-on: ubuntu-latest
needs: [test, security, build]
if: github.event_name == 'pull_request'
steps:
- name: 📥 Checkout code
uses: actions/checkout@v6
- name: 🟢 Setup Node.js
uses: actions/setup-node@v6
with:
node-version: "18.x"
cache: "npm"
- name: 📦 Install dependencies
run: npm ci
- name: 🧪 Run integration tests
run: npm run test:integration
env:
GEMINI_API_KEY: ${{ secrets.GEMINI_API_KEY }}
WP_URL: ${{ secrets.WP_URL }}
WP_USER: ${{ secrets.WP_USER }}
WP_APP_PASS: ${{ secrets.WP_APP_PASS }}
release:
runs-on: ubuntu-latest
needs: [test, security, build]
if: github.event_name == 'push' && github.ref == 'refs/heads/main'
steps:
- name: 📥 Checkout code
uses: actions/checkout@v6
- name: 🏷️ Create Release
id: create_release
uses: actions/create-release@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
tag_name: ${{ github.run_number }}
release_name: Release ${{ github.run_number }}
draft: false
prerelease: false
- name: 📤 Upload Release Assets
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: ./dist/
asset_name: ai-blog-automation-${{ github.run_number }}.zip
asset_content_type: application/zip