diff options
-rw-r--r-- | NEWS | 14 | ||||
-rw-r--r-- | README | 5 | ||||
-rw-r--r-- | arch/build.py | 14 | ||||
-rwxr-xr-x | arch/build.sh | 13 | ||||
-rw-r--r-- | arch/ick2-arch.mdwn | 13 | ||||
-rw-r--r-- | arch/ick2.css | 17 | ||||
-rwxr-xr-x | check | 21 | ||||
-rw-r--r-- | copyright-exceptions | 1 | ||||
-rwxr-xr-x | create-token | 6 | ||||
-rw-r--r-- | debian/ick2.postinst | 13 | ||||
-rwxr-xr-x | debian/rules | 13 | ||||
-rwxr-xr-x | generate-rsa-key | 6 | ||||
-rw-r--r-- | ick2.service | 12 | ||||
-rw-r--r-- | ick2/__init__.py | 12 | ||||
-rw-r--r-- | ick2/controllerapi.py | 12 | ||||
-rw-r--r-- | ick2/controllerapi_tests.py | 14 | ||||
-rw-r--r-- | ick2/logging.py | 12 | ||||
-rw-r--r-- | ick2/state.py | 13 | ||||
-rw-r--r-- | ick2/state_tests.py | 15 | ||||
-rw-r--r-- | ick2version/__init__.py | 13 | ||||
-rw-r--r-- | ick_controller.py | 14 | ||||
-rwxr-xr-x | is-agpl3+ | 39 | ||||
-rwxr-xr-x | run-debug | 13 | ||||
-rw-r--r-- | setup.py | 13 | ||||
-rwxr-xr-x | worker-manager | 10 | ||||
-rw-r--r-- | yarns/000.yarn | 15 | ||||
-rw-r--r-- | yarns/100-projects.yarn | 27 | ||||
-rw-r--r-- | yarns/900-implements.yarn | 19 | ||||
-rw-r--r-- | yarns/lib.py | 13 |
29 files changed, 369 insertions, 33 deletions
@@ -3,6 +3,20 @@ NEWS for ick2, a CI server Copyright 2017 Lars Wirzenius +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU Affero General Public License as published by +the Free Software Foundation, either version 3 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU Affero General Public License for more details. + +You should have received a copy of the GNU Affero General Public License +along with this program. If not, see <http://www.gnu.org/licenses/>. + + Version 0.2.1+git, not yet released ----------------------------------- @@ -73,9 +73,9 @@ example: projects: count: - shell_steps: + shell_steps: - for x in $(seq 100); do echo hello, $x; sleep 1; done - + Also, you'll want to enable and start the ick2 service: sudo systemctl enable ick2 @@ -110,3 +110,4 @@ GNU Affero General Public License for more details. You should have received a copy of the GNU Affero General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. + diff --git a/arch/build.py b/arch/build.py index fbd9f91..a3b330b 100644 --- a/arch/build.py +++ b/arch/build.py @@ -1,6 +1,20 @@ #!/usr/bin/env python2 # # Copyright 2017 Lars Wirzenius +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see <http://www.gnu.org/licenses/>. + import os diff --git a/arch/build.sh b/arch/build.sh index ce1bad7..d361d74 100755 --- a/arch/build.sh +++ b/arch/build.sh @@ -1,5 +1,18 @@ #!/bin/sh # Copyright 2017 Lars Wirzenius +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see <http://www.gnu.org/licenses/>. set -eu diff --git a/arch/ick2-arch.mdwn b/arch/ick2-arch.mdwn index b368034..5ff6bf0 100644 --- a/arch/ick2-arch.mdwn +++ b/arch/ick2-arch.mdwn @@ -2,6 +2,19 @@ Copyright 2017 Lars Wirzenius +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU Affero General Public License as published by +the Free Software Foundation, either version 3 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU Affero General Public License for more details. + +You should have received a copy of the GNU Affero General Public License +along with this program. If not, see <http://www.gnu.org/licenses/>. + --> --- diff --git a/arch/ick2.css b/arch/ick2.css index c925781..39cc272 100644 --- a/arch/ick2.css +++ b/arch/ick2.css @@ -1,4 +1,19 @@ -/* Copyright 2017 Lars Wirzenius */ +/* + * Copyright 2017 Lars Wirzenius + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ <style> html { @@ -1,5 +1,19 @@ #!/bin/sh +# # Copyright 2017 Lars Wirzenius +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see <http://www.gnu.org/licenses/>. set -eu @@ -21,8 +35,13 @@ python3 -m CoverageTestRunner --ignore-missing-from=without-tests ick2 if [ -e .git ] then + sources="$(git ls-files | grep -Fvxf copyright-exceptions)" + title Copyright statements - copyright-statement-lint $(git ls-files | grep -Fvxf copyright-exceptions) + copyright-statement-lint $sources + + title Copyright licences + ./is-agpl3+ $sources fi title Yarns diff --git a/copyright-exceptions b/copyright-exceptions index ec1b211..b7d0bf5 100644 --- a/copyright-exceptions +++ b/copyright-exceptions @@ -1,3 +1,4 @@ +copyright-exceptions debian/changelog debian/control debian/compat diff --git a/create-token b/create-token index e2e9fbb..bbcee42 100755 --- a/create-token +++ b/create-token @@ -2,9 +2,9 @@ # Copyright (C) 2017 Lars Wirzenius # # This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU Affero General Public License as -# published by the Free Software Foundation, either version 3 of the -# License, or (at your option) any later version. +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/debian/ick2.postinst b/debian/ick2.postinst index 389899f..c8192a7 100644 --- a/debian/ick2.postinst +++ b/debian/ick2.postinst @@ -1,5 +1,18 @@ #!/bin/sh # Copyright 2017 Lars Wirzenius +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see <http://www.gnu.org/licenses/>. set -eu diff --git a/debian/rules b/debian/rules index 10f84d7..36684a9 100755 --- a/debian/rules +++ b/debian/rules @@ -1,5 +1,18 @@ #!/usr/bin/make -f # Copyright 2017 Lars Wirzenius +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see <http://www.gnu.org/licenses/>. export PYBUILD_NAME=ick2 diff --git a/generate-rsa-key b/generate-rsa-key index d73ba0d..e44a796 100755 --- a/generate-rsa-key +++ b/generate-rsa-key @@ -2,9 +2,9 @@ # Copyright (C) 2017 Lars Wirzenius # # This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU Affero General Public License as -# published by the Free Software Foundation, either version 3 of the -# License, or (at your option) any later version. +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of diff --git a/ick2.service b/ick2.service index 273523e..3e661ff 100644 --- a/ick2.service +++ b/ick2.service @@ -1,4 +1,16 @@ # Copyright 2017 Lars Wirzenius +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see <http://www.gnu.org/licenses/>. [Unit] Description=uWSGI instance to serve Ick2 controller diff --git a/ick2/__init__.py b/ick2/__init__.py index bf349aa..244ca88 100644 --- a/ick2/__init__.py +++ b/ick2/__init__.py @@ -1,4 +1,16 @@ # Copyright (C) 2017 Lars Wirzenius +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see <http://www.gnu.org/licenses/>. from .logging import setup_logging, log diff --git a/ick2/controllerapi.py b/ick2/controllerapi.py index c2b3213..340d609 100644 --- a/ick2/controllerapi.py +++ b/ick2/controllerapi.py @@ -1,4 +1,16 @@ # Copyright (C) 2017 Lars Wirzenius +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see <http://www.gnu.org/licenses/>. import glob diff --git a/ick2/controllerapi_tests.py b/ick2/controllerapi_tests.py index 3277526..ca05e6b 100644 --- a/ick2/controllerapi_tests.py +++ b/ick2/controllerapi_tests.py @@ -1,4 +1,16 @@ # Copyright (C) 2017 Lars Wirzenius +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see <http://www.gnu.org/licenses/>. import os @@ -34,7 +46,7 @@ class ControllerAPITests(unittest.TestCase): statedir = api.get_state_directory() self.assertEqual(statedir, self.statedir) self.assertTrue(os.path.exists(statedir)) - + def test_has_not_projects_initially(self): api = self.create_api() self.assertEqual(api.get_projects(), {'projects': []}) diff --git a/ick2/logging.py b/ick2/logging.py index 729778d..00a65ac 100644 --- a/ick2/logging.py +++ b/ick2/logging.py @@ -1,4 +1,16 @@ # Copyright (C) 2017 Lars Wirzenius +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see <http://www.gnu.org/licenses/>. import slog diff --git a/ick2/state.py b/ick2/state.py index 3d4199f..8fd00c6 100644 --- a/ick2/state.py +++ b/ick2/state.py @@ -1,4 +1,17 @@ # Copyright (C) 2017 Lars Wirzenius +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see <http://www.gnu.org/licenses/>. import glob diff --git a/ick2/state_tests.py b/ick2/state_tests.py index 098ad2d..15a0a24 100644 --- a/ick2/state_tests.py +++ b/ick2/state_tests.py @@ -1,4 +1,17 @@ # Copyright (C) 2017 Lars Wirzenius +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see <http://www.gnu.org/licenses/>. import os @@ -33,7 +46,7 @@ class ControllerStateTests(unittest.TestCase): statedir = state.get_state_directory() self.assertEqual(statedir, self.statedir) self.assertTrue(os.path.exists(statedir)) - + def test_has_not_projects_initially(self): state = self.create_state() self.assertEqual(state.get_projects(), []) diff --git a/ick2version/__init__.py b/ick2version/__init__.py index e8034d0..7a73a9e 100644 --- a/ick2version/__init__.py +++ b/ick2version/__init__.py @@ -1,4 +1,17 @@ # Copyright (C) 2017 Lars Wirzenius +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see <http://www.gnu.org/licenses/>. from .version import __version__, __version_info__ diff --git a/ick_controller.py b/ick_controller.py index e201a40..5fc44c5 100644 --- a/ick_controller.py +++ b/ick_controller.py @@ -1,5 +1,19 @@ #!/usr/bin/python3 # Copyright (C) 2017 Lars Wirzenius +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see <http://www.gnu.org/licenses/>. + import os diff --git a/is-agpl3+ b/is-agpl3+ new file mode 100755 index 0000000..5ff33e6 --- /dev/null +++ b/is-agpl3+ @@ -0,0 +1,39 @@ +#!/bin/sh + +set -eu + + +has_blurb() +{ + local file="$1" + while read line + do + if ! grep -F "$line" "$file" + then + return 1 + fi + done <<EOF +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU Affero General Public License as published by +the Free Software Foundation, either version 3 of the License, or +(at your option) any later version. +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU Affero General Public License for more details. +You should have received a copy of the GNU Affero General Public License +along with this program. If not, see <http://www.gnu.org/licenses/>. +EOF +} + +exit=0 +for file in "$@" +do + if ! has_blurb "$file" > /dev/null + then + echo "ERROR: does not have expected license blurb: $file" + exit=1 + fi +done + +exit $exit @@ -1,5 +1,18 @@ #!/bin/sh # Copyright 2017 Lars Wirzenius +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see <http://www.gnu.org/licenses/>. set -eu @@ -1,19 +1,18 @@ #!/usr/bin/python3 # Copyright (C) 2017 Lars Wirzenius <liw@liw.fi> # -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3 of the License, or +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. +# GNU Affero General Public License for more details. # -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see <http://www.gnu.org/licenses/>. from distutils.core import setup, Extension import glob diff --git a/worker-manager b/worker-manager index f4a1f47..89059b9 100755 --- a/worker-manager +++ b/worker-manager @@ -2,19 +2,17 @@ # Copyright 2017 Lars Wirzenius # # This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by +# it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. +# GNU Affero General Public License for more details. # -# You should have received a copy of the GNU General Public License +# You should have received a copy of the GNU Affero General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. -# -# =*= License: GPL-3+ =*= import json @@ -108,7 +106,7 @@ class WorkerManager(cliapp.Application): s = dict(snippet) s[stream_name] = data self.post_snippet(snippet_url, s) - + env = dict(os.environ) env['ICK_URL'] = work['git'] diff --git a/yarns/000.yarn b/yarns/000.yarn index 8267fcc..39022bf 100644 --- a/yarns/000.yarn +++ b/yarns/000.yarn @@ -1,5 +1,20 @@ <!-- + Copyright 2017 Lars Wirzenius + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU Affero General Public License as published by +the Free Software Foundation, either version 3 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU Affero General Public License for more details. + +You should have received a copy of the GNU Affero General Public License +along with this program. If not, see <http://www.gnu.org/licenses/>. + --> --- diff --git a/yarns/100-projects.yarn b/yarns/100-projects.yarn index 31e1441..d0d72d5 100644 --- a/yarns/100-projects.yarn +++ b/yarns/100-projects.yarn @@ -1,5 +1,20 @@ <!-- + Copyright 2017 Lars Wirzenius + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU Affero General Public License as published by +the Free Software Foundation, either version 3 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU Affero General Public License for more details. + +You should have received a copy of the GNU Affero General Public License +along with this program. If not, see <http://www.gnu.org/licenses/>. + --> # Controller project management @@ -36,7 +51,7 @@ building them. We start by starting an instance of the controller. SCENARIO managing projects GIVEN an RSA key pair for token signing - AND an access token for scopes + AND an access token for scopes ... uapi_projects_get ... uapi_projects_post ... uapi_projects_id_get @@ -59,7 +74,7 @@ building them. We start by starting an instance of the controller. ... ] ... } THEN result has status code 201 - AND body matches + AND body matches ... { ... "project": "website", ... "shell_steps": [ @@ -72,7 +87,7 @@ building them. We start by starting an instance of the controller. WHEN user makes request GET /projects THEN result has status code 200 - AND body matches + AND body matches ... { ... "projects": [ ... { @@ -90,7 +105,7 @@ building them. We start by starting an instance of the controller. GIVEN a running ick controller WHEN user makes request GET /projects/website THEN result has status code 200 - AND body matches + AND body matches ... { ... "project": "website", ... "shell_steps": [ @@ -108,7 +123,7 @@ building them. We start by starting an instance of the controller. ... ] ... } THEN result has status code 200 - AND body matches + AND body matches ... { ... "project": "website", ... "shell_steps": [ @@ -119,7 +134,7 @@ building them. We start by starting an instance of the controller. WHEN user makes request GET /projects/website THEN result has status code 200 - AND body matches + AND body matches ... { ... "project": "website", ... "shell_steps": [ diff --git a/yarns/900-implements.yarn b/yarns/900-implements.yarn index 3866668..9e5732a 100644 --- a/yarns/900-implements.yarn +++ b/yarns/900-implements.yarn @@ -1,5 +1,20 @@ <!-- + Copyright 2017 Lars Wirzenius + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU Affero General Public License as published by +the Free Software Foundation, either version 3 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU Affero General Public License for more details. + +You should have received a copy of the GNU Affero General Public License +along with this program. If not, see <http://www.gnu.org/licenses/>. + --> # Scenario step implementations @@ -66,11 +81,11 @@ Copyright 2017 Lars Wirzenius cliapp.runcmd(argv, env=env) vars['pid'] = int(cat('pid')) wait_for_port(vars['port']) - + IMPLEMENTS WHEN user stops ick controller import os, signal os.kill(vars['pid'], signal.SIGTERM) - + IMPLEMENTS FINALLY stop ick controller import os, signal os.kill(vars['pid'], signal.SIGTERM) diff --git a/yarns/lib.py b/yarns/lib.py index 32f33ad..960f2f7 100644 --- a/yarns/lib.py +++ b/yarns/lib.py @@ -1,4 +1,17 @@ # Copyright 2017 Lars Wirzenius +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see <http://www.gnu.org/licenses/>. import errno import json |