diff --git a/.circleci/continue_config.yml b/.circleci/continue_config.yml index c8bab9f13864..ca9002074679 100644 --- a/.circleci/continue_config.yml +++ b/.circleci/continue_config.yml @@ -1869,6 +1869,14 @@ job_allow_tags: &job_allow_tags only: - /.*/ +# standard chat workflow filter +workflow-when-chat-requested: &workflow-when-chat-requested + when: + and: + - or: [ << pipeline.parameters.run-all-workflows >>, << pipeline.parameters.run-chat-workflow >> ] + - not: + equal: [ << pipeline.trigger_source >>, scheduled_pipeline ] + workflows: version: 2 noop: @@ -1879,14 +1887,46 @@ workflows: - << pipeline.parameters.run-python-workflow >> - << pipeline.parameters.run-ts-workflow >> - << pipeline.parameters.run-chat-workflow >> + - equal: [ << pipeline.trigger_source >>, scheduled_pipeline ] jobs: - noop + schedule: + # only run when scheduled by CircleCI + when: + equal: [ << pipeline.trigger_source >>, scheduled_pipeline ] + jobs: + - build-offline-chat-installer-macos: + context: gpt4all + - build-offline-chat-installer-windows: + context: gpt4all + - build-offline-chat-installer-windows-arm: + context: gpt4all + - build-offline-chat-installer-linux: + context: gpt4all + - sign-online-chat-installer-macos: + context: gpt4all + requires: + - build-online-chat-installer-macos + - notarize-online-chat-installer-macos: + context: gpt4all + requires: + - sign-online-chat-installer-macos + - sign-online-chat-installer-windows: + context: gpt4all + requires: + - build-online-chat-installer-windows + - sign-online-chat-installer-windows-arm: + context: gpt4all + requires: + - build-online-chat-installer-windows-arm build-chat-installers-release: # only run on main branch tags that start with 'v' and a digit when: and: - equal: [ << pipeline.git.branch >>, main ] - matches: { pattern: '^v\d.*', value: << pipeline.git.tag >> } + - not: + equal: [ << pipeline.trigger_source >>, scheduled_pipeline ] jobs: - validate-commit-on-main - build-offline-chat-installer-macos: @@ -1894,6 +1934,21 @@ workflows: context: gpt4all requires: - validate-commit-on-main + - build-offline-chat-installer-windows: + <<: *job_allow_tags + context: gpt4all + requires: + - validate-commit-on-main + - build-offline-chat-installer-windows-arm: + <<: *job_allow_tags + context: gpt4all + requires: + - validate-commit-on-main + - build-offline-chat-installer-linux: + <<: *job_allow_tags + context: gpt4all + requires: + - validate-commit-on-main - sign-offline-chat-installer-macos: <<: *job_allow_tags context: gpt4all @@ -1904,32 +1959,32 @@ workflows: context: gpt4all requires: - sign-offline-chat-installer-macos - - build-offline-chat-installer-windows: + - sign-offline-chat-installer-windows: <<: *job_allow_tags context: gpt4all requires: - - validate-commit-on-main - - sign-offline-chat-installer-windows: + - build-offline-chat-installer-windows + - sign-offline-chat-installer-windows-arm: <<: *job_allow_tags context: gpt4all requires: - - build-offline-chat-installer-windows - - build-offline-chat-installer-windows-arm: + - build-offline-chat-installer-windows-arm + - build-online-chat-installer-macos: <<: *job_allow_tags context: gpt4all requires: - validate-commit-on-main - - sign-offline-chat-installer-windows-arm: + - build-online-chat-installer-windows: <<: *job_allow_tags context: gpt4all requires: - - build-offline-chat-installer-windows-arm - - build-offline-chat-installer-linux: + - validate-commit-on-main + - build-online-chat-installer-windows-arm: <<: *job_allow_tags context: gpt4all requires: - validate-commit-on-main - - build-online-chat-installer-macos: + - build-online-chat-installer-linux: <<: *job_allow_tags context: gpt4all requires: @@ -1944,36 +1999,18 @@ workflows: context: gpt4all requires: - sign-online-chat-installer-macos - - build-online-chat-installer-windows: - <<: *job_allow_tags - context: gpt4all - requires: - - validate-commit-on-main - sign-online-chat-installer-windows: <<: *job_allow_tags context: gpt4all requires: - build-online-chat-installer-windows - - build-online-chat-installer-windows-arm: - <<: *job_allow_tags - context: gpt4all - requires: - - validate-commit-on-main - sign-online-chat-installer-windows-arm: <<: *job_allow_tags context: gpt4all requires: - build-online-chat-installer-windows-arm - - build-online-chat-installer-linux: - <<: *job_allow_tags - context: gpt4all - requires: - - validate-commit-on-main build-chat-offline-installers: - when: - or: - - << pipeline.parameters.run-all-workflows >> - - << pipeline.parameters.run-chat-workflow >> + <<: *workflow-when-chat-requested jobs: - build-hold: type: approval @@ -2014,10 +2051,7 @@ workflows: requires: - build-hold build-chat-online-installers: - when: - or: - - << pipeline.parameters.run-all-workflows >> - - << pipeline.parameters.run-chat-workflow >> + <<: *workflow-when-chat-requested jobs: - build-hold: type: approval @@ -2058,10 +2092,7 @@ workflows: requires: - build-hold build-and-test-gpt4all-chat: - when: - or: - - << pipeline.parameters.run-all-workflows >> - - << pipeline.parameters.run-chat-workflow >> + <<: *workflow-when-chat-requested jobs: - hold: type: approval @@ -2084,14 +2115,17 @@ workflows: - or: - << pipeline.parameters.run-all-workflows >> - << pipeline.parameters.run-python-workflow >> + - not: + equal: [ << pipeline.trigger_source >>, scheduled_pipeline ] jobs: - deploy-docs: context: gpt4all build-python: when: - or: - - << pipeline.parameters.run-all-workflows >> - - << pipeline.parameters.run-python-workflow >> + and: + - or: [ << pipeline.parameters.run-all-workflows >>, << pipeline.parameters.run-python-workflow >> ] + - not: + equal: [ << pipeline.trigger_source >>, scheduled_pipeline ] jobs: - pypi-hold: <<: *job_only_main @@ -2117,9 +2151,10 @@ workflows: - build-py-macos build-bindings: when: - or: - - << pipeline.parameters.run-all-workflows >> - - << pipeline.parameters.run-ts-workflow >> + and: + - or: [ << pipeline.parameters.run-all-workflows >>, << pipeline.parameters.run-ts-workflow >> ] + - not: + equal: [ << pipeline.trigger_source >>, scheduled_pipeline ] jobs: - backend-hold: type: approval