GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — [ENHANCEMENT, `robot.toml`] Make `no-status-rc` accept conditions (like `enabled` does) · Issue #482 · robotcodedev/robotcode

[ENHANCEMENT, robot.toml] Make no-status-rc accept conditions (like enabled does) #482

New issue
Copy link
New issue
Copy link
Open
Feature
#634
Open
[ENHANCEMENT, robot.toml] Make no-status-rc accept conditions (like enabled does)#482
Feature
#634
Copy link
Labels
enhancementNew feature or requestNew feature or requestgood first issueGood for newcomers who wants to contribute codeGood for newcomers who wants to contribute code

Description

@Noordsestern
Noordsestern
opened on Jul 31, 2025
Issue body actions

Gude!

I have a profile that I'd like to active in CI environment:

[profiles.ci]
enabled = { if = "environ.get('CI') == 'true'" }
no-status-rc = { if = "environ.get('CI_COMMIT_REF_NAME') == 'main'" }

The profile is automatically enabled when the environment variable CI is set. Which is awesome. Now depending on the branch ci is working on, want the status-rc to be returned or not.

Now, I can duplicate the CI-job, but it would be very convenient when boolean configurtions (like no-status-rc) would accept conditions just like enabled.

Background:
feature branches must fail an be reviewed before being merged. Test runs on main must not fail the pipeline, as their results are reported in test reporting tool.

Regards

Activity

  1. Noordsestern
    added
    enhancementNew feature or requestNew feature or request
    on Jul 31, 2025
  2. Noordsestern
    changed the title [-][ENHANCEMENT, `robot.toml] Make `no-status-rc` accept conditions (like `enabled`) does[/-] [+][ENHANCEMENT, `robot.toml`] Make `no-status-rc` accept conditions (like `enabled`) does[/+] on Jul 31, 2025
  3. Noordsestern
    changed the title [-][ENHANCEMENT, `robot.toml`] Make `no-status-rc` accept conditions (like `enabled`) does[/-] [+][ENHANCEMENT, `robot.toml`] Make `no-status-rc` accept conditions (like `enabled` does)[/+] on Jul 31, 2025
  4. Noordsestern
    added the
    Feature
    issue type on Jul 31, 2025
  5. Noordsestern
    added
    good first issueGood for newcomers who wants to contribute codeGood for newcomers who wants to contribute code
    on Jul 31, 2025
  6. d-biehl commented on Jul 31, 2025

    @d-biehl
    d-biehl
    on Jul 31, 2025
    Member
    More actions

    Yes, I can see that I need to make a plan for whether to implement this as a Condition or as a BoolExpression, since it's a flag and can also have the values ON, OFF, DEFAULT.

    What do you mean by duplicating the CI job?

    I think something like this could also work:

    [profiles.ci-main]
    enabled = { if = "environ.get('CI') == 'true' and environ.get('CI_COMMIT_REF_NAME') == 'main'" }
    no-status-rc = true
    
    [profiles.ci-branch]
    enabled = { if = "environ.get('CI') == 'true' and environ.get('CI_COMMIT_REF_NAME') != 'main'" }
    no-status-rc = false
    Reacted by Markus
  7. Noordsestern commented on Jul 31, 2025

    @Noordsestern
    Noordsestern
    on Jul 31, 2025
    MemberAuthor
    More actions

    Just had a similar idea after i had posted about duplicating the job 😬

    #######
    # CI related profiles
    #######
    
    [profiles.ci]
    enabled = { if = "environ.get('CI', False)" }
    inherits = ["headless", "only-on-main", "never-on-main"]
    
    [profiles.only-on-main]
    hidden=true
    enabled = { if = "environ.get('CI_COMMIT_REF_NAME') == 'main'" }
    no-status-rc = true
    
    [profiles.never-on-main]
    hidden=true
    enabled = { if = "environ.get('CI_COMMIT_REF_NAME') != 'main'" }
    no-status-rc = false

    What I did not take in to account is that I still have to provide ci on commandline. I had expected the enabled properties being evaluated automatically.

    So above config works when executing robotcode -p ci ...... in pipeline. It automatically detects which one of the other 2 profiles must be enabled.

  8. d-biehl commented on Jul 31, 2025

    @d-biehl
    d-biehl
    on Jul 31, 2025
    Member
    More actions

    You have to use the default-profiles setting.

    https://robotcode.io/03_reference/config#default-profiles

  9. Pan-Pankracy commented on Mar 8, 2026

    @Pan-Pankracy
    Pan-Pankracy
    on Mar 8, 2026
    More actions

    Hi guys,

    is this issue still free?
    I'm looking for my first beginner-friendly open source contribution and would like to do some "learning by contributing".
    I don't see any other "good first issues", so if this one is taken, it would be very kind to advise me here.

    Thanks and kind regards
    Beste Grüße

    Christian

  10. axisrow commented on Jul 12, 2026

    @axisrow
    axisrow
    on Jul 12, 2026
    More actions

    @d-biehl I found a direct solution for the configuration requested in this issue and opened draft PR #634.

    default-profiles = ["ci"]
    
    [profiles.ci]
    enabled = { if = "environ.get('CI') == 'true'" }
    no-status-rc = { if = "environ.get('CI_COMMIT_REF_NAME') == 'main'" }

    This uses a single ci profile and requires no duplicated jobs or helper profiles. With CI=true, a failing Robot run exits with 0 on main and retains the failure exit code on feature branches.

    The implementation reuses the existing Condition { if = ... } evaluation path. Existing true, false, on, off, and default values remain unchanged. The behavior is covered end to end across all supported Robot Framework versions.

  11. axisrow commented on Jul 18, 2026

    @axisrow
    axisrow
    on Jul 18, 2026
    More actions

    Hey @d-biehl — following up on PR #634, which is now ready for review.

    Could you give a clear call on whether you want this merged via the Condition approach? If yes, please approve running the CI workflows so checks can run. If not, feel free to close the PR and I'll step aside.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requestNew feature or requestgood first issueGood for newcomers who wants to contribute codeGood for newcomers who wants to contribute code

    Type

    Feature

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions

      You are visitor 01402503 — GeezerVison does not store the pages you look up.
      Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.