-
Notifications
You must be signed in to change notification settings - Fork 1
Added new downloader mode #57
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
Added styles for PDF and Word document generation Added automatic glossary generation Signed by: Russell Seymour <russell.seymour@turtlesystems.co.uk>
Signed by: Russell Seymour <russell.seymour@turtlesystems.co.uk>
Added glossary file to generate glossary from terms that are used in the documentation Signed by: Russell Seymour <russell.seymour@turtlesystems.co.uk>
Signed by: Russell Seymour <russell.seymour@turtlesystems.co.uk>
… configuration can be performed Updated how the regular expression pattern works when patching a newly created project Added more tests Signed by: Russell Seymour <russell.seymour@turtlesystems.co.uk>
Signed by: Russell Seymour <russell.seymour@turtlesystems.co.uk>
Signed by: Russell Seymour <russell.seymour@turtlesystems.co.uk>
Signed by: Russell Seymour <russell.seymour@turtlesystems.co.uk>
Changed way in which ADO pipeline works Signed by: Russell Seymour <russell.seymour@turtlesystems.co.uk>
Changed which context build number runs in Signed by: Russell Seymour <russell.seymour@turtlesystems.co.uk>
Signed by: Russell Seymour <russell.seymour@turtlesystems.co.uk>
Signed by: Russell Seymour <russell.seymour@turtlesystems.co.uk>
Corrected reference to Build number Signed by: Russell Seymour <russell.seymour@turtlesystems.co.uk>
Signed by: Russell Seymour <russell.seymour@turtlesystems.co.uk>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR introduces a new "filesystem" downloader mode to the CLI for local development, adds template mode configuration controls, and updates documentation and build tooling. The changes enable developers to copy from local directories during development instead of downloading packages, improving the development workflow.
- Added filesystem downloader for local development scenarios
- Implemented template mode configuration to control ADO variable file generation
- Updated build tooling from Taskctl to Eirctl with comprehensive documentation updates
Reviewed Changes
Copilot reviewed 71 out of 84 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
| pkg/downloaders/filesystem.go | New filesystem downloader implementation |
| pkg/downloaders/*_test.go | Comprehensive test suites for all downloaders |
| pkg/config/stacks_component.go | Added TemplateMode field with helper method |
| pkg/scaffold/scaffold.go | Integrated filesystem downloader and template mode logic |
| pkg/config/pipeline.go | Enhanced pattern replacement with logging and deduplication |
| docs/ | Updated documentation for new features and build tool migration |
| build/ | Migrated from Taskctl to Eirctl build system |
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
📲 What
Added a new downloader to the CLI called
filesystem.Updated the code that manages how the replacements are made in the text files of the project. Add some more unit tests. Added new functionality to turn off
template_modewhen scaffolding a project.Updated documentation
🤔 Why
The CLI works by either cloning a git repo or unpacking a Nuget package. This works when the CLI is being used, but is not conducive to development as the package needs to be uploaded and then downloaded or cloned. So by using a
filesystemdownloader the CLI can copy from directories on disk which makes development easier.By default the CLI will output an ADO variable file (if ADO CI/CD has been selected) into the project. However this is static and may not reflect the project being scaffolded. A new option has been added that can turn this template mode off and let the configuration file for the project inform what changes need to made.
Updated documentation to reflect the updates that have been made to the application.
🛠 How
A new downloader has been added, that can be selected in the
internal_config.ymlfile. When defining a new component in this file, the type can now be set tonuget,gitandfilesystem. For thefilesystemapathparameter must be set. This means that when setup that folder will be copied. The.gitdirectory is ignored.A new item has been added to the
internal_configmodel calledtemplate_mode. By default this is set totrueso that existing projects are not affected. When a project does want to use the built in ADO template, this can be set tofalsewhich will prevent that file being copied to the repo.👀 Evidence
Screenshots / external resources / links / etc.
Link to documentation updated with changes impacted in the PR
🕵️ How to test
Notes for QA
✅ Acceptance criteria Checklist
Code peer reviewed?
Documentation has been updated to reflect the changes?
Passing all automated tests, including a successful deployment?
Passing any exploratory testing?
Rebased/merged with latest changes from development and re-tested?
Meeting the Coding Standards?