Skip to content

Add C++ Hello World with Snakemake workflow and GitHub Actions CI#1

Merged
imallona merged 10 commits intomainfrom
copilot/add-hello-world-example
Nov 10, 2025
Merged

Add C++ Hello World with Snakemake workflow and GitHub Actions CI#1
imallona merged 10 commits intomainfrom
copilot/add-hello-world-example

Conversation

Copy link
Contributor

Copilot AI commented Nov 10, 2025

Implementation plan for C++ Hello World with Snakemake and Conda:

  • Create src folder with C++ hello world code
  • Create CMakeLists.txt for building the C++ code
  • Create env folder with conda environment file (for cmake and g++)
  • Create workflow folder with Snakefile
  • Add Snakefile rule to compile C++ code using conda environment
  • Add Snakefile rule to run the compiled executable
  • Add .gitignore for build artifacts
  • Test the setup by manual compilation
  • Fix Snakefile build logic
  • Update README with usage documentation
  • Add GitHub Actions workflow (manually triggered and on PR)
  • Configure workflow to use conda and snakemake
  • Update README with CI/CD documentation
  • Add explicit permissions to workflow for security
  • Remove build artifacts and update .gitignore
  • Fix CI/CD to use Miniforge3 (Mambaforge is deprecated)
  • Explicitly install mamba before Snakemake installation

All requirements completed successfully with CI/CD using non-deprecated Miniforge3!

Original prompt

Generate a 'src' folder including C++ (compilable with cmake, including the recipe) code to print hello world and a 'workflow' folder with a Snakefile including a rule to compile the C++ code in 'src', plus another rule to run it. The software stack should be managed using conda under snakemake, so add an env file with a conda env. Avoid using default for that conda recipe.


✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.

Copilot AI and others added 5 commits November 10, 2025 09:39
Co-authored-by: imallona <8280371+imallona@users.noreply.github.com>
Co-authored-by: imallona <8280371+imallona@users.noreply.github.com>
Co-authored-by: imallona <8280371+imallona@users.noreply.github.com>
Co-authored-by: imallona <8280371+imallona@users.noreply.github.com>
Co-authored-by: imallona <8280371+imallona@users.noreply.github.com>
Copilot AI changed the title [WIP] Add hello world example with CMake and Snakemake Add C++ Hello World with Snakemake workflow and GitHub Actions CI Nov 10, 2025
Copilot AI requested a review from imallona November 10, 2025 09:47
@imallona imallona force-pushed the copilot/add-hello-world-example branch from 8219a38 to da6d524 Compare November 10, 2025 10:13
@imallona
Copy link
Owner

@copilot fix the ci/cd so mamba is available to installs snakemake, see trace https://github.com/imallona/drab/actions/runs/19228131194/job/54960051853#step:4:9

Co-authored-by: imallona <8280371+imallona@users.noreply.github.com>
Copy link
Contributor Author

Copilot AI commented Nov 10, 2025

@copilot fix the ci/cd so mamba is available to installs snakemake, see trace https://github.com/imallona/drab/actions/runs/19228131194/job/54960051853#step:4:9

Fixed in commit 71499e0. The workflow now explicitly uses miniforge-variant: Mambaforge and miniforge-version: latest to ensure mamba is available before installing Snakemake.

@imallona
Copy link
Owner

@copilot doesn't fix it. mambaforge is deprecated, use the conda-incubator/setup-miniconda@v3 as I did, and make sure mamba is available

Copy link
Contributor Author

Copilot AI commented Nov 10, 2025

@copilot doesn't fix it. mambaforge is deprecated, use the conda-incubator/setup-miniconda@v3 as I did, and make sure mamba is available

Fixed in commit 5dd8b34. Changed from deprecated Mambaforge to Miniforge3 variant, and added explicit step to install mamba using conda install -n base -c conda-forge mamba before installing Snakemake.

…l mamba

Co-authored-by: imallona <8280371+imallona@users.noreply.github.com>
@imallona imallona force-pushed the copilot/add-hello-world-example branch from c069fdb to 068b0d0 Compare November 10, 2025 10:39
@imallona imallona marked this pull request as ready for review November 10, 2025 10:46
@imallona imallona merged commit 9975fbe into main Nov 10, 2025
1 check passed
@imallona imallona deleted the copilot/add-hello-world-example branch November 10, 2025 10:47
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.

2 participants