fix(ci): use always()!failure() so builds run when test jobs are skipped
CI / build-server-core (push) Successful in 3m13s
CI / release (push) Successful in 28s
CI / server-core-test (push) Has been skipped
CI / device-agent-test (push) Has been skipped
CI / dashboard-test (push) Has been skipped
CI / build-device-agent (push) Successful in 1m47s
CI / build-dashboard (push) Successful in 57s
CI / build-docs (push) Successful in 51s

Gitea Actions skips dependent jobs when ALL needed jobs are skipped,
unlike GitHub Actions. Adding always()!failure() ensures builds run
for dev/beta tags (tests skipped) while still blocking if tests fail.
This commit is contained in:
datadunia
2026-06-17 11:48:23 +07:00
parent c23e0829cd
commit fc9afd1720
+5 -5
View File
@@ -78,35 +78,35 @@ jobs:
# --- BUILD + RELEASE (dev/beta/release tags) --- # --- BUILD + RELEASE (dev/beta/release tags) ---
build-server-core: build-server-core:
if: "!contains(gitea.ref_name, 'test')" if: always() && !contains(gitea.ref_name, 'test') && !failure()
needs: [server-core-test, device-agent-test, dashboard-test] needs: [server-core-test, device-agent-test, dashboard-test]
runs-on: ubuntu-latest runs-on: ubuntu-latest
uses: ./.gitea/workflows/build_server_core.yaml uses: ./.gitea/workflows/build_server_core.yaml
secrets: inherit secrets: inherit
build-device-agent: build-device-agent:
if: "!contains(gitea.ref_name, 'test')" if: always() && !contains(gitea.ref_name, 'test') && !failure()
needs: [server-core-test, device-agent-test, dashboard-test] needs: [server-core-test, device-agent-test, dashboard-test]
runs-on: ubuntu-latest runs-on: ubuntu-latest
uses: ./.gitea/workflows/build_device_agent.yaml uses: ./.gitea/workflows/build_device_agent.yaml
secrets: inherit secrets: inherit
build-dashboard: build-dashboard:
if: "!contains(gitea.ref_name, 'test')" if: always() && !contains(gitea.ref_name, 'test') && !failure()
needs: [server-core-test, device-agent-test, dashboard-test] needs: [server-core-test, device-agent-test, dashboard-test]
runs-on: ubuntu-latest runs-on: ubuntu-latest
uses: ./.gitea/workflows/build_dashboard.yaml uses: ./.gitea/workflows/build_dashboard.yaml
secrets: inherit secrets: inherit
build-docs: build-docs:
if: "!contains(gitea.ref_name, 'test')" if: always() && !contains(gitea.ref_name, 'test') && !failure()
needs: [server-core-test, device-agent-test, dashboard-test] needs: [server-core-test, device-agent-test, dashboard-test]
runs-on: ubuntu-latest runs-on: ubuntu-latest
uses: ./.gitea/workflows/docs_call.yaml uses: ./.gitea/workflows/docs_call.yaml
secrets: inherit secrets: inherit
release: release:
if: "!contains(gitea.ref_name, 'test')" if: always() && !contains(gitea.ref_name, 'test') && !failure()
needs: [build-server-core, build-device-agent, build-dashboard, build-docs] needs: [build-server-core, build-device-agent, build-dashboard, build-docs]
uses: ./.gitea/workflows/release_call.yaml uses: ./.gitea/workflows/release_call.yaml
with: with: