hero-image

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.).
  • Every 10 Commits:
    • Increments the minor version (e.g., v1.1.0, v1.2.0) and resets the patch version to 0.
  • Manual Major Release:
    • Modify the major_version variable in the calculate_version step to manually bump the major version (e.g., from v1.x.x to v2.0.0).

:::code source=”../../assets/Files/release.yml” :::

===

Retype

==- Publish Retype-Powered Website to GitHub Pages

How It Works

  1. Trigger on Push:
    • Automatically builds and publishes your Retype site whenever changes are pushed to the repository.
  2. GitHub Pages Deployment:
    • Outputs the static website files into a gh-pages branch for seamless hosting.

:::code source=”../../assets/Files/retype-app.yml” :::

===

Other

==- Automated Dependency Updates

How It Works

  1. Keep your dependencies up to date with minimal effort using Dependabot.
  2. 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

  1. Automatically lint and test your code every time you push to the repository or create a pull request.
  2. Ensures code quality by detecting issues early in the development process.

:::code source=”../../assets/Files/lintandtest.yml” :::

===

==- Daily Database Backup

How It Works

  1. Creates a backup of your database daily at a specified time.
  2. 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

  1. Automatically builds a Docker image from your repository’s code.
  2. 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

  1. Sends a notification to your team via Slack or Discord whenever a deployment is completed.
  2. 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

  1. Scans your codebase for known vulnerabilities and security issues using tools like CodeQL.
  2. Generates a detailed report for remediation.

:::code source=”../../assets/Files/securityscan.yml” :::

===

==- Automated Test Coverage Report

How It Works

  1. Runs your test suite and generates a test coverage report.
  2. 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

  1. Automatically marks issues and pull requests as stale after a period of inactivity.
  2. 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

  1. Generates a changelog for your project by parsing commit messages and PR descriptions.
  2. Creates a CHANGELOG.md file or appends the new release notes to an existing one.

:::code source=”../../assets/Files/changeloggenerator.yml” :::

===

==- Continuous Deployment to AWS

How It Works

  1. Builds your application and deploys it to an AWS service (e.g., S3, ECS, or Lambda).
  2. Ensures your application is always running the latest code.

:::code source=”../../assets/Files/continuousdeploymentaws.yml” :::

===

==- Monitor Workflow Performance

How It Works

  1. Tracks the runtime of workflows and generates performance insights.
  2. Sends alerts for workflows that exceed predefined thresholds.

:::code source=”../../assets/Files/workflowperformance.yml” :::

===