Skip to content

Next Build Deploy Test Push #20

Next Build Deploy Test Push

Next Build Deploy Test Push #20

name: Next Build Deploy Test Push
env:
VERCEL_ORG_ID: ${{ secrets.VERCEL_ORG_ID }}
VERCEL_PROJECT_ID: ${{ secrets.VERCEL_PROJECT_ID }}
on:
schedule:
- cron: '0 0 * * 0' # Runs every Sunday at midnight
workflow_dispatch: # Allows manual triggering
jobs:
build-and-deploy:
runs-on: ubuntu-latest
steps:
- name: Checkout Repository
uses: actions/checkout@v4
with:
repository: eelab-dev/EEcircuit
ref: next # Checkout the "next" branch
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Create Empty Build Directory
run: mkdir -p Docker/build
- name: Build Docker Image
run: docker build --no-cache -t eecircuit ./Docker
- name: Run Docker Container
run: docker run -t -v $(realpath ./Docker):/mnt eecircuit
- name: Run Inject.js
run: node ./Docker/inject.js
- name: Rename and Copy Files to Main Directory
run: |
cp ./Docker/build/spice.wasm ./src/sim/spice.wasm
cp ./Docker/build/spice-eesim.js ./src/sim/spice.js
- name: Update Dependencies
run: npx --yes npm-check-updates -u
- name: Install Dependencies
run: npm install
- name: Build Project with Vite
run: npm run build
- name: Deploy to Vercel
run: npx vercel --token=${{ secrets.VERCEL_TOKEN }}
- name: Install Playwright Browsers
run: npx playwright install --with-deps
- name: Run Playwright tests
run: npx playwright test -g "EEcircuit Next"
- uses: actions/upload-artifact@v4
if: always()
with:
name: playwright-report
path: playwright-report/
retention-days: 30
- uses: stefanzweifel/git-auto-commit-action@v5
with:
commit_message: Auto updates after tests