Next Build Deploy Test Push #52
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Next Build Deploy Test Push | |
env: | |
VERCEL_ORG_ID: ${{ secrets.VERCEL_ORG_ID }} | |
VERCEL_PROJECT_ID: ${{ secrets.VERCEL_PROJECT_ID }} | |
GH_TOKEN: ${{secrets.PULL_REQ}} | |
on: | |
schedule: | |
- cron: '0 0 * * 0' # Runs every Sunday at midnight | |
workflow_dispatch: # Allows manual triggering | |
jobs: | |
build-and-deploy: | |
runs-on: ubuntu-latest | |
permissions: | |
# Give the default GITHUB_TOKEN write permission to commit and push the | |
# added or changed files to the repository. | |
contents: write | |
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 | |
# auto commit | |
- uses: stefanzweifel/git-auto-commit-action@v5 | |
with: | |
commit_message: Auto updates after tests | |