mirror of
https://github.com/evennia/evennia.git
synced 2026-04-03 22:47:16 +02:00
Fix legacy 2.0 docs
This commit is contained in:
parent
c71092825f
commit
7716ce9612
3968 changed files with 11058 additions and 560326 deletions
|
|
@ -21,8 +21,6 @@
|
|||
<link rel="prev" title="Setting up PyCharm with Evennia" href="Setting-up-PyCharm.html" />
|
||||
</head><body>
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="related" role="navigation" aria-label="related navigation">
|
||||
<h3>Navigation</h3>
|
||||
|
|
@ -43,7 +41,11 @@
|
|||
<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="">Changelog</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="document">
|
||||
|
||||
|
|
@ -66,12 +68,7 @@
|
|||
<h3><a href="../index.html">Table of Contents</a></h3>
|
||||
<ul>
|
||||
<li><a class="reference internal" href="#">Changelog</a><ul>
|
||||
<li><a class="reference internal" href="#main-branch">Main branch</a></li>
|
||||
<li><a class="reference internal" href="#evennia-2-3-0">Evennia 2.3.0</a></li>
|
||||
<li><a class="reference internal" href="#evennia-2-2-0">Evennia 2.2.0</a></li>
|
||||
<li><a class="reference internal" href="#evennia-2-1-0">Evennia 2.1.0</a></li>
|
||||
<li><a class="reference internal" href="#evennia-2-0-1">Evennia 2.0.1</a></li>
|
||||
<li><a class="reference internal" href="#evennia-2-0-0">Evennia 2.0.0</a></li>
|
||||
<li><a class="reference internal" href="#evennia-2-0">Evennia 2.0</a></li>
|
||||
<li><a class="reference internal" href="#evennia-1-3-0">Evennia 1.3.0</a></li>
|
||||
<li><a class="reference internal" href="#evennia-1-2-1">Evennia 1.2.1</a></li>
|
||||
<li><a class="reference internal" href="#evennia-1-2-0">Evennia 1.2.0</a></li>
|
||||
|
|
@ -164,18 +161,6 @@
|
|||
<a href="https://evennia.blogspot.com/">Blog</a>
|
||||
</li>
|
||||
</ul>
|
||||
<h3>Doc Versions</h3>
|
||||
<ul>
|
||||
|
||||
<li><a href="Changelog.html">2.x (main branch)</a></li>
|
||||
<ul>
|
||||
<li><a href="../1.3.0/index.html">1.3.0 (v1.3.0 branch)</a></li>
|
||||
|
||||
<li><a href="../0.9.5/index.html">0.9.5 (v0.9.5 branch)</a></li>
|
||||
|
||||
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="bodywrapper">
|
||||
|
|
@ -183,134 +168,8 @@
|
|||
|
||||
<section class="tex2jax_ignore mathjax_ignore" id="changelog">
|
||||
<h1>Changelog<a class="headerlink" href="#changelog" title="Permalink to this headline">¶</a></h1>
|
||||
<section id="main-branch">
|
||||
<h2>Main branch<a class="headerlink" href="#main-branch" title="Permalink to this headline">¶</a></h2>
|
||||
<ul class="simple">
|
||||
<li><p>Dependency: Twisted 23.10 (<24) to address upstream CVE alert.</p></li>
|
||||
<li><p>Dependency (potentially Backwards incompatible): Django 4.2 (<4.3). Increases
|
||||
minimum supported versions of MariaDB, MySQL and PostgreSQL,
|
||||
see <a class="reference external" href="https://docs.djangoproject.com/en/4.2/releases/4.2/#backwards-incompatible-changes-in-4-2">django release nodes</a></p></li>
|
||||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/pull/3313">Feature</a> (Backwards incompatible): <code class="docutils literal notranslate"><span class="pre">OptionHandler.set</span></code> now returns
|
||||
<code class="docutils literal notranslate"><span class="pre">BaseOption</span></code> rather than its <code class="docutils literal notranslate"><span class="pre">.value</span></code>. Instead access <code class="docutils literal notranslate"><span class="pre">.value</span></code> or <code class="docutils literal notranslate"><span class="pre">.display()</span></code>
|
||||
on this return for more control. (Volund)</p></li>
|
||||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/pull/3278">Feature</a>: (Backwards incompatible): Refactor home page into multiple sub-parts for easier
|
||||
overriding and composition (johnnyvoruz)</p></li>
|
||||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/pull/3180">Feature</a>: (Potentially Backwards incompatible): Make build commands
|
||||
easier to override, with new utility hooks (Volund)</p></li>
|
||||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/issues/3273">Feature</a>: Allow passing <code class="docutils literal notranslate"><span class="pre">text_kwargs</span></code> kwarg to <code class="docutils literal notranslate"><span class="pre">EvMore.msg</span></code> in order to expand
|
||||
the outputfunc used for every evmore page.</p></li>
|
||||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/pull/3286">Feature</a>: Allow Discord bot to change user’s nickname and assign
|
||||
roles for a user on a given server (holl0wstar).</p></li>
|
||||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/pull/3301">Feature</a>: Make EvenniaAdminSite include custom models better; adds
|
||||
<code class="docutils literal notranslate"><span class="pre">DJANGO_ADMIN_APP_ORDER</span></code> and <code class="docutils literal notranslate"><span class="pre">DJANGO_ADMIN_APP_EXCLUDE</span></code> as modifable
|
||||
settings.(Volund)</p></li>
|
||||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/pull/3179">Feature</a>: Handling of the <code class="docutils literal notranslate"><span class="pre">.db._playable_characters</span></code> helper
|
||||
methods. Also adds events hooks to modify effects when this list changes (Volund)
|
||||
avoiding race conditions until server starts (Volund)</p></li>
|
||||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/pull/3281">Feature</a>: Add <code class="docutils literal notranslate"><span class="pre">$your()</span></code> and <code class="docutils literal notranslate"><span class="pre">$Your()</span></code> for actor stance emoting (Volund)</p></li>
|
||||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/pull/3177">Feature</a>: Add <code class="docutils literal notranslate"><span class="pre">Account.get_character_slots()</span></code>,
|
||||
<code class="docutils literal notranslate"><span class="pre">.get_available_character_slots()</span></code>, <code class="docutils literal notranslate"><span class="pre">.check_available_slots</span></code> and
|
||||
<code class="docutils literal notranslate"><span class="pre">at_post_create_character</span></code> methods to allow better customization of character creation (Volund)</p></li>
|
||||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/pull/3319">Feature</a>: Refactor/cleanup of Evennia server/portal startup files
|
||||
into services for easier overriding (Volund)</p></li>
|
||||
<li><p>[Feature][issue3307]: Add support for Attribute-categories when using the monitorhandler
|
||||
with input funcs to monitor Attribute changes.</p></li>
|
||||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/pull/3342">Feature</a>: Add <code class="docutils literal notranslate"><span class="pre">Command.cmdset_source</span></code>, referring to the cmdset each
|
||||
command was originally pulled from (Volund)</p></li>
|
||||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/pull/3343">Feature</a>: Add <code class="docutils literal notranslate"><span class="pre">access_type</span></code> as optional kwarg to lockfuncs (Volund)</p></li>
|
||||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/pull/3344">Feature</a>: New middleware for checking IP/subnets from requests. New
|
||||
tools <code class="docutils literal notranslate"><span class="pre">evennia.utils.match_ip</span></code> and <code class="docutils literal notranslate"><span class="pre">utils.ip_from_request</span></code> to help. (Volund)</p></li>
|
||||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/pull/3349">Feature</a>: Refactored almost all default commands to use
|
||||
<code class="docutils literal notranslate"><span class="pre">Command.msg</span></code> over the <code class="docutils literal notranslate"><span class="pre">command.caller.msg</span></code> direct call (more flexible) (Volund)</p></li>
|
||||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/pull/3346">Feature</a>: Refactor cmdhandler to be more extensible; make cmd merge
|
||||
a bit more deterministic (Volund)</p></li>
|
||||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/pull/3348">Feature</a>: Make Fallback AJAX web client more customizable (same as
|
||||
the websocket client) (Volund)</p></li>
|
||||
<li><p>Fix (Backwards incompatible): Change <code class="docutils literal notranslate"><span class="pre">settings._TEST_ENVIRONMENT</span></code> to
|
||||
<code class="docutils literal notranslate"><span class="pre">settings.TEST_ENVIRONMENT</span></code> to address issues during refactored startup sequence.</p></li>
|
||||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/pull/3347">Fix</a>: New <code class="docutils literal notranslate"><span class="pre">generate_default_locks()</span></code> method on typeclasses;
|
||||
<code class="docutils literal notranslate"><span class="pre">.create</span></code> and <code class="docutils literal notranslate"><span class="pre">lockhandler.add()</span></code> will now properly handle emptry strings
|
||||
(Volund)</p></li>
|
||||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/pull/3197">Fix</a>: Make sure Global scripts only start in one place,</p></li>
|
||||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/pull/3324">Fix</a>: Make account-post-login-fail signal fire properly. Add
|
||||
<code class="docutils literal notranslate"><span class="pre">CUSTOM_SIGNAL</span></code> for adding one’s own signals (Volund)</p></li>
|
||||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/pull/3267">Fix</a>: Missing recache step in ObjectSessionHandler (InspectorCaracal)</p></li>
|
||||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/pull/3270">Fix</a>: Evennia is its own MSSP family now, so we should return that
|
||||
instead of ‘Custom’ (InspectorCaracal)</p></li>
|
||||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/pull/3274">Fix</a>: Traceback when creating objects with initial nattributes
|
||||
(InspectorCaracal)</p></li>
|
||||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/issues/3272">Fix</a>: Make sure <code class="docutils literal notranslate"><span class="pre">ScriptHandler.add</span></code> does not fail if passed an
|
||||
instantiated script. (Volund)</p></li>
|
||||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/pull/3350">Fix</a>: <code class="docutils literal notranslate"><span class="pre">CmdHelp</span></code> was using the wrong protocol-key identifier when
|
||||
routing to the ajax web client.</p></li>
|
||||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/pull/3338">Fix</a>: Resolve if/elif bug in XYZGrid contrib launch command
|
||||
(jaborsh)</p></li>
|
||||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/issues/3331">fix</a>: Made XYZGrid query zcoords in a case-insensitive manner.</p></li>
|
||||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/pull/3322">Fix</a>: Fix <code class="docutils literal notranslate"><span class="pre">BaseOption.display</span></code> to always return a string.</p></li>
|
||||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/pull/3358">Fix</a>: Fix so Portal resets <code class="docutils literal notranslate"><span class="pre">server_restart_mode</span></code> flag when having
|
||||
successfully reconnected to the Server after a restart. (InspectorCaracal)</p></li>
|
||||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/pull/3359">Fix</a>: Fix gendersub contrib to use proper pronoun when referencing
|
||||
other objects than oneself (InspectorCaracal)</p></li>
|
||||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/pull/3361">Fix</a>: Fix of monitoring Attributes with categories (scyfris)</p></li>
|
||||
<li><p>Docs & docstrings: Lots of Typo and other fixes (iLPdev, InspectorCaracal, jaborsh,
|
||||
HouseOfPoe etc)</p></li>
|
||||
<li><p>Beginner tutorial: Cleanup and starting earlier with explaining how to add to
|
||||
the default cmdsets.</p></li>
|
||||
</ul>
|
||||
</section>
|
||||
<section id="evennia-2-3-0">
|
||||
<h2>Evennia 2.3.0<a class="headerlink" href="#evennia-2-3-0" title="Permalink to this headline">¶</a></h2>
|
||||
<p>Sept 3, 2023</p>
|
||||
<ul class="simple">
|
||||
<li><p>Feat: EvMenu tooltips for multiple help categories in a node (Seannio).</p></li>
|
||||
<li><p>Feat: Default <code class="docutils literal notranslate"><span class="pre">examine</span></code> command now also shows an account’s <code class="docutils literal notranslate"><span class="pre">last_login</span></code>
|
||||
(michaelfaith84)</p></li>
|
||||
<li><p>Fix: Portal would accidentally start global scripts. (blongden)</p></li>
|
||||
<li><p>Fix: Traceback when printing CounterTrait contrib objects. (InspectorCaracal)</p></li>
|
||||
<li><p>Fix: Typo in evadventure twitch combat’s call of <code class="docutils literal notranslate"><span class="pre">create_combathandler</span></code>.</p></li>
|
||||
<li><p>Docs: Fix bug in evadventure equipmenthandler blocking creation of npcs.
|
||||
in-game.</p></li>
|
||||
<li><p>Docs: Plenty of typo fixes (iLPDev, moldikins, others)</p></li>
|
||||
</ul>
|
||||
</section>
|
||||
<section id="evennia-2-2-0">
|
||||
<h2>Evennia 2.2.0<a class="headerlink" href="#evennia-2-2-0" title="Permalink to this headline">¶</a></h2>
|
||||
<p>Aug 6, 2023</p>
|
||||
<ul class="simple">
|
||||
<li><p>Contrib: Large-language-model (LLM) AI integration; allows NPCs to talk using
|
||||
responses from an LLM server.</p></li>
|
||||
<li><p>Fix: Make sure <code class="docutils literal notranslate"><span class="pre">at_server_reload</span></code> is called also on non-repeating Scripts.</p></li>
|
||||
<li><p>Fix: Webclient was not giving a proper error when sending an unknown outputfunc to it.</p></li>
|
||||
<li><p>Fix: Make <code class="docutils literal notranslate"><span class="pre">py</span></code> command always send strings unless <code class="docutils literal notranslate"><span class="pre">client_raw</span></code> flag is set.</p></li>
|
||||
<li><p>Fix: <code class="docutils literal notranslate"><span class="pre">Script.start</span></code> with an integer <code class="docutils literal notranslate"><span class="pre">start_delay</span></code> caused a traceback.</p></li>
|
||||
<li><p>Fix: Removing “Guest” from the permission-hierarchy setting messed up access.</p></li>
|
||||
<li><p>Docs: Remove doc pages for Travis/TeamCity CI tools, they were both very much
|
||||
out of date, and Travis is not free for OSS anymore.</p></li>
|
||||
<li><p>Docs: A lot fixes of typos and bugs in tutorials.</p></li>
|
||||
</ul>
|
||||
</section>
|
||||
<section id="evennia-2-1-0">
|
||||
<h2>Evennia 2.1.0<a class="headerlink" href="#evennia-2-1-0" title="Permalink to this headline">¶</a></h2>
|
||||
<p>July 14, 2023</p>
|
||||
<ul class="simple">
|
||||
<li><p>Fix: The new <code class="docutils literal notranslate"><span class="pre">ExtendedRoom</span></code> contrib has a bug when dug with no descriptions.</p></li>
|
||||
<li><p>Fix: Clean up <code class="docutils literal notranslate"><span class="pre">get_sides</span></code> function in evadventure tutorial to return also
|
||||
the calling combatant with its <code class="docutils literal notranslate"><span class="pre">allies</span></code> return, to make it easier to reason around.</p></li>
|
||||
<li><p>Feature: Add <code class="docutils literal notranslate"><span class="pre">SSL_CERTIFICATE_ISSUERS</span></code> setting for customizing Telnet+SSL.</p></li>
|
||||
<li><p>Contrib: Refactored <code class="docutils literal notranslate"><span class="pre">dice.roll</span></code> contrib function to use <code class="docutils literal notranslate"><span class="pre">safe_eval</span></code>. Can now
|
||||
optionally be used as <code class="docutils literal notranslate"><span class="pre">dice.roll("2d10</span> <span class="pre">+</span> <span class="pre">4</span> <span class="pre">></span> <span class="pre">10")</span></code>. Old way works too.</p></li>
|
||||
<li><p>Lots of doc updates.</p></li>
|
||||
</ul>
|
||||
</section>
|
||||
<section id="evennia-2-0-1">
|
||||
<h2>Evennia 2.0.1<a class="headerlink" href="#evennia-2-0-1" title="Permalink to this headline">¶</a></h2>
|
||||
<p>June 17, 2023</p>
|
||||
<ul class="simple">
|
||||
<li><p>Fix: A look-bug in the <code class="docutils literal notranslate"><span class="pre">ExtendedRoom</span></code> contrib (InspectorCaracal)</p></li>
|
||||
</ul>
|
||||
</section>
|
||||
<section id="evennia-2-0-0">
|
||||
<h2>Evennia 2.0.0<a class="headerlink" href="#evennia-2-0-0" title="Permalink to this headline">¶</a></h2>
|
||||
<section id="evennia-2-0">
|
||||
<h2>Evennia 2.0<a class="headerlink" href="#evennia-2-0" title="Permalink to this headline">¶</a></h2>
|
||||
<p>June 10, 2023</p>
|
||||
<ul class="simple">
|
||||
<li><p><strong>Possible backwards incompatibility</strong>: Updated contrib <code class="docutils literal notranslate"><span class="pre">ExtendedRoom</span></code> now
|
||||
|
|
@ -1371,9 +1230,6 @@ and have no changelogs.</p>
|
|||
<li class="nav-item nav-item-this"><a href="">Changelog</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<div class="footer" role="contentinfo">
|
||||
© Copyright 2023, The Evennia developer community.
|
||||
Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 3.2.1.
|
||||
|
|
|
|||
|
|
@ -21,8 +21,6 @@
|
|||
<link rel="prev" title="Zones" href="../Concepts/Zones.html" />
|
||||
</head><body>
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="related" role="navigation" aria-label="related navigation">
|
||||
<h3>Navigation</h3>
|
||||
|
|
@ -42,7 +40,11 @@
|
|||
<li class="nav-item nav-item-0"><a href="../index.html">Evennia 2.x</a> »</li>
|
||||
<li class="nav-item nav-item-this"><a href="">Coding and development help</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="document">
|
||||
|
||||
|
|
@ -96,18 +98,6 @@
|
|||
<a href="https://evennia.blogspot.com/">Blog</a>
|
||||
</li>
|
||||
</ul>
|
||||
<h3>Doc Versions</h3>
|
||||
<ul>
|
||||
|
||||
<li><a href="Coding-Overview.html">2.x (main branch)</a></li>
|
||||
<ul>
|
||||
<li><a href="../1.3.0/index.html">1.3.0 (v1.3.0 branch)</a></li>
|
||||
|
||||
<li><a href="../0.9.5/index.html">0.9.5 (v0.9.5 branch)</a></li>
|
||||
|
||||
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="bodywrapper">
|
||||
|
|
@ -170,12 +160,7 @@ make your game, also if you never coded before.</p>
|
|||
<div class="toctree-wrapper compound">
|
||||
<ul>
|
||||
<li class="toctree-l1"><a class="reference internal" href="Changelog.html">Changelog</a><ul>
|
||||
<li class="toctree-l2"><a class="reference internal" href="Changelog.html#main-branch">Main branch</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="Changelog.html#evennia-2-3-0">Evennia 2.3.0</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="Changelog.html#evennia-2-2-0">Evennia 2.2.0</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="Changelog.html#evennia-2-1-0">Evennia 2.1.0</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="Changelog.html#evennia-2-0-1">Evennia 2.0.1</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="Changelog.html#evennia-2-0-0">Evennia 2.0.0</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="Changelog.html#evennia-2-0">Evennia 2.0</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="Changelog.html#evennia-1-3-0">Evennia 1.3.0</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="Changelog.html#evennia-1-2-1">Evennia 1.2.1</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="Changelog.html#evennia-1-2-0">Evennia 1.2.0</a></li>
|
||||
|
|
@ -244,9 +229,6 @@ make your game, also if you never coded before.</p>
|
|||
<li class="nav-item nav-item-this"><a href="">Coding and development help</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<div class="footer" role="contentinfo">
|
||||
© Copyright 2023, The Evennia developer community.
|
||||
Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 3.2.1.
|
||||
|
|
|
|||
325
docs/2.x/Coding/Continuous-Integration-TeamCity.html
Normal file
325
docs/2.x/Coding/Continuous-Integration-TeamCity.html
Normal file
|
|
@ -0,0 +1,325 @@
|
|||
|
||||
<!DOCTYPE html>
|
||||
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
|
||||
|
||||
<title>Continuous Integration - TeamCity (linux) — Evennia 2.x documentation</title>
|
||||
<link rel="stylesheet" href="../_static/nature.css" type="text/css" />
|
||||
<link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
|
||||
<script id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
|
||||
<script src="../_static/jquery.js"></script>
|
||||
<script src="../_static/underscore.js"></script>
|
||||
<script src="../_static/doctools.js"></script>
|
||||
<script src="../_static/language_data.js"></script>
|
||||
<link rel="shortcut icon" href="../_static/favicon.ico"/>
|
||||
<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="Continuous integration with Travis" href="Continuous-Integration-Travis.html" />
|
||||
</head><body>
|
||||
|
||||
|
||||
<div class="related" role="navigation" aria-label="related navigation">
|
||||
<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="Continuous-Integration-Travis.html" title="Continuous integration with Travis"
|
||||
accesskey="P">previous</a> |</li>
|
||||
<li class="nav-item nav-item-0"><a href="../index.html">Evennia 2.x</a> »</li>
|
||||
<li class="nav-item nav-item-1"><a href="Coding-Overview.html" >Coding and development help</a> »</li>
|
||||
<li class="nav-item nav-item-2"><a href="Continuous-Integration.html" accesskey="U">Continuous Integration (CI)</a> »</li>
|
||||
<li class="nav-item nav-item-this"><a href="">Continuous Integration - TeamCity (linux)</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="document">
|
||||
|
||||
<div class="documentwrapper">
|
||||
<div class="sphinxsidebar" role="navigation" aria-label="main navigation">
|
||||
<div class="sphinxsidebarwrapper">
|
||||
<p class="logo"><a href="../index.html">
|
||||
<img class="logo" src="../_static/evennia_logo.png" alt="Logo"/>
|
||||
</a></p>
|
||||
<div id="searchbox" style="display: none" role="search">
|
||||
<h3 id="searchlabel">Quick search</h3>
|
||||
<div class="searchformwrapper">
|
||||
<form class="search" action="../search.html" method="get">
|
||||
<input type="text" name="q" aria-labelledby="searchlabel" />
|
||||
<input type="submit" value="Go" />
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
<script>$('#searchbox').show(0);</script>
|
||||
<h3><a href="../index.html">Table of Contents</a></h3>
|
||||
<ul>
|
||||
<li><a class="reference internal" href="#">Continuous Integration - TeamCity (linux)</a><ul>
|
||||
<li><a class="reference internal" href="#prerequisites">Prerequisites</a></li>
|
||||
<li><a class="reference internal" href="#a-quick-overview">A Quick Overview</a></li>
|
||||
<li><a class="reference internal" href="#template-setup">Template Setup</a><ul>
|
||||
<li><a class="reference internal" href="#creating-the-project">Creating the Project</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<h4>Previous topic</h4>
|
||||
<p class="topless"><a href="Continuous-Integration-Travis.html"
|
||||
title="previous chapter">Continuous integration with Travis</a></p>
|
||||
<h4>Next topic</h4>
|
||||
<p class="topless"><a href="Setting-up-PyCharm.html"
|
||||
title="next chapter">Setting up PyCharm with Evennia</a></p>
|
||||
<div role="note" aria-label="source link">
|
||||
<!--h3>This Page</h3-->
|
||||
<ul class="this-page-menu">
|
||||
<li><a href="../_sources/Coding/Continuous-Integration-TeamCity.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>
|
||||
</div>
|
||||
</div>
|
||||
<div class="bodywrapper">
|
||||
<div class="body" role="main">
|
||||
|
||||
<section class="tex2jax_ignore mathjax_ignore" id="continuous-integration-teamcity-linux">
|
||||
<h1>Continuous Integration - TeamCity (linux)<a class="headerlink" href="#continuous-integration-teamcity-linux" title="Permalink to this headline">¶</a></h1>
|
||||
<p>This sets up a TeamCity build integration environment on Linux.</p>
|
||||
<section id="prerequisites">
|
||||
<h2>Prerequisites<a class="headerlink" href="#prerequisites" title="Permalink to this headline">¶</a></h2>
|
||||
<ul class="simple">
|
||||
<li><p>Follow <a class="reference external" href="https://www.jetbrains.com/teamcity/">TeamCity</a> ‘s in-depth
|
||||
<a class="reference external" href="https://confluence.jetbrains.com/display/TCD8/Installing+and+Configuring+the+TeamCity+Server">Setup Guide</a>.</p></li>
|
||||
<li><p>You need to use <a class="reference internal" href="Version-Control.html"><span class="doc std std-doc">Version Control</span></a>.</p></li>
|
||||
</ul>
|
||||
<p>After meeting the preparation steps for your specific environment, log on to your teamcity interface
|
||||
at <code class="docutils literal notranslate"><span class="pre">http://<your</span> <span class="pre">server>:8111/</span></code>.</p>
|
||||
<p>Create a new project named “Evennia” and in it construct a new template called <code class="docutils literal notranslate"><span class="pre">continuous-integration</span></code>.</p>
|
||||
</section>
|
||||
<section id="a-quick-overview">
|
||||
<h2>A Quick Overview<a class="headerlink" href="#a-quick-overview" title="Permalink to this headline">¶</a></h2>
|
||||
<p><em>Templates</em> are fancy objects in TeamCity that allow an administrator to define build steps that are
|
||||
shared between one or more build projects. Assigning a VCS Root (Source Control) is unnecessary at
|
||||
this stage, primarily you’ll be worrying about the build steps and your default parameters (both
|
||||
visible on the tabs to the left.)</p>
|
||||
</section>
|
||||
<section id="template-setup">
|
||||
<h2>Template Setup<a class="headerlink" href="#template-setup" title="Permalink to this headline">¶</a></h2>
|
||||
<p>In this template, you’ll be outlining the steps necessary to build your specific game. (A number of
|
||||
sample scripts are provided under this section below!) Click Build Steps and prepare your general
|
||||
flow. For this example, we will be doing a few basic example steps:</p>
|
||||
<ul class="simple">
|
||||
<li><p>Transforming the <a class="reference external" href="http://Settings.py">Settings.py</a> file - We do this to update ports or other information that make your production
|
||||
environment unique from your development environment.</p></li>
|
||||
<li><p>Making migrations and migrating the game database.</p></li>
|
||||
<li><p>Publishing the game files.</p></li>
|
||||
<li><p>Reloading the server.</p></li>
|
||||
</ul>
|
||||
<p>For each step we’ll being use the “Command Line Runner” (a fancy name for a shell script executor).</p>
|
||||
<p>Create a build step with the name: “Transform Configuration” and add the script:</p>
|
||||
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span><span class="ch">#!/bin/bash</span>
|
||||
<span class="c1"># Replaces the game configuration with one </span>
|
||||
<span class="c1"># appropriate for this deployment.</span>
|
||||
|
||||
<span class="nv">CONFIG</span><span class="o">=</span><span class="s2">"%system.teamcity.build.checkoutDir%/server/conf/settings.py"</span>
|
||||
<span class="nv">MYCONF</span><span class="o">=</span><span class="s2">"%system.teamcity.build.checkoutDir%/server/conf/my.cnf"</span>
|
||||
|
||||
sed<span class="w"> </span>-e<span class="w"> </span><span class="s1">'s/TELNET_PORTS = [4000]/TELNET_PORTS = [%game.ports%]/g'</span><span class="w"> </span><span class="s2">"</span><span class="nv">$CONFIG</span><span class="s2">"</span><span class="w"> </span>><span class="w"> </span><span class="s2">"</span><span class="nv">$CONFIG</span><span class="s2">"</span>.tmp<span class="w"> </span><span class="o">&&</span><span class="w"> </span>mv
|
||||
<span class="s2">"</span><span class="nv">$CONFIG</span><span class="s2">"</span>.tmp<span class="w"> </span><span class="s2">"</span><span class="nv">$CONFIG</span><span class="s2">"</span>
|
||||
sed<span class="w"> </span>-e<span class="w"> </span><span class="s1">'s/WEBSERVER_PORTS = [(4001, 4002)]/WEBSERVER_PORTS = [%game.webports%]/g'</span><span class="w"> </span><span class="s2">"</span><span class="nv">$CONFIG</span><span class="s2">"</span><span class="w"> </span>>
|
||||
<span class="s2">"</span><span class="nv">$CONFIG</span><span class="s2">"</span>.tmp<span class="w"> </span><span class="o">&&</span><span class="w"> </span>mv<span class="w"> </span><span class="s2">"</span><span class="nv">$CONFIG</span><span class="s2">"</span>.tmp<span class="w"> </span><span class="s2">"</span><span class="nv">$CONFIG</span><span class="s2">"</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span><span class="c1"># settings.py MySQL DB configuration</span>
|
||||
<span class="nb">echo</span><span class="w"> </span>Configuring<span class="w"> </span>Game<span class="w"> </span>Database...
|
||||
<span class="nb">echo</span><span class="w"> </span><span class="s2">""</span><span class="w"> </span>>><span class="w"> </span><span class="s2">"</span><span class="nv">$CONFIG</span><span class="s2">"</span>
|
||||
<span class="nb">echo</span><span class="w"> </span><span class="s2">"######################################################################"</span><span class="w"> </span>>><span class="w"> </span><span class="s2">"</span><span class="nv">$CONFIG</span><span class="s2">"</span>
|
||||
<span class="nb">echo</span><span class="w"> </span><span class="s2">"# MySQL Database Configuration"</span><span class="w"> </span>>><span class="w"> </span><span class="s2">"</span><span class="nv">$CONFIG</span><span class="s2">"</span>
|
||||
<span class="nb">echo</span><span class="w"> </span><span class="s2">"######################################################################"</span><span class="w"> </span>>><span class="w"> </span><span class="s2">"</span><span class="nv">$CONFIG</span><span class="s2">"</span>
|
||||
|
||||
<span class="nb">echo</span><span class="w"> </span><span class="s2">"DATABASES = {"</span><span class="w"> </span>>><span class="w"> </span><span class="s2">"</span><span class="nv">$CONFIG</span><span class="s2">"</span>
|
||||
<span class="nb">echo</span><span class="w"> </span><span class="s2">" 'default': {"</span><span class="w"> </span>>><span class="w"> </span><span class="s2">"</span><span class="nv">$CONFIG</span><span class="s2">"</span>
|
||||
<span class="nb">echo</span><span class="w"> </span><span class="s2">" 'ENGINE': 'django.db.backends.mysql',"</span><span class="w"> </span>>><span class="w"> </span><span class="s2">"</span><span class="nv">$CONFIG</span><span class="s2">"</span>
|
||||
<span class="nb">echo</span><span class="w"> </span><span class="s2">" 'OPTIONS': {"</span><span class="w"> </span>>><span class="w"> </span><span class="s2">"</span><span class="nv">$CONFIG</span><span class="s2">"</span>
|
||||
<span class="nb">echo</span><span class="w"> </span><span class="s2">" 'read_default_file': 'server/conf/my.cnf',"</span><span class="w"> </span>>><span class="w"> </span><span class="s2">"</span><span class="nv">$CONFIG</span><span class="s2">"</span>
|
||||
<span class="nb">echo</span><span class="w"> </span><span class="s2">" },"</span><span class="w"> </span>>><span class="w"> </span><span class="s2">"</span><span class="nv">$CONFIG</span><span class="s2">"</span>
|
||||
<span class="nb">echo</span><span class="w"> </span><span class="s2">" }"</span><span class="w"> </span>>><span class="w"> </span><span class="s2">"</span><span class="nv">$CONFIG</span><span class="s2">"</span>
|
||||
<span class="nb">echo</span><span class="w"> </span><span class="s2">"}"</span><span class="w"> </span>>><span class="w"> </span><span class="s2">"</span><span class="nv">$CONFIG</span><span class="s2">"</span>
|
||||
|
||||
<span class="c1"># Create the My.CNF file.</span>
|
||||
<span class="nb">echo</span><span class="w"> </span><span class="s2">"[client]"</span><span class="w"> </span>>><span class="w"> </span><span class="s2">"</span><span class="nv">$MYCONF</span><span class="s2">"</span>
|
||||
<span class="nb">echo</span><span class="w"> </span><span class="s2">"database = %mysql.db%"</span><span class="w"> </span>>><span class="w"> </span><span class="s2">"</span><span class="nv">$MYCONF</span><span class="s2">"</span>
|
||||
<span class="nb">echo</span><span class="w"> </span><span class="s2">"user = %mysql.user%"</span><span class="w"> </span>>><span class="w"> </span><span class="s2">"</span><span class="nv">$MYCONF</span><span class="s2">"</span>
|
||||
<span class="nb">echo</span><span class="w"> </span><span class="s2">"password = %mysql.pass%"</span><span class="w"> </span>>><span class="w"> </span><span class="s2">"</span><span class="nv">$MYCONF</span><span class="s2">"</span>
|
||||
<span class="nb">echo</span><span class="w"> </span><span class="s2">"default-character-set = utf8"</span><span class="w"> </span>>><span class="w"> </span><span class="s2">"</span><span class="nv">$MYCONF</span><span class="s2">"</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
<p>If you look at the parameters side of the page after saving this script, you’ll notice that some new
|
||||
parameters have been populated for you. This is because we’ve included new teamcity configuration
|
||||
parameters that are populated when the build itself is ran. When creating projects that inherit this
|
||||
template, we’ll be able to fill in or override those parameters for project-specific configuration.</p>
|
||||
<p>Go ahead and create another build step called “Make Database Migration”
|
||||
If you’re using Sqlite3 for your game (default database), it’s prudent to change working directory on this
|
||||
step to your game dir.</p>
|
||||
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span><span class="ch">#!/bin/bash</span>
|
||||
<span class="c1"># Update the DB migration</span>
|
||||
|
||||
<span class="nv">LOGDIR</span><span class="o">=</span><span class="s2">"server/logs"</span>
|
||||
|
||||
.<span class="w"> </span>%evenv.dir%/bin/activate
|
||||
|
||||
<span class="c1"># Check that the logs directory exists.</span>
|
||||
<span class="k">if</span><span class="w"> </span><span class="o">[</span><span class="w"> </span>!<span class="w"> </span>-d<span class="w"> </span><span class="s2">"</span><span class="nv">$LOGDIR</span><span class="s2">"</span><span class="w"> </span><span class="o">]</span><span class="p">;</span><span class="w"> </span><span class="k">then</span>
|
||||
<span class="w"> </span><span class="c1"># Control will enter here if $LOGDIR doesn't exist.</span>
|
||||
<span class="w"> </span>mkdir<span class="w"> </span><span class="s2">"</span><span class="nv">$LOGDIR</span><span class="s2">"</span>
|
||||
<span class="k">fi</span>
|
||||
|
||||
evennia<span class="w"> </span>makemigrations
|
||||
</pre></div>
|
||||
</div>
|
||||
<p>Create yet another build step, this time named: “Execute Database Migration”:
|
||||
If you’re using Sqlite3 for your game (default database), it’s prudent to change working directory on this
|
||||
step to your game dir.</p>
|
||||
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span><span class="ch">#!/bin/bash</span>
|
||||
<span class="c1"># Apply the database migration.</span>
|
||||
<span class="w"> </span>
|
||||
<span class="nv">LOGDIR</span><span class="o">=</span><span class="s2">"server/logs"</span>
|
||||
<span class="w"> </span>
|
||||
.<span class="w"> </span>%evenv.dir%/bin/activate
|
||||
<span class="w"> </span>
|
||||
<span class="c1"># Check that the logs directory exists.</span>
|
||||
<span class="k">if</span><span class="w"> </span><span class="o">[</span><span class="w"> </span>!<span class="w"> </span>-d<span class="w"> </span><span class="s2">"</span><span class="nv">$LOGDIR</span><span class="s2">"</span><span class="w"> </span><span class="o">]</span><span class="p">;</span><span class="w"> </span><span class="k">then</span>
|
||||
<span class="w"> </span><span class="c1"># Control will enter here if $LOGDIR doesn't exist.</span>
|
||||
<span class="w"> </span>mkdir<span class="w"> </span><span class="s2">"</span><span class="nv">$LOGDIR</span><span class="s2">"</span>
|
||||
<span class="k">fi</span>
|
||||
<span class="w"> </span>
|
||||
evennia<span class="w"> </span>migrate
|
||||
</pre></div>
|
||||
</div>
|
||||
<p>Our next build step is where we actually publish our build. Up until now, all work on game has been
|
||||
done in a ‘work’ directory on TeamCity’s build agent. From that directory we will now copy our files
|
||||
to where our game actually exists on the local server.</p>
|
||||
<p>Create a new build step called “Publish Build”. If you’re using SQlite3 on your game, be sure to order this step ABOVE
|
||||
the Database Migration steps. The build order will matter!</p>
|
||||
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span><span class="ch">#!/bin/bash</span>
|
||||
<span class="c1"># Publishes the build to the proper build directory.</span>
|
||||
<span class="w"> </span>
|
||||
<span class="nv">DIRECTORY</span><span class="o">=</span><span class="s2">"<game_dir>"</span>
|
||||
<span class="w"> </span>
|
||||
<span class="k">if</span><span class="w"> </span><span class="o">[</span><span class="w"> </span>!<span class="w"> </span>-d<span class="w"> </span><span class="s2">"</span><span class="nv">$DIRECTORY</span><span class="s2">"</span><span class="w"> </span><span class="o">]</span><span class="p">;</span><span class="w"> </span><span class="k">then</span>
|
||||
<span class="w"> </span><span class="c1"># Control will enter here if $DIRECTORY doesn't exist.</span>
|
||||
<span class="w"> </span>mkdir<span class="w"> </span><span class="s2">"</span><span class="nv">$DIRECTORY</span><span class="s2">"</span>
|
||||
<span class="k">fi</span>
|
||||
<span class="w"> </span>
|
||||
<span class="c1"># Copy all the files.</span>
|
||||
cp<span class="w"> </span>-ruv<span class="w"> </span>%teamcity.build.checkoutDir%/*<span class="w"> </span><span class="s2">"</span><span class="nv">$DIRECTORY</span><span class="s2">"</span>
|
||||
chmod<span class="w"> </span>-R<span class="w"> </span><span class="m">775</span><span class="w"> </span><span class="s2">"</span><span class="nv">$DIRECTORY</span><span class="s2">"</span>
|
||||
<span class="w"> </span>
|
||||
</pre></div>
|
||||
</div>
|
||||
<p>Finally the last script will reload our game for us.</p>
|
||||
<p>Create a new script called “Reload Game”:
|
||||
The working directory on this build step will be: <code class="docutils literal notranslate"><span class="pre">%game.dir%</span></code></p>
|
||||
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span><span class="ch">#!/bin/bash</span>
|
||||
<span class="c1"># Apply the database migration.</span>
|
||||
|
||||
<span class="nv">LOGDIR</span><span class="o">=</span><span class="s2">"server/logs"</span>
|
||||
<span class="nv">PIDDIR</span><span class="o">=</span><span class="s2">"server/server.pid"</span>
|
||||
|
||||
.<span class="w"> </span>%evenv.dir%/bin/activate
|
||||
|
||||
<span class="c1"># Check that the logs directory exists.</span>
|
||||
<span class="k">if</span><span class="w"> </span><span class="o">[</span><span class="w"> </span>!<span class="w"> </span>-d<span class="w"> </span><span class="s2">"</span><span class="nv">$LOGDIR</span><span class="s2">"</span><span class="w"> </span><span class="o">]</span><span class="p">;</span><span class="w"> </span><span class="k">then</span>
|
||||
<span class="w"> </span><span class="c1"># Control will enter here if $LOGDIR doesn't exist.</span>
|
||||
<span class="w"> </span>mkdir<span class="w"> </span><span class="s2">"</span><span class="nv">$LOGDIR</span><span class="s2">"</span>
|
||||
<span class="k">fi</span>
|
||||
|
||||
<span class="c1"># Check that the server is running.</span>
|
||||
<span class="k">if</span><span class="w"> </span><span class="o">[</span><span class="w"> </span>-d<span class="w"> </span><span class="s2">"</span><span class="nv">$PIDDIR</span><span class="s2">"</span><span class="w"> </span><span class="o">]</span><span class="p">;</span><span class="w"> </span><span class="k">then</span>
|
||||
<span class="w"> </span><span class="c1"># Control will enter here if the game is running.</span>
|
||||
<span class="w"> </span>evennia<span class="w"> </span>reload
|
||||
<span class="k">fi</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
<p>Now the template is ready for use! It would be useful this time to revisit the parameters page and
|
||||
set the evenv parameter to the directory where your virtualenv exists: IE “/srv/mush/evenv”.</p>
|
||||
<section id="creating-the-project">
|
||||
<h3>Creating the Project<a class="headerlink" href="#creating-the-project" title="Permalink to this headline">¶</a></h3>
|
||||
<p>Now it’s time for the last few steps to set up a CI environment.</p>
|
||||
<ul class="simple">
|
||||
<li><p>Return to the Evennia Project overview/administration page.</p></li>
|
||||
<li><p>Create a new Sub-Project called “Production”. This will be the category that holds our actual game.</p></li>
|
||||
<li><p>Create a new Build Configuration in Production with the name of your MUSH. Base this configuration off of the
|
||||
continuous-integration template we made earlier.</p></li>
|
||||
<li><p>In the build configuration, enter VCS roots and create a new VCS root that points to the
|
||||
branch/version control that you are using.</p></li>
|
||||
<li><p>Go to the parameters page and fill in the undefined parameters for your specific configuration.</p></li>
|
||||
<li><p>If you wish for the CI to run every time a commit is made, go to the VCS triggers and add one for
|
||||
“On Every Commit”.</p></li>
|
||||
</ul>
|
||||
<p>And you’re done! At this point, you can return to the project overview page and queue a new build
|
||||
for your game. If everything was set up correctly, the build will complete successfully. Additional
|
||||
build steps could be added or removed at this point, adding some features like Unit Testing or more!</p>
|
||||
</section>
|
||||
</section>
|
||||
</section>
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div class="related" role="navigation" aria-label="related navigation">
|
||||
<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="Continuous-Integration-Travis.html" title="Continuous integration with Travis"
|
||||
>previous</a> |</li>
|
||||
<li class="nav-item nav-item-0"><a href="../index.html">Evennia 2.x</a> »</li>
|
||||
<li class="nav-item nav-item-1"><a href="Coding-Overview.html" >Coding and development help</a> »</li>
|
||||
<li class="nav-item nav-item-2"><a href="Continuous-Integration.html" >Continuous Integration (CI)</a> »</li>
|
||||
<li class="nav-item nav-item-this"><a href="">Continuous Integration - TeamCity (linux)</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="footer" role="contentinfo">
|
||||
© Copyright 2023, The Evennia developer community.
|
||||
Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 3.2.1.
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
165
docs/2.x/Coding/Continuous-Integration-Travis.html
Normal file
165
docs/2.x/Coding/Continuous-Integration-Travis.html
Normal file
|
|
@ -0,0 +1,165 @@
|
|||
|
||||
<!DOCTYPE html>
|
||||
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
|
||||
|
||||
<title>Continuous integration with Travis — Evennia 2.x documentation</title>
|
||||
<link rel="stylesheet" href="../_static/nature.css" type="text/css" />
|
||||
<link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
|
||||
<script id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
|
||||
<script src="../_static/jquery.js"></script>
|
||||
<script src="../_static/underscore.js"></script>
|
||||
<script src="../_static/doctools.js"></script>
|
||||
<script src="../_static/language_data.js"></script>
|
||||
<link rel="shortcut icon" href="../_static/favicon.ico"/>
|
||||
<link rel="index" title="Index" href="../genindex.html" />
|
||||
<link rel="search" title="Search" href="../search.html" />
|
||||
<link rel="next" title="Continuous Integration - TeamCity (linux)" href="Continuous-Integration-TeamCity.html" />
|
||||
<link rel="prev" title="Continuous Integration (CI)" href="Continuous-Integration.html" />
|
||||
</head><body>
|
||||
|
||||
|
||||
<div class="related" role="navigation" aria-label="related navigation">
|
||||
<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="Continuous-Integration-TeamCity.html" title="Continuous Integration - TeamCity (linux)"
|
||||
accesskey="N">next</a> |</li>
|
||||
<li class="right" >
|
||||
<a href="Continuous-Integration.html" title="Continuous Integration (CI)"
|
||||
accesskey="P">previous</a> |</li>
|
||||
<li class="nav-item nav-item-0"><a href="../index.html">Evennia 2.x</a> »</li>
|
||||
<li class="nav-item nav-item-1"><a href="Coding-Overview.html" >Coding and development help</a> »</li>
|
||||
<li class="nav-item nav-item-2"><a href="Continuous-Integration.html" accesskey="U">Continuous Integration (CI)</a> »</li>
|
||||
<li class="nav-item nav-item-this"><a href="">Continuous integration with Travis</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="document">
|
||||
|
||||
<div class="documentwrapper">
|
||||
<div class="sphinxsidebar" role="navigation" aria-label="main navigation">
|
||||
<div class="sphinxsidebarwrapper">
|
||||
<p class="logo"><a href="../index.html">
|
||||
<img class="logo" src="../_static/evennia_logo.png" alt="Logo"/>
|
||||
</a></p>
|
||||
<div id="searchbox" style="display: none" role="search">
|
||||
<h3 id="searchlabel">Quick search</h3>
|
||||
<div class="searchformwrapper">
|
||||
<form class="search" action="../search.html" method="get">
|
||||
<input type="text" name="q" aria-labelledby="searchlabel" />
|
||||
<input type="submit" value="Go" />
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
<script>$('#searchbox').show(0);</script>
|
||||
<h4>Previous topic</h4>
|
||||
<p class="topless"><a href="Continuous-Integration.html"
|
||||
title="previous chapter">Continuous Integration (CI)</a></p>
|
||||
<h4>Next topic</h4>
|
||||
<p class="topless"><a href="Continuous-Integration-TeamCity.html"
|
||||
title="next chapter">Continuous Integration - TeamCity (linux)</a></p>
|
||||
<div role="note" aria-label="source link">
|
||||
<!--h3>This Page</h3-->
|
||||
<ul class="this-page-menu">
|
||||
<li><a href="../_sources/Coding/Continuous-Integration-Travis.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>
|
||||
</div>
|
||||
</div>
|
||||
<div class="bodywrapper">
|
||||
<div class="body" role="main">
|
||||
|
||||
<section class="tex2jax_ignore mathjax_ignore" id="continuous-integration-with-travis">
|
||||
<h1>Continuous integration with Travis<a class="headerlink" href="#continuous-integration-with-travis" title="Permalink to this headline">¶</a></h1>
|
||||
<p><a class="reference external" href="https://travis-ci.org/">Travis CI</a> is an online service for checking, validating and potentially
|
||||
deploying code automatically. It can check that every commit is building successfully after every
|
||||
commit to its Github repository.</p>
|
||||
<p>If your game is open source on Github you may use Travis for free.
|
||||
See [the Travis docs](<a class="reference external" href="https://docs.travis-ci.com/user/getting-">https://docs.travis-ci.com/user/getting-</a> started/) for how to get started.</p>
|
||||
<p>After logging in you will get to point Travis to your repository on github. One further thing you
|
||||
need to set up yourself is a Travis config file named <code class="docutils literal notranslate"><span class="pre">.travis.yml</span></code> (note the initial period <code class="docutils literal notranslate"><span class="pre">.</span></code>).
|
||||
This should be created in the root of your game directory. The idea with this file is that it
|
||||
describes what Travis needs to import and build in order to create an instance of Evennia from
|
||||
scratch and then run validation tests on it. Here is an example:</p>
|
||||
<div class="highlight-yaml notranslate"><div class="highlight"><pre><span></span><span class="nt">language</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">python</span>
|
||||
<span class="nt">python</span><span class="p">:</span>
|
||||
<span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="s">"3.10"</span>
|
||||
<span class="nt">install</span><span class="p">:</span>
|
||||
<span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">git clone https://github.com/evennia/evennia.git</span>
|
||||
<span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">cd evennia</span>
|
||||
<span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">pip install -e .</span>
|
||||
<span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">cd $TRAVIS_BUILD_DIR</span>
|
||||
<span class="nt">script</span><span class="p">:</span>
|
||||
<span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">evennia migrate</span>
|
||||
<span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">evennia test --settings settings.py .</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
<p>This will tell travis how to download Evennia, install it, set up a database and then run
|
||||
your own test suite (inside the game dir). Use <code class="docutils literal notranslate"><span class="pre">evennia</span> <span class="pre">test</span> <span class="pre">evennia</span></code> if you also want to
|
||||
run the Evennia full test suite.</p>
|
||||
<p>You need to add this file to git (<code class="docutils literal notranslate"><span class="pre">git</span> <span class="pre">add</span> <span class="pre">.travis.yml</span></code>) and then commit your changes before Travis
|
||||
will be able to see it.</p>
|
||||
<p>For properly testing your game you of course also need to write unittests.
|
||||
The <a class="reference internal" href="Unit-Testing.html"><span class="doc std std-doc">Unit testing</span></a> doc page gives some ideas on how to set those up for Evennia.
|
||||
You should be able to refer to that for making tests fitting your game.</p>
|
||||
</section>
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div class="related" role="navigation" aria-label="related navigation">
|
||||
<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="Continuous-Integration-TeamCity.html" title="Continuous Integration - TeamCity (linux)"
|
||||
>next</a> |</li>
|
||||
<li class="right" >
|
||||
<a href="Continuous-Integration.html" title="Continuous Integration (CI)"
|
||||
>previous</a> |</li>
|
||||
<li class="nav-item nav-item-0"><a href="../index.html">Evennia 2.x</a> »</li>
|
||||
<li class="nav-item nav-item-1"><a href="Coding-Overview.html" >Coding and development help</a> »</li>
|
||||
<li class="nav-item nav-item-2"><a href="Continuous-Integration.html" >Continuous Integration (CI)</a> »</li>
|
||||
<li class="nav-item nav-item-this"><a href="">Continuous integration with Travis</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="footer" role="contentinfo">
|
||||
© Copyright 2023, The Evennia developer community.
|
||||
Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 3.2.1.
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
|
@ -17,12 +17,10 @@
|
|||
<link rel="shortcut icon" href="../_static/favicon.ico"/>
|
||||
<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="next" title="Continuous integration with Travis" href="Continuous-Integration-Travis.html" />
|
||||
<link rel="prev" title="Profiling" href="Profiling.html" />
|
||||
</head><body>
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="related" role="navigation" aria-label="related navigation">
|
||||
<h3>Navigation</h3>
|
||||
|
|
@ -34,7 +32,7 @@
|
|||
<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"
|
||||
<a href="Continuous-Integration-Travis.html" title="Continuous integration with Travis"
|
||||
accesskey="N">next</a> |</li>
|
||||
<li class="right" >
|
||||
<a href="Profiling.html" title="Profiling"
|
||||
|
|
@ -43,7 +41,11 @@
|
|||
<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>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="document">
|
||||
|
||||
|
|
@ -75,8 +77,8 @@
|
|||
<p class="topless"><a href="Profiling.html"
|
||||
title="previous chapter">Profiling</a></p>
|
||||
<h4>Next topic</h4>
|
||||
<p class="topless"><a href="Setting-up-PyCharm.html"
|
||||
title="next chapter">Setting up PyCharm with Evennia</a></p>
|
||||
<p class="topless"><a href="Continuous-Integration-Travis.html"
|
||||
title="next chapter">Continuous integration with Travis</a></p>
|
||||
<div role="note" aria-label="source link">
|
||||
<!--h3>This Page</h3-->
|
||||
<ul class="this-page-menu">
|
||||
|
|
@ -95,18 +97,6 @@
|
|||
<a href="https://evennia.blogspot.com/">Blog</a>
|
||||
</li>
|
||||
</ul>
|
||||
<h3>Doc Versions</h3>
|
||||
<ul>
|
||||
|
||||
<li><a href="Continuous-Integration.html">2.x (main branch)</a></li>
|
||||
<ul>
|
||||
<li><a href="../1.3.0/index.html">1.3.0 (v1.3.0 branch)</a></li>
|
||||
|
||||
<li><a href="../0.9.5/index.html">0.9.5 (v0.9.5 branch)</a></li>
|
||||
|
||||
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="bodywrapper">
|
||||
|
|
@ -114,7 +104,7 @@
|
|||
|
||||
<section class="tex2jax_ignore mathjax_ignore" id="continuous-integration-ci">
|
||||
<h1>Continuous Integration (CI)<a class="headerlink" href="#continuous-integration-ci" title="Permalink to this headline">¶</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><a class="reference external" href="https://www.thoughtworks.com/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>
|
||||
|
|
@ -126,8 +116,17 @@
|
|||
</ul>
|
||||
<section id="continuous-integration-guides">
|
||||
<h2>Continuous-Integration guides<a class="headerlink" href="#continuous-integration-guides" title="Permalink to this headline">¶</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>
|
||||
<p>There are a lot of tools and services providing CI functionality. Here are a few that people have used with Evennia:</p>
|
||||
<div class="toctree-wrapper compound">
|
||||
<ul>
|
||||
<li class="toctree-l1"><a class="reference internal" href="Continuous-Integration-Travis.html">Continuous integration with Travis</a></li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="Continuous-Integration-TeamCity.html">Continuous Integration - TeamCity (linux)</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<ul class="simple">
|
||||
<li><p>Evennia is itself making heavy use of <span class="xref myst">github actions</span></p></li>
|
||||
</ul>
|
||||
<p><a class="reference external" href="https://www.atlassian.com/continuous-delivery/continuous-integration/tools">This is an overview of other tools</a> (external link).</p>
|
||||
</section>
|
||||
</section>
|
||||
|
||||
|
|
@ -147,7 +146,7 @@
|
|||
<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"
|
||||
<a href="Continuous-Integration-Travis.html" title="Continuous integration with Travis"
|
||||
>next</a> |</li>
|
||||
<li class="right" >
|
||||
<a href="Profiling.html" title="Profiling"
|
||||
|
|
@ -157,9 +156,6 @@
|
|||
<li class="nav-item nav-item-this"><a href="">Continuous Integration (CI)</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<div class="footer" role="contentinfo">
|
||||
© Copyright 2023, The Evennia developer community.
|
||||
Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 3.2.1.
|
||||
|
|
|
|||
|
|
@ -21,8 +21,6 @@
|
|||
<link rel="prev" title="Coding using Version Control" href="Version-Control.html" />
|
||||
</head><body>
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="related" role="navigation" aria-label="related navigation">
|
||||
<h3>Navigation</h3>
|
||||
|
|
@ -43,7 +41,11 @@
|
|||
<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="">Debugging</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="document">
|
||||
|
||||
|
|
@ -103,18 +105,6 @@
|
|||
<a href="https://evennia.blogspot.com/">Blog</a>
|
||||
</li>
|
||||
</ul>
|
||||
<h3>Doc Versions</h3>
|
||||
<ul>
|
||||
|
||||
<li><a href="Debugging.html">2.x (main branch)</a></li>
|
||||
<ul>
|
||||
<li><a href="../1.3.0/index.html">1.3.0 (v1.3.0 branch)</a></li>
|
||||
|
||||
<li><a href="../0.9.5/index.html">0.9.5 (v0.9.5 branch)</a></li>
|
||||
|
||||
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="bodywrapper">
|
||||
|
|
@ -389,9 +379,6 @@ command is not needed much in <code class="docutils literal notranslate"><span c
|
|||
<li class="nav-item nav-item-this"><a href="">Debugging</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<div class="footer" role="contentinfo">
|
||||
© Copyright 2023, The Evennia developer community.
|
||||
Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 3.2.1.
|
||||
|
|
|
|||
|
|
@ -21,8 +21,6 @@
|
|||
<link rel="prev" title="Evennia Code Style" href="Evennia-Code-Style.html" />
|
||||
</head><body>
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="related" role="navigation" aria-label="related navigation">
|
||||
<h3>Navigation</h3>
|
||||
|
|
@ -43,7 +41,11 @@
|
|||
<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="">Default Command Syntax</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="document">
|
||||
|
||||
|
|
@ -87,18 +89,6 @@
|
|||
<a href="https://evennia.blogspot.com/">Blog</a>
|
||||
</li>
|
||||
</ul>
|
||||
<h3>Doc Versions</h3>
|
||||
<ul>
|
||||
|
||||
<li><a href="Default-Command-Syntax.html">2.x (main branch)</a></li>
|
||||
<ul>
|
||||
<li><a href="../1.3.0/index.html">1.3.0 (v1.3.0 branch)</a></li>
|
||||
|
||||
<li><a href="../0.9.5/index.html">0.9.5 (v0.9.5 branch)</a></li>
|
||||
|
||||
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="bodywrapper">
|
||||
|
|
@ -147,9 +137,6 @@ all the default command syntax should at most be referred to as “MUX-like” o
|
|||
<li class="nav-item nav-item-this"><a href="">Default Command Syntax</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<div class="footer" role="contentinfo">
|
||||
© Copyright 2023, The Evennia developer community.
|
||||
Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 3.2.1.
|
||||
|
|
|
|||
|
|
@ -21,8 +21,6 @@
|
|||
<link rel="prev" title="Coding and development help" href="Coding-Overview.html" />
|
||||
</head><body>
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="related" role="navigation" aria-label="related navigation">
|
||||
<h3>Navigation</h3>
|
||||
|
|
@ -43,7 +41,11 @@
|
|||
<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="">Evennia Code Style</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="document">
|
||||
|
||||
|
|
@ -107,18 +109,6 @@
|
|||
<a href="https://evennia.blogspot.com/">Blog</a>
|
||||
</li>
|
||||
</ul>
|
||||
<h3>Doc Versions</h3>
|
||||
<ul>
|
||||
|
||||
<li><a href="Evennia-Code-Style.html">2.x (main branch)</a></li>
|
||||
<ul>
|
||||
<li><a href="../1.3.0/index.html">1.3.0 (v1.3.0 branch)</a></li>
|
||||
|
||||
<li><a href="../0.9.5/index.html">0.9.5 (v0.9.5 branch)</a></li>
|
||||
|
||||
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="bodywrapper">
|
||||
|
|
@ -402,9 +392,6 @@ Google-style docstrings, follow <a class="reference external" href="https://www.
|
|||
<li class="nav-item nav-item-this"><a href="">Evennia Code Style</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<div class="footer" role="contentinfo">
|
||||
© Copyright 2023, The Evennia developer community.
|
||||
Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 3.2.1.
|
||||
|
|
|
|||
|
|
@ -21,8 +21,6 @@
|
|||
<link rel="prev" title="Unit Testing" href="Unit-Testing.html" />
|
||||
</head><body>
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="related" role="navigation" aria-label="related navigation">
|
||||
<h3>Navigation</h3>
|
||||
|
|
@ -43,7 +41,11 @@
|
|||
<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="">Profiling</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="document">
|
||||
|
||||
|
|
@ -103,18 +105,6 @@
|
|||
<a href="https://evennia.blogspot.com/">Blog</a>
|
||||
</li>
|
||||
</ul>
|
||||
<h3>Doc Versions</h3>
|
||||
<ul>
|
||||
|
||||
<li><a href="Profiling.html">2.x (main branch)</a></li>
|
||||
<ul>
|
||||
<li><a href="../1.3.0/index.html">1.3.0 (v1.3.0 branch)</a></li>
|
||||
|
||||
<li><a href="../0.9.5/index.html">0.9.5 (v0.9.5 branch)</a></li>
|
||||
|
||||
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="bodywrapper">
|
||||
|
|
@ -333,9 +323,6 @@ For this, actual real-game testing is required.</p></li>
|
|||
<li class="nav-item nav-item-this"><a href="">Profiling</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<div class="footer" role="contentinfo">
|
||||
© Copyright 2023, The Evennia developer community.
|
||||
Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 3.2.1.
|
||||
|
|
|
|||
|
|
@ -21,8 +21,6 @@
|
|||
<link rel="prev" title="Changelog" href="Changelog.html" />
|
||||
</head><body>
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="related" role="navigation" aria-label="related navigation">
|
||||
<h3>Navigation</h3>
|
||||
|
|
@ -43,7 +41,11 @@
|
|||
<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="">Evennia 1.0 Release Notes</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="document">
|
||||
|
||||
|
|
@ -104,18 +106,6 @@
|
|||
<a href="https://evennia.blogspot.com/">Blog</a>
|
||||
</li>
|
||||
</ul>
|
||||
<h3>Doc Versions</h3>
|
||||
<ul>
|
||||
|
||||
<li><a href="Release-Notes-1.0.html">2.x (main branch)</a></li>
|
||||
<ul>
|
||||
<li><a href="../1.3.0/index.html">1.3.0 (v1.3.0 branch)</a></li>
|
||||
|
||||
<li><a href="../0.9.5/index.html">0.9.5 (v0.9.5 branch)</a></li>
|
||||
|
||||
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="bodywrapper">
|
||||
|
|
@ -322,9 +312,6 @@ a space or <code class="docutils literal notranslate"><span class="pre">/</span>
|
|||
<li class="nav-item nav-item-this"><a href="">Evennia 1.0 Release Notes</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<div class="footer" role="contentinfo">
|
||||
© Copyright 2023, The Evennia developer community.
|
||||
Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 3.2.1.
|
||||
|
|
|
|||
|
|
@ -18,11 +18,9 @@
|
|||
<link rel="index" title="Index" href="../genindex.html" />
|
||||
<link rel="search" title="Search" href="../search.html" />
|
||||
<link rel="next" title="Changelog" href="Changelog.html" />
|
||||
<link rel="prev" title="Continuous Integration (CI)" href="Continuous-Integration.html" />
|
||||
<link rel="prev" title="Continuous Integration - TeamCity (linux)" href="Continuous-Integration-TeamCity.html" />
|
||||
</head><body>
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="related" role="navigation" aria-label="related navigation">
|
||||
<h3>Navigation</h3>
|
||||
|
|
@ -37,13 +35,17 @@
|
|||
<a href="Changelog.html" title="Changelog"
|
||||
accesskey="N">next</a> |</li>
|
||||
<li class="right" >
|
||||
<a href="Continuous-Integration.html" title="Continuous Integration (CI)"
|
||||
<a href="Continuous-Integration-TeamCity.html" title="Continuous Integration - TeamCity (linux)"
|
||||
accesskey="P">previous</a> |</li>
|
||||
<li class="nav-item nav-item-0"><a href="../index.html">Evennia 2.x</a> »</li>
|
||||
<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="">Setting up PyCharm with Evennia</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="document">
|
||||
|
||||
|
|
@ -76,8 +78,8 @@
|
|||
</ul>
|
||||
|
||||
<h4>Previous topic</h4>
|
||||
<p class="topless"><a href="Continuous-Integration.html"
|
||||
title="previous chapter">Continuous Integration (CI)</a></p>
|
||||
<p class="topless"><a href="Continuous-Integration-TeamCity.html"
|
||||
title="previous chapter">Continuous Integration - TeamCity (linux)</a></p>
|
||||
<h4>Next topic</h4>
|
||||
<p class="topless"><a href="Changelog.html"
|
||||
title="next chapter">Changelog</a></p>
|
||||
|
|
@ -99,18 +101,6 @@
|
|||
<a href="https://evennia.blogspot.com/">Blog</a>
|
||||
</li>
|
||||
</ul>
|
||||
<h3>Doc Versions</h3>
|
||||
<ul>
|
||||
|
||||
<li><a href="Setting-up-PyCharm.html">2.x (main branch)</a></li>
|
||||
<ul>
|
||||
<li><a href="../1.3.0/index.html">1.3.0 (v1.3.0 branch)</a></li>
|
||||
|
||||
<li><a href="../0.9.5/index.html">0.9.5 (v0.9.5 branch)</a></li>
|
||||
|
||||
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="bodywrapper">
|
||||
|
|
@ -222,16 +212,13 @@ still running in interactive mode.</p>
|
|||
<a href="Changelog.html" title="Changelog"
|
||||
>next</a> |</li>
|
||||
<li class="right" >
|
||||
<a href="Continuous-Integration.html" title="Continuous Integration (CI)"
|
||||
<a href="Continuous-Integration-TeamCity.html" title="Continuous Integration - TeamCity (linux)"
|
||||
>previous</a> |</li>
|
||||
<li class="nav-item nav-item-0"><a href="../index.html">Evennia 2.x</a> »</li>
|
||||
<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="">Setting up PyCharm with Evennia</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<div class="footer" role="contentinfo">
|
||||
© Copyright 2023, The Evennia developer community.
|
||||
Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 3.2.1.
|
||||
|
|
|
|||
|
|
@ -21,8 +21,6 @@
|
|||
<link rel="prev" title="Default Command Syntax" href="Default-Command-Syntax.html" />
|
||||
</head><body>
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="related" role="navigation" aria-label="related navigation">
|
||||
<h3>Navigation</h3>
|
||||
|
|
@ -44,7 +42,11 @@
|
|||
<li class="nav-item nav-item-2"><a href="Default-Command-Syntax.html" accesskey="U">Default Command Syntax</a> »</li>
|
||||
<li class="nav-item nav-item-this"><a href="">Soft Code</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="document">
|
||||
|
||||
|
|
@ -100,18 +102,6 @@
|
|||
<a href="https://evennia.blogspot.com/">Blog</a>
|
||||
</li>
|
||||
</ul>
|
||||
<h3>Doc Versions</h3>
|
||||
<ul>
|
||||
|
||||
<li><a href="Soft-Code.html">2.x (main branch)</a></li>
|
||||
<ul>
|
||||
<li><a href="../1.3.0/index.html">1.3.0 (v1.3.0 branch)</a></li>
|
||||
|
||||
<li><a href="../0.9.5/index.html">0.9.5 (v0.9.5 branch)</a></li>
|
||||
|
||||
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="bodywrapper">
|
||||
|
|
@ -195,9 +185,6 @@
|
|||
<li class="nav-item nav-item-this"><a href="">Soft Code</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<div class="footer" role="contentinfo">
|
||||
© Copyright 2023, The Evennia developer community.
|
||||
Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 3.2.1.
|
||||
|
|
|
|||
|
|
@ -21,8 +21,6 @@
|
|||
<link rel="prev" title="Debugging" href="Debugging.html" />
|
||||
</head><body>
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="related" role="navigation" aria-label="related navigation">
|
||||
<h3>Navigation</h3>
|
||||
|
|
@ -43,7 +41,11 @@
|
|||
<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="">Unit Testing</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="document">
|
||||
|
||||
|
|
@ -106,18 +108,6 @@
|
|||
<a href="https://evennia.blogspot.com/">Blog</a>
|
||||
</li>
|
||||
</ul>
|
||||
<h3>Doc Versions</h3>
|
||||
<ul>
|
||||
|
||||
<li><a href="Unit-Testing.html">2.x (main branch)</a></li>
|
||||
<ul>
|
||||
<li><a href="../1.3.0/index.html">1.3.0 (v1.3.0 branch)</a></li>
|
||||
|
||||
<li><a href="../0.9.5/index.html">0.9.5 (v0.9.5 branch)</a></li>
|
||||
|
||||
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="bodywrapper">
|
||||
|
|
@ -439,9 +429,6 @@ django-test-without-migrations package. To install it, simply:</p>
|
|||
<li class="nav-item nav-item-this"><a href="">Unit Testing</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<div class="footer" role="contentinfo">
|
||||
© Copyright 2023, The Evennia developer community.
|
||||
Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 3.2.1.
|
||||
|
|
|
|||
|
|
@ -21,8 +21,6 @@
|
|||
<link rel="prev" title="Soft Code" href="Soft-Code.html" />
|
||||
</head><body>
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="related" role="navigation" aria-label="related navigation">
|
||||
<h3>Navigation</h3>
|
||||
|
|
@ -43,7 +41,11 @@
|
|||
<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="">Coding using Version Control</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="document">
|
||||
|
||||
|
|
@ -117,18 +119,6 @@
|
|||
<a href="https://evennia.blogspot.com/">Blog</a>
|
||||
</li>
|
||||
</ul>
|
||||
<h3>Doc Versions</h3>
|
||||
<ul>
|
||||
|
||||
<li><a href="Version-Control.html">2.x (main branch)</a></li>
|
||||
<ul>
|
||||
<li><a href="../1.3.0/index.html">1.3.0 (v1.3.0 branch)</a></li>
|
||||
|
||||
<li><a href="../0.9.5/index.html">0.9.5 (v0.9.5 branch)</a></li>
|
||||
|
||||
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="bodywrapper">
|
||||
|
|
@ -493,9 +483,6 @@ password<span class="w"> </span><my_github_password>
|
|||
<li class="nav-item nav-item-this"><a href="">Coding using Version Control</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<div class="footer" role="contentinfo">
|
||||
© Copyright 2023, The Evennia developer community.
|
||||
Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 3.2.1.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue