Skip to content

CI

CI #1278

Workflow file for this run

name: CI
on:
push:
branches:
- main
pull_request:
schedule:
- cron: '0 9 * * 0'
jobs:
prettier:
name: Prettier
runs-on: ubuntu-latest
timeout-minutes: 5
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Bun
uses: oven-sh/setup-bun@v1
- name: Install dependencies
run: bun install --frozen-lockfile
- name: Prettier
run: bun --bun run format:check
eslint:
name: ESLint
runs-on: ubuntu-latest
needs:
- prettier
timeout-minutes: 5
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Bun
uses: oven-sh/setup-bun@v1
- name: Install dependencies
run: bun install --frozen-lockfile
- name: ESLint
run: bun --bun run lint:eslint
svelte-check:
name: Svelte Check
runs-on: ubuntu-latest
needs:
- prettier
timeout-minutes: 5
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Bun
uses: oven-sh/setup-bun@v1
- name: Install dependencies
run: bun install --frozen-lockfile
- name: Svelte Check
run: bun --bun run check:ci
test:
name: Test
runs-on: ubuntu-latest
needs:
- prettier
timeout-minutes: 5
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Bun
uses: oven-sh/setup-bun@v1
- name: Install dependencies
run: bun install --frozen-lockfile
- name: Test
run: bun test
build:
name: Build
runs-on: ubuntu-latest
needs:
- eslint
- svelte-check
- test
timeout-minutes: 5
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Bun
uses: oven-sh/setup-bun@v1
- name: Install dependencies
run: bun install --frozen-lockfile
- name: Build
run: bun --bun run build:ci
- name: Upload build artifact
uses: actions/upload-artifact@v4
with:
name: build
path: .svelte-kit/cloudflare
codeql:
name: CodeQL Analysis
runs-on: ubuntu-latest
permissions:
actions: read
contents: read
security-events: write
strategy:
fail-fast: false
matrix:
language: ['javascript']
# Learn more about CodeQL language support at https://aka.ms/codeql-docs/language-support
steps:
- name: Checkout repository
uses: actions/checkout@v4
# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
uses: github/codeql-action/init@v3
with:
languages: ${{ matrix.language }}
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v3
#deploy:
# name: Deploy to Cloudflare Pages
# runs-on: ubuntu-latest
# needs:
# - build
# - codeql
# timeout-minutes: 5
# permissions:
# contents: read
# pages: write
# id-token: write
# environment:
# name: Cloudflare Pages
# url: ${{ steps.deployment.outputs.url}}
# steps:
# - name: Download build artifact
# uses: actions/download-artifact@v3
# with:
# name: build
# path: .svelte-kit/cloudflare
# - name: Publish to Cloudflare Pages
# id: deployment
# uses: cloudflare/pages-action@v1
# with:
# apiToken: ${{ secrets.CLOUDFLARE_DEPLOYMENT_KEY }}
# accountId: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }}
# projectName: portfolio
# directory: .svelte-kit/cloudflare
# branch: ${{ github.ref_name}}
# # Optional: Enable this if you want to have GitHub Deployments triggered
# gitHubToken: ${{ github.token }}