CI (Test): Add Cypress e2e smoketests for Brazil Blog #57
Workflow file for this run
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: CI | |
on: | |
push: | |
branches: [ "main" ] | |
pull_request: | |
branches: [ "main" ] | |
jobs: | |
build: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Build the Docker image | |
run: docker build . --file Dockerfile --tag my-image-name:$(date +%s) | |
deploy: | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.ref }} | |
environment: Develop | |
runs-on: ubuntu-latest | |
if: github.ref == 'refs/heads/main' # Uncomment this line if you want to deploy only from the main branch | |
needs: build | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Setup SSH | |
uses: webfactory/ssh-agent@v0.5.3 | |
with: | |
ssh-private-key: ${{ secrets.SSH_PRIVATE_KEY }} | |
- name: Deploy to the server | |
run: | | |
ssh -o StrictHostKeyChecking=no -p ${{ secrets.SSH_PORT }} ${{ secrets.SSH_USER }}@${{ secrets.SSH_HOST }} "cd brazil-blog && git pull && docker compose -f docker-compose-deploy.yml up -d --build" | |
smoketests: | |
runs-on: ubuntu-latest | |
env: | |
CYPRESS_BASE_URL: "https://brazil.kokokoding.nl" | |
services: | |
web: | |
image: nginx:latest | |
ports: | |
- 80:80 | |
options: >- | |
--mount type=bind,source=${{ github.workspace }},target=/usr/share/nginx/html | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v4 | |
- name: Setup Node.js environment | |
uses: actions/setup-node@v4 | |
with: | |
node-version: '18' | |
cache: 'bun' | |
- name: Install bun | |
run: curl -fsSL https://bun.sh/install | bash | |
- name: Install dependencies | |
run: bun install | |
- name: Run smoketests with Cypress | |
run: bunx cypress run |