An open API service indexing awesome lists of open source software.

https://github.com/warfox/tic-tac-toe

Tic Tac Toe game written in Clojure
https://github.com/warfox/tic-tac-toe

clojure

Last synced: 3 months ago
JSON representation

Tic Tac Toe game written in Clojure

Awesome Lists containing this project

README

          

* tic-tac-toe

Tic Tac Toe game written in Clojure

#+caption: Tic Tac Toe
[[file:doc/tic_tac_toe.svg]]

** Local Setup

#+begin_src sh
git clone git@github.com:WarFox/tic-tac-toe.git

cd tic-tac-toe
#+end_src

Make sure you have [[https://leiningen.org/][lein]] and [[https://github.com/clj-kondo/clj-kondo][clj-kondo]] installed

#+begin_src sh
brew install borkdude/brew/clj-kondo
brew install leiningen
#+end_src

** Run Tests

#+begin_src sh
lein test
#+end_src

** Run Linting

#+begin_src sh
clj-kondo --lint src test
#+end_src

** CI

Continuous integration is setup using GitHub Actions. When a new
commit is pushed to any branch =lein test= and =linter= is run.

Tests is setup using =clojure.test= and linting is setup using
[[https://github.com/clj-kondo/clj-kondo/][clj-kondo]].

** Release

Automated release and CHANGELOG is setup using Google's
[[https://github.com/googleapis/release-please-action][releas-please-action]].

When branch is merged to =main=, =release-please= will create a new
release branch based on the changes included in the PR. If a release
branch already exists, then release notes and CHANGELOG is
automatically updated with the new changes.

For this to work we follow [[https://www.conventionalcommits.org/en/v1.0.0/][conventional commits]] and write good commit
messages.

** License

Copyright © 2024 Deepu Mohan Puthrote

This program and the accompanying materials are made available under the
terms of the Eclipse Public License 2.0 which is available at
http://www.eclipse.org/legal/epl-2.0.

This Source Code may also be made available under the following
Secondary Licenses when the conditions for such availability set forth
in the Eclipse Public License, v. 2.0 are satisfied: GNU General Public
License as published by the Free Software Foundation, either version 2
of the License, or (at your option) any later version, with the GNU
Classpath Exception which is available at
https://www.gnu.org/software/classpath/license.html.