silverhack / silverhack/monkey365
Improve CI/CD Pipeline
Nobody has claimed this yet.
- Dominant language
- PowerShell
- Stars
- 1.3k
- Forks
- 140
- PR merge metrics
- No merged PRs in 30d
Description
Current Status
Currently, there are some GitHub actions to perform linting (PsScriptAnalyzer) and for testing (Pester). Actually these two actions are quite old and are using deprecated flags, causing actions to print warnings. Those actions should be reviewed and updated to avoid lack of support. Moreover, I'm currently using several local scripts to automate updates to configuration files, JSON datasets, and other relevant parts of Monkey365. As a solo dev, automation is the key, so to reduce manual errors, improve code quality and accelerate releases, a new Pipeline should be designed in a way that allows for security, reliability and scalability.
-
Why this improvement is needed?
We should keep the main codebase clean and consistent across the project, This ensures that the codebase remains clean and free of issues. -
What are the benefits?
A new pipeline will help to automate the process of checking code quality during the CI (Continuous Integration) pipeline. It will also help catch potential issues in early stages, minimizing the effect of bugs in the main branch.
Desired Status
Create templates and reusable workflows to enforce security best practices across all internal modules and minimize human error. While the code will remain in GitHub, the updated strategy will incorporate Azure Pipelines to test and validate every pull request or commit. Azure Pipelines will also be responsible for managing a multi-stage release pipeline spanning three environments. As the linting and testing processes are being migrated to Azure DevOps, existing GitHub Actions for Pester and PSScriptAnalyzer will soon be deprecated. This transition aims to keep all GitHub repositories consistently up to date.
The strategy includes creating two dedicated repositories: one for HTML resources and the other one for storing JSON rules and rulesets. GitHub Actions will be configured to automatically initiate release workflows each time a new commit is made, streamlining the deployment process. Azure Pipelines will be used to perform secret scanning and detect dependency-related errors.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reviewing the existing GitHub Actions for Pester and PSScriptAnalyzer, along with the local scripts that update configuration files and JSON datasets. Define the reusable workflows and Azure Pipelines stages needed for pull-request validation, secret and dependency scanning, and multi-environment releases. Done means the migration plan and automation cover the stated checks and release flow without the deprecated GitHub Actions.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- azure, github-actions, powershell
- Domain
- ci-cd, devops, release, security
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Active
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100