=================== App::Dochazka::REST =================== .. image:: https://travis-ci.org/smithfarm/dochazka-rest.svg?branch=master :target: https://travis-ci.org/smithfarm/dochazka-rest .. image:: https://badge.fury.io/pl/App-Dochazka-REST.svg :target: https://badge.fury.io/pl/App-Dochazka-REST ----------------------------------------------------------------------- REST server component of the Dochazka Attendance & Time Tracking system ----------------------------------------------------------------------- Documentation ============= http://metacpan.org/pod/App::Dochazka::REST Test drive ========== The :code:`test-drive.sh` script makes it possible to take App::Dochazka::REST for a test drive without installing it. The only prerequisite is that Docker must be installed and running. :: $ ./test-drive.sh When the script finishes, you should be able to access the REST server on port 5000. Dockerized testing environment ============================== The git repo includes a :code:`Dockerfile` that can be used to create a Dockerized testing environment: :: $ docker build -t dochazka-rest docker/testing/ The resulting image, tagged :code:`dochazka-rest`, is designed to work with the `official PostgreSQL Docker images`_. .. _`official PostgreSQL Docker images`: https://hub.docker.com/_/postgres/ A script, :code:`docker-test.sh`, is provided in the top-level directory to make it easier to run both images and link them together properly: :: $ ./docker-test.sh f4d9677dd59e23527122a4f38c662b4b8ea6bb49a3921a018e7b70dfc7c25c1e 51e839db7d66fe5c90edc73e850fe85c35dca5401bd502277d6575fcbbea9f4d $ The :code:`docker-test.sh` script spawns two Docker containers, tagged :code:`dr-postgres` and :code:`dr`, and writes their hashes to stdout. The Dockerized testing environment is in the container :code:`dr`. To gain access to it, run this command: :: $ docker exec -it dr bash smithfarm@dr:~/dochazka-rest> At this point, you should be able run the test suite: :: smithfarm@dr:~/dochazka-rest> prove -lr t Release management ================== First, make sure you have :code:`perl-reversion` and :code:`cpan-uploader` installed. In openSUSE, this means installing the :code:`perl-Perl-Version` and :code:`perl-CPAN-Uploader` packages. Second, run the :code:`prerelease.sh` script to bump the version number, commit all outstanding modifications, add a git tag, and append draft Changes file entry: :: $ sh prerelease.sh Third, push the changes to GitHub: :: $ git push --follow-tags Fourth, optionally run the release script to push the release to OBS and CPAN: :: $ sh release.sh