Files
cull-gmail/.circleci/config.yml
Jeremiah Russell 00091fda60 ci: enable update_pcu in label job to test fix
Temporarily enable update_pcu to install pcu from GitHub main branch
to test the fix for the label_next_pr filter bug.

Signed-off-by: Jeremiah Russell <jrussell@jerus.ie>

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Signed-off-by: Jeremiah Russell <jerry@jrussell.ie>
2026-01-12 22:19:01 +00:00

146 lines
4.5 KiB
YAML

version: 2.1
parameters:
fingerprint:
type: string
default: SHA256:OkxsH8Z6Iim6WDJBaII9eTT9aaO1f3eDc6IpsgYYPVg
min_rust_version:
type: string
default: "1.88"
release_flag:
type: boolean
default: false
description: "If true, the release workflow will be executed."
success_flag:
type: boolean
default: false
description: "If true, the success pipeline will be executed."
validation_flag:
type: boolean
default: false
description: "If true, the validation pipeline will be executed."
orbs:
toolkit: jerus-org/circleci-toolkit@4.2.1
# Custom executors removed - using toolkit rolling executors instead
workflows:
check_last_commit:
when:
and:
- not:
equal: [scheduled_pipeline, << pipeline.trigger_source >>]
- not: << pipeline.parameters.success_flag >>
- not: << pipeline.parameters.release_flag >>
- not: << pipeline.parameters.validation_flag >>
jobs:
- toolkit/choose_pipeline:
name: choose pipeline based on committer
context: bot-check
validation:
when:
and:
- not:
equal: [scheduled_pipeline, << pipeline.trigger_source >>]
- not: << pipeline.parameters.success_flag >>
- << pipeline.parameters.validation_flag >>
- not: << pipeline.parameters.release_flag >>
jobs:
- toolkit/label:
min_rust_version: << pipeline.parameters.min_rust_version >>
context: pcu-app
update_pcu: true
filters:
branches:
only:
- main
- toolkit/required_builds:
min_rust_version: << pipeline.parameters.min_rust_version >>
- toolkit/optional_builds:
min_rust_version: << pipeline.parameters.min_rust_version >>
- toolkit/test_doc_build:
min_rust_version: << pipeline.parameters.min_rust_version >>
- toolkit/common_tests:
min_rust_version: << pipeline.parameters.min_rust_version >>
test_runner: nextest
nextest_profile: ci
post-steps:
- store_test_results:
path: target/nextest/ci/junit.xml
- toolkit/idiomatic_rust:
min_rust_version: << pipeline.parameters.min_rust_version >>
- toolkit/security:
context: SonarCloud
ignore_advisories: RUSTSEC-2025-0066
- toolkit/update_prlog:
filters:
branches:
ignore:
- main
requires:
- toolkit/required_builds
- toolkit/test_doc_build
- toolkit/idiomatic_rust
- toolkit/security
- toolkit/common_tests
context:
- release
- bot-check
ssh_fingerprint: << pipeline.parameters.fingerprint >>
min_rust_version: << pipeline.parameters.min_rust_version >>
on_success:
when:
and:
- not:
equal: [scheduled_pipeline, << pipeline.trigger_source >>]
- << pipeline.parameters.success_flag >>
- not: << pipeline.parameters.validation_flag >>
- not: << pipeline.parameters.release_flag >>
jobs:
- toolkit/end_success
release:
when:
and:
- or:
- and:
- equal: [scheduled_pipeline, << pipeline.trigger_source >>]
- equal: ["release check", << pipeline.schedule.name >>]
- << pipeline.parameters.release_flag >>
- not: << pipeline.parameters.success_flag >>
- not: << pipeline.parameters.validation_flag >>
jobs:
- toolkit/save_next_version:
min_rust_version: << pipeline.parameters.min_rust_version >>
- toolkit/make_release:
requires:
- toolkit/save_next_version
pre-steps:
- attach_workspace:
at: /tmp/workspace
- run:
name: Set SEMVER based on next-version file
command: |
set +ex
export SEMVER=$(cat /tmp/workspace/next-version)
echo $SEMVER
echo "export SEMVER=$SEMVER" >> "$BASH_ENV"
context:
- release
- bot-check
ssh_fingerprint: << pipeline.parameters.fingerprint >>
min_rust_version: << pipeline.parameters.min_rust_version >>
when_get_version: false
- toolkit/no_release:
min_rust_version: << pipeline.parameters.min_rust_version >>
requires:
- toolkit/save_next_version:
- failed