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:
committed by
GitHub
parent
4a1b203f24
commit
3d9d2f31e9
@@ -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:
|
||||
|
||||
@@ -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:
|
||||
|
||||
Reference in New Issue
Block a user