Skip to content

Commit

Permalink
ci: build offline installers when pipeline is scheduled (nomic-ai#3436)
Browse files Browse the repository at this point in the history
Signed-off-by: Jared Van Bortel <[email protected]>
  • Loading branch information
cebtenzzre authored and cgivre committed Feb 4, 2025
1 parent 0db1651 commit 92ada07
Showing 1 changed file with 77 additions and 42 deletions.
119 changes: 77 additions & 42 deletions .circleci/continue_config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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:
Expand All @@ -1879,21 +1887,68 @@ 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:
<<: *job_allow_tags
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
Expand All @@ -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:
Expand All @@ -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
Expand Down Expand Up @@ -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
Expand Down Expand Up @@ -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
Expand All @@ -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
Expand All @@ -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
Expand Down

0 comments on commit 92ada07

Please sign in to comment.