chore(ci): more updating CI to run more efficient

This commit is contained in:
Gabe Kangas
2025-10-07 13:11:52 -07:00
parent 728bd3e96d
commit a3915bd89d
6 changed files with 84 additions and 28 deletions
+10 -4
View File
@@ -1,9 +1,7 @@
# This workflow runs browser-based tests using Cypress # This workflow runs browser-based tests using Cypress
# Triggers: # Triggers:
# - Push/PR with web or browser test changes # - Push/PR with web, Go backend, or browser test changes
# Skips: # Note: Browser tests require both frontend and backend
# - Documentation-only changes in web/
# - Configuration-only changes
name: Browser Tests name: Browser Tests
@@ -11,11 +9,19 @@ on:
push: push:
paths: paths:
- 'web/**' - 'web/**'
- '**.go'
- 'go.mod'
- 'go.sum'
- 'test/automated/browser/**' - 'test/automated/browser/**'
- '.github/workflows/browser-testing.yml'
pull_request: pull_request:
paths: paths:
- 'web/**' - 'web/**'
- '**.go'
- 'go.mod'
- 'go.sum'
- 'test/automated/browser/**' - 'test/automated/browser/**'
- '.github/workflows/browser-testing.yml'
jobs: jobs:
cypress-run: cypress-run:
+17 -4
View File
@@ -2,10 +2,9 @@
# This workflow publishes Storybook to Chromatic for visual regression testing # This workflow publishes Storybook to Chromatic for visual regression testing
# Triggers: # Triggers:
# - Push/PR with changes to web/ directory # - Push/PR with changes to web components, stories, or styles
# Skips: # Skips:
# - Static files # - Static files
# - next.config.js changes
# - Renovate bot PRs # - Renovate bot PRs
# Features: # Features:
# - Uses onlyChanged for efficient testing # - Uses onlyChanged for efficient testing
@@ -16,10 +15,24 @@ name: 'Chromatic'
on: on:
push: push:
paths: paths:
- web/** - 'web/components/**'
- 'web/stories/**'
- 'web/.storybook/**'
- 'web/**/*.{css,scss}'
- 'web/i18n/**'
- 'web/package.json'
- 'web/package-lock.json'
- '.github/workflows/chromatic.yml'
pull_request: pull_request:
paths: paths:
- web/** - 'web/components/**'
- 'web/stories/**'
- 'web/.storybook/**'
- 'web/**/*.{css,scss}'
- 'web/i18n/**'
- 'web/package.json'
- 'web/package-lock.json'
- '.github/workflows/chromatic.yml'
# List of jobs # List of jobs
jobs: jobs:
+14 -4
View File
@@ -14,13 +14,23 @@ name: 'CodeQL'
on: on:
push: push:
branches: [develop] branches: [develop]
paths-ignore: paths:
- 'static/**' - '**.go'
- 'go.mod'
- 'go.sum'
- 'web/**/*.{js,ts,tsx,jsx}'
- '.github/workflows/codeql-analysis.yml'
- '.github/codeql/**'
pull_request: pull_request:
# The branches below must be a subset of the branches above # The branches below must be a subset of the branches above
branches: [develop] branches: [develop]
paths-ignore: paths:
- 'static/**' - '**.go'
- 'go.mod'
- 'go.sum'
- 'web/**/*.{js,ts,tsx,jsx}'
- '.github/workflows/codeql-analysis.yml'
- '.github/codeql/**'
jobs: jobs:
analyze: analyze:
+12 -4
View File
@@ -9,11 +9,19 @@
name: Lint name: Lint
on: on:
push: push:
paths-ignore: paths:
- 'web/**' - '**.go'
- 'go.mod'
- 'go.sum'
- '.golangci.yml'
- '.github/workflows/go-lint.yml'
pull_request: pull_request:
paths-ignore: paths:
- 'web/**' - '**.go'
- 'go.mod'
- 'go.sum'
- '.golangci.yml'
- '.github/workflows/go-lint.yml'
permissions: permissions:
contents: read contents: read
+13 -7
View File
@@ -1,8 +1,6 @@
# This workflow tests HLS video streaming functionality # This workflow tests HLS video streaming functionality
# Triggers: # Triggers:
# - Push/PR with Go file changes # - Push/PR with Go file changes or HLS test changes
# Skips:
# - Web-only changes
# Tests: # Tests:
# - Local storage backend # - Local storage backend
# - S3 storage backend (when secrets available) # - S3 storage backend (when secrets available)
@@ -12,11 +10,19 @@ name: HLS tests
on: on:
push: push:
paths-ignore: paths:
- 'web/**' - '**.go'
- 'go.mod'
- 'go.sum'
- 'test/automated/hls/**'
- '.github/workflows/hls-tests.yml'
pull_request: pull_request:
paths-ignore: paths:
- 'web/**' - '**.go'
- 'go.mod'
- 'go.sum'
- 'test/automated/hls/**'
- '.github/workflows/hls-tests.yml'
env: env:
S3_BUCKET: ${{ secrets.S3_BUCKET }} S3_BUCKET: ${{ secrets.S3_BUCKET }}
@@ -1,8 +1,9 @@
# This workflow handles Javascript formatting, linting, testing, and building # This workflow handles Javascript formatting, linting, testing, and building
# Triggers: # Triggers:
# - Push/PR with changes to web/ directory # - Push/PR with changes to web/ directory source code
# Skips: # Skips:
# - Markdown files # - Markdown files
# - Static/generated files
# Jobs: # Jobs:
# 1. formatting: ESLint and Prettier formatting # 1. formatting: ESLint and Prettier formatting
# 2. unused-code: Knip checks for unused code and dependencies # 2. unused-code: Knip checks for unused code and dependencies
@@ -14,13 +15,25 @@ name: Javascript
on: on:
push: push:
paths: paths:
- web/** - 'web/**/*.{js,ts,tsx,jsx,json,css,scss}'
- '!**.md' - 'web/package.json'
- 'web/package-lock.json'
- 'web/.eslintrc.js'
- 'web/.prettierrc.js'
- 'web/tsconfig.json'
- 'web/next.config.js'
- '.github/workflows/javascript-format-test-build.yml'
pull_request: pull_request:
paths: paths:
- web/** - 'web/**/*.{js,ts,tsx,jsx,json,css,scss}'
- '!**.md' - 'web/package.json'
- 'web/package-lock.json'
- 'web/.eslintrc.js'
- 'web/.prettierrc.js'
- 'web/tsconfig.json'
- 'web/next.config.js'
- '.github/workflows/javascript-format-test-build.yml'
jobs: jobs:
formatting: formatting: