Skip to content
Draft
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
35 changes: 13 additions & 22 deletions .github/workflows/smoketest.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -14,14 +14,12 @@
statuses: read # Required for checking if all commit statuses are "success" in order to deploy the PR

jobs:
permission-check:
Linux:
runs-on: ubuntu-latest
environment: smoketest
if: github.event.issue.pull_request # Make sure the comment is on a PR
outputs:
allowed: ${{ steps.branch-deploy.outputs.continue }}
steps:
- name: branch-deploy
- name: Branch Deploy
id: branch-deploy
uses: github/branch-deploy@48285b12b35e47e2dde0c27d2abb33daa846d98b # v11.0.0
with:
Expand All @@ -31,54 +29,47 @@
stable_branch: "main"
update_branch: "disabled"

run-tests:
runs-on: ubuntu-latest
environment: smoketest
needs: permission-check
if: needs.permission-check.outputs.allowed == 'true'
steps:
- name: Setup Python
- if: steps.branch-deploy.outputs.continue == "true"
name: Setup Python
Comment on lines +32 to +33
Copy link

Copilot AI Dec 5, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[nitpick] The if conditional should be placed after the name field in the step definition, not before it. While GitHub Actions is sometimes forgiving about field order, the standard convention is:

- name: Setup Python
  if: steps.branch-deploy.outputs.continue == 'true'
  uses: actions/setup-python@v5
  with:
    python-version: '3.11'

This ensures better readability and follows GitHub Actions best practices.

See below for a potential fix:

      - name: Setup Python
        if: steps.branch-deploy.outputs.continue == "true"
        uses: actions/setup-python@v5
        with:
          python-version: '3.11'

      - name: Checkout the repo
        if: steps.branch-deploy.outputs.continue == "true"
        uses: actions/checkout@v6
        with:
          ref: ${{ steps.branch-deploy.outputs.sha }}

      - name: Setup Python venv
        if: steps.branch-deploy.outputs.continue == "true"
        run: |
          python -m venv .venv
          source .venv/bin/activate
          python -m pip install hatch

      - name: Run tests
        if: steps.branch-deploy.outputs.continue == "true"

Copilot uses AI. Check for mistakes.
uses: actions/setup-python@v5
with:
python-version: '3.11'

- name: Checkout the repo
uses: actions/checkout@v5

- name: Checkout the PR
env:
PR_NUMBER: ${{ github.event.issue.number }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
gh pr checkout $PR_NUMBER
- if: steps.branch-deploy.outputs.continue == "true"
name: Checkout the repo
Comment on lines +38 to +39
Copy link

Copilot AI Dec 5, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[nitpick] The if conditional should be placed after the name field. Consider:

- name: Checkout the repo
  if: steps.branch-deploy.outputs.continue == 'true'
  uses: actions/checkout@v6
  with:
    ref: ${{ steps.branch-deploy.outputs.sha }}

See below for a potential fix:

      - name: Setup Python
        if: steps.branch-deploy.outputs.continue == "true"
        uses: actions/setup-python@v5
        with:
          python-version: '3.11'

      - name: Checkout the repo
        if: steps.branch-deploy.outputs.continue == "true"
        uses: actions/checkout@v6
        with:
          ref: ${{ steps.branch-deploy.outputs.sha }}

      - name: Setup Python venv
        if: steps.branch-deploy.outputs.continue == "true"
        run: |
          python -m venv .venv
          source .venv/bin/activate
          python -m pip install hatch

      - name: Run tests
        if: steps.branch-deploy.outputs.continue == "true"

Copilot uses AI. Check for mistakes.
uses: actions/checkout@v6
with:
ref: ${{ steps.branch-deploy.outputs.sha }}

- name: Setup Python venv
- if: steps.branch-deploy.outputs.continue == "true"
name: Setup Python venv
Comment on lines +44 to +45
Copy link

Copilot AI Dec 5, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[nitpick] The if conditional should be placed after the name field. Consider:

- name: Setup Python venv
  if: steps.branch-deploy.outputs.continue == 'true'
  run: |
    python -m venv .venv
    source .venv/bin/activate
    python -m pip install hatch
Suggested change
- if: steps.branch-deploy.outputs.continue == "true"
name: Setup Python venv
- name: Setup Python venv
if: steps.branch-deploy.outputs.continue == "true"

Copilot uses AI. Check for mistakes.
run: |
python -m venv .venv
source .venv/bin/activate
python -m pip install hatch

- name: Run tests
- if: steps.branch-deploy.outputs.continue == "true"
Comment on lines +44 to +51

Check failure

Code scanning / CodeQL

Untrusted Checkout TOCTOU Critical

Insufficient protection against execution of untrusted code on a privileged workflow (
issue_comment
).
name: Run tests
Comment on lines +51 to +52
Copy link

Copilot AI Dec 5, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[nitpick] The if conditional should be placed after the name field. Consider:

- name: Run tests
  if: steps.branch-deploy.outputs.continue == 'true'
  env:
    AI_API_TOKEN: ${{ secrets.AI_API_TOKEN }}
    GITHUB_AUTH_HEADER: "Bearer ${{ secrets.GITHUB_TOKEN }}"
  run: |
    ...

See below for a potential fix:

      - name: Setup Python
        if: steps.branch-deploy.outputs.continue == "true"
        uses: actions/setup-python@v5
        with:
          python-version: '3.11'

      - name: Checkout the repo
        if: steps.branch-deploy.outputs.continue == "true"
        uses: actions/checkout@v6
        with:
          ref: ${{ steps.branch-deploy.outputs.sha }}

      - name: Setup Python venv
        if: steps.branch-deploy.outputs.continue == "true"
        run: |
          python -m venv .venv
          source .venv/bin/activate
          python -m pip install hatch

      - name: Run tests
        if: steps.branch-deploy.outputs.continue == "true"

Copilot uses AI. Check for mistakes.
env:
AI_API_TOKEN: ${{ secrets.AI_API_TOKEN }}
GITHUB_AUTH_HEADER: "Bearer ${{ secrets.GITHUB_TOKEN }}"

run: |
source .venv/bin/activate
hatch build
hatch run main -p seclab_taskflow_agent.personalities.assistant 'explain modems to me please'
hatch run main -p seclab_taskflow_agent.personalities.c_auditer 'explain modems to me please'
hatch run main -p examples.personalities.echo 'explain modems to me please'
hatch run main -t examples.taskflows.CVE-2023-2283
hatch run main -t examples.taskflows.echo
hatch run main -t examples.taskflows.example
hatch run main -t examples.taskflows.example_globals
hatch run main -t examples.taskflows.example_inputs
hatch run main -t examples.taskflows.example_large_list_result_iter
hatch run main -t examples.taskflows.example_repeat_prompt
hatch run main -t examples.taskflows.example_repeat_prompt_async
hatch run main -t examples.taskflows.example_repeat_prompt_dictionary
hatch run main -t examples.taskflows.example_reusable_prompt
hatch run main -t examples.taskflows.example_reusable_taskflows
hatch run main -t examples.taskflows.example_triage_taskflow
hatch run main -t examples.taskflows.single_step_taskflow