Skip to content

Initial Release: React Template CI/CDπŸš€

Latest
Compare
Choose a tag to compare
@Jagoda11 Jagoda11 released this 25 Jul 20:54
· 39 commits to main since this release

Initial Release: React Template CI/CD πŸš€

This release includes the initial version of the CI/CD pipeline for the React Template project. It comes pre-configured with essential tools and libraries to streamline the development process.

Features:

  • TypeScript: Provides type safety and enhances code quality.
  • ESLint: Lints the code to maintain a consistent code style.
  • Prettier: Formats the code for readability.
  • Jest: Runs tests and provides coverage reports.
  • Husky: Manages Git hooks to enforce pre-commit checks.
  • TailwindCSS: Integrates utility-first CSS for rapid UI development.

GitHub Actions Workflows:

  • CI Pipeline: Automatically builds, tests, and lint your code on every push and pull request.
  • Remove Merged Branches: Automatically deletes branches after they have been merged.
  • Remove Stale Unmerged Branches: Deletes branches that have not been updated in a specified period.
  • Welcome Messages: Posts welcome messages on new issues and pull requests.
  • Label New Pull Requests: Automatically adds labels to new pull requests.
  • Close Stale Issues and PRs: Closes issues and pull requests that have been inactive.

How to Use:

  1. Clone the repository.
  2. Install dependencies with npm ci.
  3. Use npm run build to build the project.
  4. Run npm run test to execute tests and generate coverage reports.
  5. Format code using npm run format.
  6. Lint code with npm run lint.

Example Usage:

name: CI

on: [push, pull_request]

jobs:
  build:
    runs-on: ubuntu-latest

    strategy:
      matrix:
        node-version: [21.x]

    steps:
      - uses: actions/checkout@v2
      - name: πŸ› οΈ Use Node.js ${{ matrix.node-version }}
        uses: actions/setup-node@v2
        with:
          node-version: ${{ matrix.node-version }}
      - name: πŸ“¦ Install dependencies
        run: npm ci
      - name: πŸ–‹οΈ Format code
        run: npm run format
      - name: 🧹 Lint code
        run: npm run lint
      - name: πŸ”¨ Build
        run: npm run build
      - name: πŸ§ͺ Test with coverage
        run: npm run test


### πŸ›’ Purchase a License

This project is licensed under the terms of the Commercial License Agreement. To purchase a commercial license, please contact me via GitHub or through the [sponsorship page](https://github.com/sponsors/Jagoda11).

### πŸ’– Support

If you like this hassle-free and easy setup, and if it saved you some time, please consider obtaining a commercial license and sponsoring me on [GitHub Sponsors](https://github.com/sponsors/Jagoda11). Your support is greatly appreciated and helps me continue my contributions to open source and volunteer work.