feat(ci): skip ci test jobs when no relevant changes (#5545)

* feat(ci): skip server on no changes?

* feat(ci): skip server on no changes

* feat(ci): disable skipping

* test

* feat: add package dependencies for ci skipping

* fix

* test server change

* test

* fix: outputs

* test

* another test for shared

* fix: frontend trigger

* feat: undo change and sha ref
This commit is contained in:
Daniel Gak Anagrov
2025-09-24 18:13:38 +02:00
committed by GitHub
parent 4a1b203f24
commit 3d9d2f31e9
2 changed files with 69 additions and 0 deletions
+1
View File
@@ -26,6 +26,7 @@ jobs:
IMAGE_VERSION_TAG: ${{ needs.get-version.outputs.IMAGE_VERSION_TAG }}
DOCKERHUB_USERNAME: 'speckledevops'
CONTINUE_ON_ERROR: ${{ startsWith(github.ref, 'refs/heads/testing') }} # allows releasing on testing even if test fail
DISABLE_SKIPPING: ${{ startsWith(github.ref, 'refs/heads/main') }} # disable test skip on main
secrets: inherit
builds:
+68
View File
@@ -13,6 +13,10 @@ on:
required: false
default: false
type: boolean
DISABLE_SKIPPING:
required: false
default: false
type: boolean
secrets:
LICENSE_TOKEN:
required: true
@@ -30,6 +34,52 @@ on:
required: true
jobs:
changes:
name: Get modified files
runs-on: blacksmith
outputs:
server: ${{ steps.changes.outputs.server }}
frontend-2: ${{ steps.changes.outputs.frontend-2 }}
preview-service: ${{ steps.changes.outputs.preview-service }}
viewer: ${{ steps.changes.outputs.viewer }}
ui-components: ${{ steps.changes.outputs.ui-components }}
objectsender: ${{ steps.changes.outputs.objectsender }}
shared: ${{ steps.changes.outputs.shared }}
steps:
- uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36
id: changes
with:
filters: |
server:
- 'packages/server/**'
- 'packages/shared/**'
- 'packages/objectloader2/**'
frontend-2:
- 'packages/frontend-2/**'
- 'packages/shared/**'
- 'packages/tailwind-theme/**'
- 'packages/ui-components/**'
- 'packages/ui-components-nuxt/**'
- 'packages/viewer/**'
- 'packages/objectloader2/**'
preview-service:
- 'packages/preview-service/**'
- 'packages/objectloader2/**'
- 'packages/preview-frontend/**'
- 'packages/shared/**'
- 'packages/viewer/**'
viewer:
- 'packages/viewer/**'
- 'packages/shared/**'
ui-components:
- 'packages/ui-components/**'
- 'packages/shared/**'
objectsender:
- 'packages/objectsender/**'
- 'packages/shared/**'
shared:
- 'packages/shared/**'
lint-and-prettier:
name: Lint and prettier
runs-on: blacksmith-4vcpu-ubuntu-2404
@@ -75,6 +125,8 @@ jobs:
test-frontend-2:
name: Frontend
runs-on: blacksmith-4vcpu-ubuntu-2404
needs: changes
if: ${{ needs.changes.outputs.frontend-2 == 'true' || inputs.DISABLE_SKIPPING }}
continue-on-error: ${{ inputs.CONTINUE_ON_ERROR }}
steps:
- uses: actions/checkout@v4.2.2
@@ -93,6 +145,8 @@ jobs:
test-viewer:
name: Viewer
runs-on: blacksmith-4vcpu-ubuntu-2404
needs: changes
if: ${{ needs.changes.outputs.viewer == 'true' || inputs.DISABLE_SKIPPING }}
continue-on-error: ${{ inputs.CONTINUE_ON_ERROR }}
steps:
- uses: actions/checkout@v4.2.2
@@ -120,6 +174,8 @@ jobs:
test-shared:
name: Shared
runs-on: blacksmith-4vcpu-ubuntu-2404
needs: changes
if: ${{ needs.changes.outputs.shared == 'true' || inputs.DISABLE_SKIPPING }}
continue-on-error: ${{ inputs.CONTINUE_ON_ERROR }}
steps:
- uses: actions/checkout@v4.2.2
@@ -157,6 +213,8 @@ jobs:
test-objectsender:
name: Object Sender
runs-on: blacksmith-4vcpu-ubuntu-2404
needs: changes
if: ${{ needs.changes.outputs.objectsender == 'true' || inputs.DISABLE_SKIPPING }}
continue-on-error: ${{ inputs.CONTINUE_ON_ERROR }}
steps:
- uses: actions/checkout@v4.2.2
@@ -181,6 +239,8 @@ jobs:
test-ui-components:
name: UI Components
runs-on: blacksmith-4vcpu-ubuntu-2404
needs: changes
if: ${{ needs.changes.outputs.ui-components == 'true' || inputs.DISABLE_SKIPPING }}
continue-on-error: ${{ inputs.CONTINUE_ON_ERROR }}
steps:
- uses: actions/checkout@v4.2.2
@@ -208,6 +268,8 @@ jobs:
test-preview-service:
name: Preview service
runs-on: blacksmith-4vcpu-ubuntu-2404
needs: changes
if: ${{ needs.changes.outputs.preview-service == 'true' || inputs.DISABLE_SKIPPING }}
continue-on-error: ${{ inputs.CONTINUE_ON_ERROR }}
container:
image: ghcr.io/specklesystems/speckle-ubuntu-chromium:latest
@@ -257,6 +319,8 @@ jobs:
test-server:
name: Server
runs-on: blacksmith-8vcpu-ubuntu-2404
needs: changes
if: ${{ needs.changes.outputs.server == 'true' || inputs.DISABLE_SKIPPING }}
continue-on-error: ${{ inputs.CONTINUE_ON_ERROR }}
services:
redis:
@@ -352,6 +416,8 @@ jobs:
test-server-no-ff:
name: Server no ff
runs-on: blacksmith-8vcpu-ubuntu-2404
needs: changes
if: ${{ needs.changes.outputs.server == 'true' || inputs.DISABLE_SKIPPING }}
continue-on-error: ${{ inputs.CONTINUE_ON_ERROR }}
services:
redis:
@@ -436,6 +502,8 @@ jobs:
test-server-multiregion:
name: Server multiregion
needs: changes
if: ${{ needs.changes.outputs.server == 'true' || inputs.DISABLE_SKIPPING }}
continue-on-error: ${{ inputs.CONTINUE_ON_ERROR }}
runs-on: blacksmith-4vcpu-ubuntu-2404
services: