Skip to content

Conversation

Copy link

Copilot AI commented Jul 27, 2025

The GitHub Actions CI workflows were failing when building asmoses and moses components with the error:

CMake Error: The source directory "/__w/opencog-central/asmoses" does not appear to contain CMakeLists.txt.
Specify --help for usage, or press the help button on the CMake GUI.
Error: Process completed with exit code 1.

Root Cause

The CI workflows (ci-org-generalized.yml, ci-org-v7.yml, ci-org-v8.yml) were attempting to clone external repositories for asmoses and moses components, but these components already exist as local directories in the opencog-central monorepo. The complex git repository detection logic was:

  1. Finding existing local asmoses/moses directories
  2. Detecting they weren't git repositories
  3. Backing up and removing the local directories
  4. Cloning external repositories
  5. Failing during the cmake build step due to path issues

Solution

Refactored all affected workflows to build the local asmoses and moses components directly instead of cloning external repositories:

  • ci-org-generalized.yml: Simplified both asmoses and moses build steps (removed 130+ lines of complex git logic per component)
  • ci-org-v7.yml: Fixed asmoses build to use local component
  • ci-org-v8.yml: Fixed both asmoses and moses builds to use local components

The new build logic:

- name: Build and Install asmoses
  run: |
    COMPONENT="asmoses"
    if [ -d "$COMPONENT" ]; then
      mkdir -p "$COMPONENT/build"
      cd "$COMPONENT/build"
      cmake -DCMAKE_BUILD_TYPE=Release ..
      make -j2
      sudo make install
      sudo ldconfig
      cd ../..
    else
      echo "ERROR: Local $COMPONENT directory not found!"
      exit 1
    fi

Benefits

  • Eliminates the CMakeLists.txt not found errors
  • Reduces workflow complexity and maintenance burden
  • Ensures consistent behavior across all CI workflows
  • Builds from the actual monorepo components rather than external dependencies
  • Maintains proper build order and dependency structure

All modified workflows have been validated for YAML syntax and no external clone references remain for asmoses/moses components.

Fixes #7.


💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.

Copilot AI and others added 2 commits July 27, 2025 00:36
…g external repos

Co-authored-by: drzo <15202748+drzo@users.noreply.github.com>
Co-authored-by: drzo <15202748+drzo@users.noreply.github.com>
Copilot AI changed the title [WIP] fix github action generalized asmoses & moses Fix GitHub Actions build failures for asmoses & moses components Jul 27, 2025
Copilot AI requested a review from drzo July 27, 2025 00:44
Copilot finished work on behalf of drzo July 27, 2025 00:44
Copy link

@drzo drzo left a comment

Choose a reason for hiding this comment

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

good times

@drzo drzo marked this pull request as ready for review July 27, 2025 00:46
@drzo drzo merged commit 898b707 into main Jul 27, 2025
1 of 6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

fix github action generalized asmoses & moses

2 participants