From 818afda28425f457599607c5b9be87f9528e00a9 Mon Sep 17 00:00:00 2001 From: Daniel Gak Anagrov Date: Mon, 6 Oct 2025 14:27:33 +0200 Subject: [PATCH] Revert "feat(ci): skip builds on pr when no files modified (#5637)" (#5670) This reverts commit db8f5754a6e780e982e8e70ff6537a37e07f4e53. --- .github/workflows/builds.yml | 41 ------------ .github/workflows/pull-request.yml | 87 +----------------------- .github/workflows/release.yml | 1 + .github/workflows/tests.yml | 103 +++++++++++++++++++---------- 4 files changed, 72 insertions(+), 160 deletions(-) diff --git a/.github/workflows/builds.yml b/.github/workflows/builds.yml index 9fa76995b..bc4b26f9d 100644 --- a/.github/workflows/builds.yml +++ b/.github/workflows/builds.yml @@ -23,38 +23,6 @@ on: required: false type: boolean default: false - SKIP_SERVER: - required: false - default: false - type: boolean - SKIP_FRONTEND_2: - required: false - default: false - type: boolean - SKIP_PREVIEW_SERVICE: - required: false - default: false - type: boolean - SKIP_WEBHOOK_SERVICE: - required: false - default: false - type: boolean - SKIP_FILEIMPORT_SERVICE: - required: false - default: false - type: boolean - SKIP_IFC_IMPORT_SERVICE: - required: false - default: false - type: boolean - SKIP_MONITOR_DEPLOYMENT: - required: false - default: false - type: boolean - SKIP_UTILS: - required: false - default: false - type: boolean secrets: DATADOG_API_KEY: required: true @@ -65,7 +33,6 @@ jobs: docker-build-server: runs-on: blacksmith-4vcpu-ubuntu-2404 name: Server - if: ${{ inputs.SKIP_SERVER == 'false' }} steps: - name: Login to Helm Chart & Container Image Registry uses: docker/login-action@v3 @@ -96,7 +63,6 @@ jobs: docker-build-frontend2: runs-on: blacksmith-8vcpu-ubuntu-2404 name: Frontend2 - if: ${{ inputs.SKIP_FRONTEND_2 == 'false' }} steps: - name: Login to Helm Chart & Container Image Registry uses: docker/login-action@v3 @@ -126,7 +92,6 @@ jobs: docker-build-preview-service: runs-on: blacksmith-4vcpu-ubuntu-2404 name: Preview service - if: ${{ inputs.SKIP_PREVIEW_SERVICE == 'false' }} steps: - name: Login to Helm Chart & Container Image Registry uses: docker/login-action@v3 @@ -146,7 +111,6 @@ jobs: docker-build-webhook-service: runs-on: blacksmith-4vcpu-ubuntu-2404 name: Webhook service - if: ${{ inputs.SKIP_WEBHOOK_SERVICE == 'false' }} steps: - name: Login to Helm Chart & Container Image Registry uses: docker/login-action@v3 @@ -166,7 +130,6 @@ jobs: docker-build-fileimport-service: runs-on: blacksmith-4vcpu-ubuntu-2404 name: File import service - if: ${{ inputs.SKIP_FILEIMPORT_SERVICE == 'false' }} steps: - name: Login to Helm Chart & Container Image Registry uses: docker/login-action@v3 @@ -186,7 +149,6 @@ jobs: docker-build-ifc-import-service: runs-on: blacksmith-4vcpu-ubuntu-2404 name: IFC import service - if: ${{ inputs.SKIP_IFC_IMPORT_SERVICE == 'false' }} steps: - name: Login to Helm Chart & Container Image Registry uses: docker/login-action@v3 @@ -206,7 +168,6 @@ jobs: docker-build-test-deploy: runs-on: blacksmith-4vcpu-ubuntu-2404 name: Test deploy util - if: ${{ inputs.SKIP_UTILS == 'false' }} steps: - name: Login to Helm Chart & Container Image Registry uses: docker/login-action@v3 @@ -226,7 +187,6 @@ jobs: docker-build-monitor-deployment: runs-on: blacksmith-4vcpu-ubuntu-2404 name: monitor container - if: ${{ inputs.SKIP_MONITOR_DEPLOYMENT == 'false' }} steps: - name: Login to Helm Chart & Container Image Registry uses: docker/login-action@v3 @@ -246,7 +206,6 @@ jobs: docker-build-docker-compose-ingress: runs-on: blacksmith-4vcpu-ubuntu-2404 name: Docker compose ingress - if: ${{ inputs.SKIP_UTILS == 'false' }} steps: - name: Login to Helm Chart & Container Image Registry uses: docker/login-action@v3 diff --git a/.github/workflows/pull-request.yml b/.github/workflows/pull-request.yml index a27337f49..983cd0396 100644 --- a/.github/workflows/pull-request.yml +++ b/.github/workflows/pull-request.yml @@ -11,85 +11,14 @@ jobs: name: Get version uses: ./.github/workflows/get-version.yml - 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: actions/checkout@v4.2.2 - with: - fetch-depth: 0 - - 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/**' - webhook-service: - - 'packages/webhook-service/**' - - 'packages/shared/**' - fileimport-service: - - 'packages/fileimport-service/**' - - 'packages/shared/**' - ifc-import-service: - - 'packages/ifc-import-service/**' - - 'packages/shared/**' - monitor-deployment: - - 'packages/monitor-deployment/**' - - 'packages/shared/**' - utils: - - 'utils/**' - tests: - needs: [get-version, changes] + needs: [get-version] uses: ./.github/workflows/tests.yml - with: - # skipping logic only on prs - SKIP_SERVER: ${{ needs.changes.outputs.server == 'false' }} - SKIP_FRONTEND_2: ${{ needs.changes.outputs.frontend-2 == 'false' }} - SKIP_PREVIEW_SERVICE: ${{ needs.changes.outputs.preview-service == 'false' }} - SKIP_VIEWER: ${{ needs.changes.outputs.viewer == 'false' }} - SKIP_UI_COMPONENTS: ${{ needs.changes.outputs.ui-components == 'false' }} - SKIP_OBJECTSENDER: ${{ needs.changes.outputs.objectsender == 'false' }} - SKIP_SHARED: ${{ needs.changes.outputs.shared == 'false' }} + with: {} secrets: inherit builds: - needs: [get-version, changes] + needs: [get-version] uses: ./.github/workflows/builds.yml with: IMAGE_VERSION_TAG: ${{ needs.get-version.outputs.IMAGE_VERSION_TAG }} @@ -98,16 +27,6 @@ jobs: # REGISTRY_DOMAIN, REGISTRY_USERNAME, REGISTRY_TOKEN must be configured to match the below IMAGE_PREFIX IMAGE_PREFIX: 'ghcr.io/specklesystems' PUBLISH: false # do not publish the sourcemaps or include the version in frontend-2 builds for pull requests - - # skipping logic only on prs - SKIP_SERVER: ${{ needs.changes.outputs.server == 'false' }} - SKIP_FRONTEND_2: ${{ needs.changes.outputs.frontend-2 == 'false' }} - SKIP_PREVIEW_SERVICE: ${{ needs.changes.outputs.preview-service == 'false' }} - SKIP_WEBHOOK_SERVICE: ${{ needs.changes.outputs.webhook-service == 'false' }} - SKIP_FILEIMPORT_SERVICE: ${{ needs.changes.outputs.fileimport-service == 'false' }} - SKIP_IFC_IMPORT_SERVICE: ${{ needs.changes.outputs.ifc-import-service == 'false' }} - SKIP_MONITOR_DEPLOYMENT: ${{ needs.changes.outputs.monitor-deployment == 'false' }} - SKIP_UTILS: ${{ needs.changes.outputs.utils == 'false' }} secrets: DATADOG_API_KEY: ${{ secrets.DATADOG_API_KEY }} REGISTRY_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 5d59a0679..eba902a30 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -28,6 +28,7 @@ jobs: uses: ./.github/workflows/tests.yml with: 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: diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 8a3302345..4f8da8345 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -7,35 +7,10 @@ on: required: false default: false type: boolean - SKIP_SERVER: + DISABLE_SKIPPING: required: false default: false type: boolean - SKIP_FRONTEND_2: - required: false - default: false - type: boolean - SKIP_PREVIEW_SERVICE: - required: false - default: false - type: boolean - SKIP_VIEWER: - required: false - default: false - type: boolean - SKIP_UI_COMPONENTS: - required: false - default: false - type: boolean - SKIP_OBJECTSENDER: - required: false - default: false - type: boolean - SKIP_SHARED: - required: false - default: false - type: boolean - secrets: LICENSE_TOKEN: required: true @@ -51,6 +26,55 @@ 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: actions/checkout@v4.2.2 + with: + fetch-depth: 0 + - 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 @@ -96,7 +120,8 @@ jobs: test-frontend-2: name: Frontend runs-on: blacksmith-4vcpu-ubuntu-2404 - if: ${{ inputs.SKIP_FRONTEND_2 == 'false' }} + 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 @@ -118,7 +143,8 @@ jobs: test-viewer: name: Viewer runs-on: blacksmith-4vcpu-ubuntu-2404 - if: ${{ inputs.SKIP_VIEWER == 'false' }} + 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 @@ -149,7 +175,8 @@ jobs: test-shared: name: Shared runs-on: blacksmith-4vcpu-ubuntu-2404 - if: ${{ inputs.SKIP_SHARED == 'false' }} + 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 @@ -190,7 +217,8 @@ jobs: test-objectsender: name: Object Sender runs-on: blacksmith-4vcpu-ubuntu-2404 - if: ${{ inputs.SKIP_OBJECTSENDER == 'false' }} + 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 @@ -218,7 +246,8 @@ jobs: test-ui-components: name: UI Components runs-on: blacksmith-4vcpu-ubuntu-2404 - if: ${{ inputs.SKIP_UI_COMPONENTS == 'false' }} + 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 @@ -249,7 +278,8 @@ jobs: test-preview-service: name: Preview service runs-on: blacksmith-4vcpu-ubuntu-2404 - if: ${{ inputs.SKIP_PREVIEW_SERVICE == 'false' }} + 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 @@ -302,7 +332,8 @@ jobs: test-server: name: Server runs-on: blacksmith-8vcpu-ubuntu-2404 - if: ${{ inputs.SKIP_SERVER == 'false' }} + needs: changes + if: ${{ needs.changes.outputs.server == 'true' || inputs.DISABLE_SKIPPING }} continue-on-error: ${{ inputs.CONTINUE_ON_ERROR }} services: redis: @@ -401,7 +432,8 @@ jobs: test-server-no-ff: name: Server no ff runs-on: blacksmith-8vcpu-ubuntu-2404 - if: ${{ inputs.SKIP_SERVER == 'false' }} + needs: changes + if: ${{ needs.changes.outputs.server == 'true' || inputs.DISABLE_SKIPPING }} continue-on-error: ${{ inputs.CONTINUE_ON_ERROR }} services: redis: @@ -489,7 +521,8 @@ jobs: test-server-multiregion: name: Server multiregion - if: ${{ inputs.SKIP_SERVER == 'false' }} + 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: