Github workflows
While these workflows are designed to automate tasks and improve efficiency, always review and test any changes to the workflows before deploying them in a production environment. Incorrect configurations may lead to unintended consequences, such as overwriting data, deploying unstable code, or exposing sensitive information. Use with caution and ensure sensitive secrets are securely managed using GitHub’s secrets feature.
Github repo
==- Automatically Deploy and Create Releases
How It Works
- Every Commit:
- Automatically increments the patch version (e.g.,
v1.0.1,v1.0.2, etc.).
- Automatically increments the patch version (e.g.,
- Every 10 Commits:
- Increments the minor version (e.g.,
v1.1.0,v1.2.0) and resets the patch version to0.
- Increments the minor version (e.g.,
- Manual Major Release:
- Modify the
major_versionvariable in thecalculate_versionstep to manually bump the major version (e.g., fromv1.x.xtov2.0.0).
- Modify the
:::code source=”../../assets/Files/release.yml” :::
===
Retype
==- Publish Retype-Powered Website to GitHub Pages
How It Works
- Trigger on Push:
- Automatically builds and publishes your Retype site whenever changes are pushed to the repository.
- GitHub Pages Deployment:
- Outputs the static website files into a
gh-pagesbranch for seamless hosting.
- Outputs the static website files into a
:::code source=”../../assets/Files/retype-app.yml” :::
===
Other
==- Automated Dependency Updates
How It Works
- Keep your dependencies up to date with minimal effort using Dependabot.
- It creates pull requests for dependency updates, allowing you to review and merge changes safely.
:::code source=”../../assets/Files/automateddependencyupdates.yml” :::
===
==- Lint and Test Code on Push
How It Works
- Automatically lint and test your code every time you push to the repository or create a pull request.
- Ensures code quality by detecting issues early in the development process.
:::code source=”../../assets/Files/lintandtest.yml” :::
===
==- Daily Database Backup
How It Works
- Creates a backup of your database daily at a specified time.
- The backups are securely stored in a cloud bucket for redundancy.
:::code source=”../../assets/Files/dailydatabasebackup.yml” :::
===
==- Build and Deploy Docker Image
How It Works
- Automatically builds a Docker image from your repository’s code.
- Pushes the image to a container registry (e.g., Docker Hub or GitHub Container Registry).
:::code source=”../../assets/Files/buildanddeploydocker.yml” :::
===
==- Notify Team on Deployment
How It Works
- Sends a notification to your team via Slack or Discord whenever a deployment is completed.
- Helps keep everyone informed about the current state of the application.
:::code source=”../../assets/Files/notifydeployment.yml” :::
===
==- Run Security Scans on Code
How It Works
- Scans your codebase for known vulnerabilities and security issues using tools like
CodeQL. - Generates a detailed report for remediation.
:::code source=”../../assets/Files/securityscan.yml” :::
===
==- Automated Test Coverage Report
How It Works
- Runs your test suite and generates a test coverage report.
- Uploads the coverage data to a service like Codecov or Coveralls for analysis.
:::code source=”../../assets/Files/testcoverage.yml” :::
===
==- Stale Issue and Pull Request Manager
How It Works
- Automatically marks issues and pull requests as stale after a period of inactivity.
- Closes stale items after another specified period, helping to keep the repository tidy.
:::code source=”../../assets/Files/staleissues.yml” :::
===
==- Automatic Changelog Generator
How It Works
- Generates a changelog for your project by parsing commit messages and PR descriptions.
- Creates a
CHANGELOG.mdfile or appends the new release notes to an existing one.
:::code source=”../../assets/Files/changeloggenerator.yml” :::
===
==- Continuous Deployment to AWS
How It Works
- Builds your application and deploys it to an AWS service (e.g., S3, ECS, or Lambda).
- Ensures your application is always running the latest code.
:::code source=”../../assets/Files/continuousdeploymentaws.yml” :::
===
==- Monitor Workflow Performance
How It Works
- Tracks the runtime of workflows and generates performance insights.
- Sends alerts for workflows that exceed predefined thresholds.
:::code source=”../../assets/Files/workflowperformance.yml” :::
===