Skip to content

while1618 started CI #181

while1618 started CI

while1618 started CI #181

Workflow file for this run

name: Svelte Kit CI
run-name: ${{ github.actor }} started CI
on:
workflow_dispatch:
push:
branches: [master]
paths:
- frontend/svelte-kit/**
pull_request:
branches: [master]
paths:
- frontend/svelte-kit/**
env:
JWT_SECRET: ${{secrets.JWT_SECRET}}
PUBLIC_APP_NAME: ${{vars.PUBLIC_APP_NAME}}
PUBLIC_API_URL: ${{vars.PUBLIC_API_URL}}
jobs:
build:
defaults:
run:
working-directory: frontend/svelte-kit
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Set up Node.js 22
uses: actions/setup-node@v4
with:
node-version: 22
- name: Install pnpm
uses: pnpm/action-setup@v4
with:
version: 9
- name: Install dependencies
run: pnpm i
- name: Lint
run: pnpm run lint
- name: Unit tests
run: pnpm run test:unit
- name: Integration tests
run: |
npx playwright install --with-deps
npx playwright test --pass-with-no-tests
deploy:
needs: build
runs-on: ubuntu-latest
if: github.ref == 'refs/heads/master'
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Get ui version
id: ui-version
run: echo "version=$(jq -r .version frontend/svelte-kit/package.json)" >> $GITHUB_OUTPUT
- name: Login to Docker Hub
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKER_HUB_USERNAME }}
password: ${{ secrets.DOCKER_HUB_TOKEN }}
- name: Build and push Docker image
uses: docker/build-push-action@v5
with:
context: frontend/svelte-kit
file: frontend/svelte-kit/Dockerfile
target: prod
push: true
tags: |
${{ vars.DOCKER_REPOSITORY_UI }}:${{ steps.ui-version.outputs.version }}
${{ vars.DOCKER_REPOSITORY_UI }}:latest
build-args: |
PUBLIC_APP_NAME=${{ env.PUBLIC_APP_NAME }}
PUBLIC_API_URL=${{ env.PUBLIC_API_URL }}
JWT_SECRET=${{ env.JWT_SECRET }}