A fun and interactive Tic Tac Toe game built to help you learn GitHub Actions for Continuous Integration (CI).
This project is an educational tool designed to teach developers about GitHub Actions through a practical, hands-on approach. By building and deploying a simple Tic Tac Toe game, you'll learn how to set up CI/CD pipelines, run automated tests, and implement best practices for modern software development workflows.
- Interactive Gameplay: Play Tic Tac Toe in your browser
- GitHub Actions Integration: Learn CI/CD workflows through practical examples
- Automated Testing: Includes test suite with Jest
- Code Quality: Uses StandardJS for linting
- Modern Build Pipeline: Webpack-based build system
- Development Mode: Hot-reload for easy development
- Node.js (v12 or higher recommended)
- npm (comes with Node.js)
-
Clone the repository:
git clone https://github.com/dhanachavan/github-actions-for-ci.git cd github-actions-for-ci -
Install dependencies:
npm install
Start the development server with hot-reload:
npm run devThis will watch for file changes and automatically rebuild the project.
Build the project for production:
npm run buildThe compiled files will be generated in the public/ directory.
Run the test suite and linting:
npm testThis command will:
- Run StandardJS linting to check code quality
- Execute Jest tests
After building, open index.html in your web browser to play the game.
- JavaScript (ES6+): Core programming language
- Webpack: Module bundler and build tool
- Babel: JavaScript transpiler for browser compatibility
- Jest: Testing framework
- StandardJS: Code linting and style guide
- HTML/CSS: Frontend markup and styling
github-actions-for-ci/
├── src/ # Source files
│ ├── game.js # Game logic
│ ├── index.js # Entry point
│ └── webpack.config.js # Webpack configuration
├── public/ # Static assets and build output
│ └── index.css # Stylesheets
├── index.html # Main HTML file
├── package.json # Project dependencies and scripts
├── babel.config.js # Babel configuration
├── .gitignore # Git ignore rules
└── README.md # This file
Contributions are welcome! This project is designed for learning, so feel free to:
- Report bugs
- Suggest new features
- Submit pull requests
- Improve documentation
Please ensure your code follows the StandardJS style guide and includes appropriate tests.
This project is licensed under the MIT License - see the LICENSE file for details.
- Originally created by The GitHub Training Team
- Part of the GitHub Actions learning curriculum
To learn more about GitHub Actions:
Happy Learning! 🎮