mirror of
https://github.com/evennia/evennia.git
synced 2026-03-18 13:56:30 +01:00
158 lines
9.3 KiB
HTML
158 lines
9.3 KiB
HTML
|
|
|
||
|
|
<!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 1.0 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 1.0</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">Home page</a> </li>
|
||
|
|
<li><a href="https://github.com/evennia/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 1.0</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 2022, The Evennia developer community.
|
||
|
|
Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 3.2.1.
|
||
|
|
</div>
|
||
|
|
</body>
|
||
|
|
</html>
|