2023-12-20 18:49:25 +01:00
<!DOCTYPE html>
2025-08-15 16:53:30 +00:00
< html lang = "en" data-content_root = "../" >
2023-12-20 18:49:25 +01:00
< head >
< meta charset = "utf-8" / >
2025-08-15 16:53:30 +00:00
< meta name = "viewport" content = "width=device-width, initial-scale=1.0" / > < meta name = "viewport" content = "width=device-width, initial-scale=1" / >
2023-12-20 18:49:25 +01:00
< title > Continuous Integration (CI) — Evennia latest documentation< / title >
2025-08-15 16:53:30 +00:00
< link rel = "stylesheet" type = "text/css" href = "../_static/pygments.css?v=d75fae25" / >
< link rel = "stylesheet" type = "text/css" href = "../_static/nature.css?v=279e0f84" / >
< link rel = "stylesheet" type = "text/css" href = "../_static/custom.css?v=e4a91a55" / >
< script src = "../_static/documentation_options.js?v=c6e86fd7" > < / script >
< script src = "../_static/doctools.js?v=9bcbadda" > < / script >
< script src = "../_static/sphinx_highlight.js?v=dc90522c" > < / script >
< link rel = "icon" href = "../_static/favicon.ico" / >
2023-12-20 18:49:25 +01:00
< link rel = "index" title = "Index" href = "../genindex.html" / >
< link rel = "search" title = "Search" href = "../search.html" / >
< link rel = "next" title = "Setting up PyCharm with Evennia" href = "Setting-up-PyCharm.html" / >
< link rel = "prev" title = "Profiling" href = "Profiling.html" / >
< / head > < body >
2025-08-15 16:53:30 +00:00
< div class = "related" role = "navigation" aria-label = "Related" >
2023-12-20 18:49:25 +01:00
< h3 > Navigation< / h3 >
< ul >
< li class = "right" style = "margin-right: 10px" >
< a href = "../genindex.html" title = "General Index"
accesskey="I">index< / a > < / li >
< li class = "right" >
< a href = "../py-modindex.html" title = "Python Module Index"
>modules< / a > |< / li >
< li class = "right" >
< a href = "Setting-up-PyCharm.html" title = "Setting up PyCharm with Evennia"
accesskey="N">next< / a > |< / li >
< li class = "right" >
< a href = "Profiling.html" title = "Profiling"
accesskey="P">previous< / a > |< / li >
2025-08-15 16:53:30 +00:00
< li class = "nav-item nav-item-0" > < a href = "../index.html" > Evennia< / a > » < / li >
2023-12-20 18:49:25 +01:00
< li class = "nav-item nav-item-1" > < a href = "Coding-Overview.html" accesskey = "U" > Coding and development help< / a > » < / li >
< li class = "nav-item nav-item-this" > < a href = "" > Continuous Integration (CI)< / a > < / li >
< / ul >
< / div >
< div class = "document" >
< div class = "documentwrapper" >
2025-08-15 16:53:30 +00:00
< div class = "bodywrapper" >
< div class = "body" role = "main" >
< section class = "tex2jax_ignore mathjax_ignore" id = "continuous-integration-ci" >
< h1 > Continuous Integration (CI)< a class = "headerlink" href = "#continuous-integration-ci" title = "Link to this heading" > ¶< / a > < / h1 >
< p > < a class = "reference external" href = "https://en.wikipedia.org/wiki/Continuous_integration" > Continuous Integration (CI)< / a > is a development practice that requires developers to integrate code into a shared repository. Each check-in is then verified by an automated build, allowing teams to detect problems early. This can be set up to safely deploy data to a production server only after tests have passed, for example.< / p >
< p > For Evennia, continuous integration allows an automated build process to:< / p >
< ul class = "simple" >
< li > < p > Pull down a latest build from Source Control.< / p > < / li >
< li > < p > Run migrations on the backing SQL database.< / p > < / li >
< li > < p > Automate additional unique tasks for that project.< / p > < / li >
< li > < p > Run unit tests.< / p > < / li >
< li > < p > Publish those files to the server directory< / p > < / li >
< li > < p > Reload the game.< / p > < / li >
< / ul >
< section id = "continuous-integration-guides" >
< h2 > Continuous-Integration guides< a class = "headerlink" href = "#continuous-integration-guides" title = "Link to this heading" > ¶< / a > < / h2 >
< p > Evennia itself is making heavy use of < a class = "reference external" href = "https://github.com/features/actions" > github actions< / a > . This is integrated with Github and is probably the one to go for most people, especially if your code is on Github already. You can see and analyze how Evennia’ s actions are running < a class = "reference external" href = "https://github.com/evennia/evennia/actions" > here< / a > .< / p >
< p > There are however a lot of tools and services providing CI functionality. < a class = "reference external" href = "https://www.atlassian.com/continuous-delivery/continuous-integration/tools" > Here is a blog overview< / a > (external link).< / p >
< / section >
< / section >
< div class = "clearer" > < / div >
< / div >
< / div >
< / div >
< div class = "sphinxsidebar" role = "navigation" aria-label = "Main" >
2023-12-20 18:49:25 +01:00
< div class = "sphinxsidebarwrapper" >
< p class = "logo" > < a href = "../index.html" >
2025-08-15 16:53:30 +00:00
< img class = "logo" src = "../_static/evennia_logo.png" alt = "Logo of Evennia" / >
2023-12-20 18:49:25 +01:00
< / a > < / p >
2025-08-15 16:53:30 +00:00
< search id = "searchbox" style = "display: none" role = "search" >
2023-12-20 18:49:25 +01:00
< h3 id = "searchlabel" > Quick search< / h3 >
< div class = "searchformwrapper" >
< form class = "search" action = "../search.html" method = "get" >
2025-08-15 16:53:30 +00:00
< input type = "text" name = "q" aria-labelledby = "searchlabel" autocomplete = "off" autocorrect = "off" autocapitalize = "off" spellcheck = "false" / >
2023-12-20 18:49:25 +01:00
< input type = "submit" value = "Go" / >
< / form >
< / div >
2025-08-15 16:53:30 +00:00
< / search >
< script > document . getElementById ( 'searchbox' ) . style . display = "block" < / script >
2023-12-20 18:49:25 +01:00
< h3 > < a href = "../index.html" > Table of Contents< / a > < / h3 >
< ul >
< li > < a class = "reference internal" href = "#" > Continuous Integration (CI)< / a > < ul >
< li > < a class = "reference internal" href = "#continuous-integration-guides" > Continuous-Integration guides< / a > < / li >
< / ul >
< / li >
< / ul >
2025-08-15 16:53:30 +00:00
< div >
< h4 > Previous topic< / h4 >
< p class = "topless" > < a href = "Profiling.html"
title="previous chapter">Profiling< / a > < / p >
< / div >
< div >
< h4 > Next topic< / h4 >
< p class = "topless" > < a href = "Setting-up-PyCharm.html"
title="next chapter">Setting up PyCharm with Evennia< / a > < / p >
< / div >
2023-12-20 18:49:25 +01:00
< div role = "note" aria-label = "source link" >
<!-- h3>This Page</h3 -->
< ul class = "this-page-menu" >
< li > < a href = "../_sources/Coding/Continuous-Integration.md.txt"
rel="nofollow">Show Page Source< / a > < / li >
< / ul >
< / div > < h3 > Links< / h3 >
< ul >
< li > < a href = "https://www.evennia.com/docs/latest/index.html" > Documentation Top< / a > < / li >
< li > < a href = "https://www.evennia.com" > Evennia Home< / a > < / li >
< li > < a href = "https://github.com/evennia/evennia" > Github< / a > < / li >
< li > < a href = "http://games.evennia.com" > Game Index< / a > < / li >
< li >
< a href = "https://discord.gg/AJJpcRUhtF" > Discord< / a > -
< a href = "https://github.com/evennia/evennia/discussions" > Discussions< / a > -
< a href = "https://evennia.blogspot.com/" > Blog< / a >
< / li >
< / ul >
2023-12-20 18:20:20 +00:00
< h3 > Doc Versions< / h3 >
< ul >
2025-08-15 16:53:30 +00:00
< li >
< a href = "https://www.evennia.com/docs/latest/index.html" > latest (main branch)< / a >
< / li >
2025-07-01 08:22:33 +00:00
2023-12-20 22:23:04 +00:00
2025-08-15 16:53:30 +00:00
< li >
< a href = "https://www.evennia.com/docs/5.x/index.html" > v5.0.0 branch (outdated)< / a >
< / li >
2023-12-20 18:20:20 +00:00
2025-08-15 16:53:30 +00:00
< li >
< a href = "https://www.evennia.com/docs/4.x/index.html" > v4.0.0 branch (outdated)< / a >
< / li >
2023-12-20 18:20:20 +00:00
2025-08-15 16:53:30 +00:00
< li >
< a href = "https://www.evennia.com/docs/3.x/index.html" > v3.0.0 branch (outdated)< / a >
< / li >
2024-03-17 13:48:03 +00:00
2025-08-15 16:53:30 +00:00
< li >
< a href = "https://www.evennia.com/docs/2.x/index.html" > v2.0.0 branch (outdated)< / a >
< / li >
< li >
< a href = "https://www.evennia.com/docs/1.x/index.html" > v1.0.0 branch (outdated)< / a >
< / li >
< li >
< a href = "https://www.evennia.com/docs/0.x/index.html" > v0.9.5 branch (outdated)< / a >
< / li >
2023-12-20 18:20:20 +00:00
2023-12-20 18:49:25 +01:00
< / ul >
< / div >
< / div >
2025-08-15 16:53:30 +00:00
< div class = "clearer" > < / div >
2023-12-20 18:49:25 +01:00
< / div >
2025-08-15 16:53:30 +00:00
< div class = "related" role = "navigation" aria-label = "Related" >
2023-12-20 18:49:25 +01:00
< h3 > Navigation< / h3 >
< ul >
< li class = "right" style = "margin-right: 10px" >
< a href = "../genindex.html" title = "General Index"
>index< / a > < / li >
< li class = "right" >
< a href = "../py-modindex.html" title = "Python Module Index"
>modules< / a > |< / li >
< li class = "right" >
< a href = "Setting-up-PyCharm.html" title = "Setting up PyCharm with Evennia"
>next< / a > |< / li >
< li class = "right" >
< a href = "Profiling.html" title = "Profiling"
>previous< / a > |< / li >
2025-08-15 16:53:30 +00:00
< li class = "nav-item nav-item-0" > < a href = "../index.html" > Evennia< / a > » < / li >
2023-12-20 18:49:25 +01:00
< li class = "nav-item nav-item-1" > < a href = "Coding-Overview.html" > Coding and development help< / a > » < / li >
< li class = "nav-item nav-item-this" > < a href = "" > Continuous Integration (CI)< / a > < / li >
< / ul >
< / div >
< div class = "footer" role = "contentinfo" >
2025-08-15 16:53:30 +00:00
© Copyright 2024, The Evennia developer community.
Created using < a href = "https://www.sphinx-doc.org/" > Sphinx< / a > 8.2.3.
2023-12-20 18:49:25 +01:00
< / div >
< / body >
< / html >