Skip to content
This repository has been archived by the owner on Sep 1, 2023. It is now read-only.

Commit

Permalink
1.0.0: Official release
Browse files Browse the repository at this point in the history
Key Points:

- Represents "API stable" v1 release of Jobson: all changes to v1 *must* be compatible with 1.0 configurations, CLI, HTTP API, and data
  - These have been stable for >9 months. This release just represents that future releases must abide by the API
  - Upgrading from a previous "dev" (e.g. 0.0.x) release of Jobson should not break anything
- Changes to directory layout of Jobson releases (see below)

Possible (minor) breaking changes:

- jobson now builds as a thin jar (previously: fat jar). Downstream clients should use jobson-nix,
  which builds a nix-friendly build of Jobson (and all its dependencies)
- jobson-nix directory structure changed:
  - Now has an FSH-style layout (bin/, share/, share/doc, etc.). This may break automated clients
    that assume the jobson-nix tarball puts everything in the tarball's root
  - jobson-nix now contains all of jobson's dependencies separately (previously: fat jar)
  - jobson-nix now also contains built jobson-ui
  - jobson-nix now also contains built jobson-docs
  - These changes make it easier to grab an entire jobson platform
- No user-facing changes to debian package. However, it now contains different assets (inherited from jobson-nix)
- No user-facing changes to docker package. However, it now contains different assets (inherited from jobson-deb)

Features:

- jobson-ui is now part of the jobson build (previously: was separate). This ensures that versions are matched and
  the entire jobson platform can be bundled together easily (into tarballs, packages, docker images)
- documentation has been heavily improved
- jobson now works on Java 9 and Java 10 (previously: 8)
- distribution packages (jobson-nix, jobson-deb, jobson-docker) now contain *everything* (server, ui, docs)
- this project now publishes docker images to docker hub (adamkewley/jobson)
- this project now publishes swagger.json descriptors

Other notes:

- Refactored documentation into Sphinx (previously: Jekyll)
- Moved jobson-ui into this project (previously: had its own, separate, repo)
- Added jobson-ui to top-level build
- Removed Swagger API documentation from jobson server (it will be in static documentation)
- Added jobson-swagger, which statically generates a swagger.json file from the Jobson API
- Added jobson-swagger-ui, which statically generates web assets around the swagger.json
- Added statically generated jobson-swagger-ui documentation into the Sphinx docs
- Updated various dependencies
- Modified jobson jar build to build a thin jar and made nix build place jars separately
- Documentation moved from README and into jobson-docs, so that users can read it offline more easily (because it's packaged)
- Changed built to make docker images from debian packages (previously: docker build was using jobson-nix pkg)
- Removed redundant javascript components from jobson-ui
- Travis now deploys docker images
- Added javax bind to dependencies: for compatability with Java 9+ (which deprecate it)
  • Loading branch information
adamkewley committed Oct 31, 2018
2 parents d204a10 + 79db214 commit 2ed9415
Show file tree
Hide file tree
Showing 12 changed files with 37 additions and 65 deletions.
18 changes: 8 additions & 10 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,10 +23,8 @@ before_install:
script: mvn package
env:
global:
# travis encrypt GH_TOKEN=tok
- secure: at1grzYy9RfcIfmoACdaSiY+u+RBDGfk07jCAB2Bn8bEohv21Ny45Is4F3G6Nb9XN7LJdM+6cVINBdsTOKQlIIo0t6nD0sMfkb9IvFP5waDodjTu9Bb8hW2b/7Ul49ANQBErB5f0HxioqGnXvZvrln9UM2Dcml6Sa+1TR+OAkO79cWbiOfRyNbXbC2B1RNl8JNfFOhMhQF/8zE2hpVVW8BQX3V7cBQ+pxLP7X8qEbmifg4HlAkPP31PZn1wIlfdBFG57ODiEWOobO/MkrpbW4V+SAgJkZgW797XbmsE5CUhrtQWiYvze4ZsBknIdSDgD7AXYUDtvJW17jQXFvI5dA8YYdmJfiV5iGRFgMq+5I/1WnSg0OD82NNdYK9YnDKXwjnKObFR5CPJEITT5dMKLnNGSZnTawAfIqXr7rlxETF6UwzMVQl9rvPMK29x3TeqjOgwTVL+MsC0iIkDrh2QGQgzEn1nmfiTHMXLh4nARWoe7q01AfXM5zcp0jhib6yjwQjqT4kc8BQ8SiVLxZq8qD6TQhi7cnCjKaAw9gadJ1cKaNp4dJNsSfMa9oq1LhwukcaZ6VHJIwY9OSVnvC3o4EC+lTfwmztJy/neuZ9h7q71O7MZ6JYRXS+IX4h/ubeV9l6V2yFdgfbb3noNzHs5i39bPa2li89JOoIPMZzpPepc=
# travis encrypt DOCKER_PASSWORD=pw
- secure: kawEWOndc88HaE0L3ylHFnQx3+pdZIopwtYMNJCa1UcOs84OXRtrIQcPiEOcpa5yIoZB/R+BgdVMO9M0MiEmbhggplJNf56RZvafr2zJSzgl7tbhrakIa81Ve+7IBHWMCL2VJQifiRbhm1/J84OFvNfLwtKJvjbbCnO/E9nsCUva193J5hkiipPVVmKm5iJ31JkeP0F/NqGmpJZn/r9yM/jOXstfVI4cM9AY0WDZzdA7yWWytGorVAqWNBIgQ4FG9YlfpEcnOmpSGgBDNRVlFKFvZw2ORPZWpiZiPJAiuZ1DPMgJIJYjqqkzoH9v1AWqTIRlWI7E0wLYBc1XCHrARUqZcmH20vRYA6XCQG4blF94F7X0ju9IQm4XjeyOmCK8xLCRFAZdmiZAIHlv3ItYDcggHpqeeHSSc7XnCHiAc/0iCz0jZxWY4AYJM9PPU55NzAgNVfm7Jd3WqGpEuyyR5L4ZQ+XJzcixadNr1uvGEBs5xmUQ4n8X6InVnw0LNcn6u75gbpFmVMarzeXVzWyjvtC3kqnBvWzqlDWj1cQIjlQRn3N52K2XNOFJ49YVV6k7LWlhRR7JPG4Z1qH9E6uqWIWXGNmQxjpGqebJ1LxstCJklzdwCaCH2pxhAG1JVzQNCQ7clbl+B2+wptLpOtCG44yHWItFKL12FYy47qHi+oI=
- secure: s/YSS0GG2Vs9utbGnU8Ti+ty1BfbIPKvNsH45kICMo2W3M2yXyG4Rb9jSep4W3OQemDQC3KqSRZzkBBJgtm227/a84St6cWpw72kSiAD3krWfUNa2xTD8XzxpjCxdAlMV8PkeDZkBHnXaa+HS3HR/DjFrKllDZ76gDixdYWOcvY/FJDmQ0krsqGCtpyFheTBAItqCYpz6PIFwvGNPi81CLn+GLq3NK8jKJkgwJLyKbLuPDYRMCT5SgMtn4JtNi8w4Zo1Z8j67BZtXlGAbnBrDnRaNjUkEiniw8Hieh38ap5AGBr5leIYCF6xxDDy7+9kAb7Fg8QLYvLPjtIMOPXYJTvWgt/iLUrH2Y2C6mTnDuRJo9Iu3MX4d8jg5dtpS1OEAkEZmdbmlq0Fpc+u9gU7CuXryo3/1oUmOcdYpKHPtYfAn1K4ThPrvWoyYvp/15nd7/bl8E+SsnimN0tgJUj4J0mUaKQfuSHVDNXjlt2j09e/slFhtXaIStCG/U+p/OHKvwt1WUxJWrY6OFHM7O30HatYnkuvDSUos8STZzdxvZFOxbcX28FFRxDKH5/xuscnFCNRYfX986p6nInIXbPa9QzY+/fg/5Yo6C4D9QdeVvIh+hRgBwilIqjiH4AXI8RfGOpahldHNwSbDOhc/whCD2qTc/xCsHoXE4nGi1K5puA=
- secure: fyiP2ND9rEMB7ePtAGj+1Xr/JbQVRG6zblTj3pwiGtgpf9yKkikHRfQr0hlVI4uTEXfmTu8IJRW7LSXexanlPNQhuue0UPafH6yiBwukyX+w9OouT4+qN7I5P1tyCFJ9ENRM9zZ7ius7JdDPNA9pBefZmtXZqycJvgDzELafTWt21L+KfjzQplpmF2mGr7hFABowJ8uwCm3HGrxV7lWABY0UqRq4m3mPxdAf9TqkCKAnxYY4CnqM0+EdJxqUX2TpoVIC+D8FC/2jsDC8nTUslAWi9yP4YnLuhBGLQcrorSduecBeHoUjSKvCRQxICjg3jS/qdCOmos4LAF4stWJaGRH9kpIGtAEs2YpenyNibv5Kr3WIBO3TvgsJNRlWF1U8j0/bKQrvQpfBs9axTELmjerLW0oiv8MCMv5Phd5/7yJF4NYgiTJYyKCQsw792gkHwX5CCDx+5+hAnXkq7kqiREJ9NdyXgAYPWE8L3fvZaYvXgTg/743wL7C4HlscaZ1Vzu8I9yTgRV2J1zg8TYG8IfM1Hrw/myvfV0U/3O+vhhMhyj10/7EAnASr/pZSEQoWjbDxi/LYWIQdNrWum5+9AY6exHqgq666Umd4J+IcIa1F9ybwZRwVJh7YFeN+15NUf1xcSPVXWMDm/JuqoLsmxr43MTuka3WXj70nGnxOH6Q=
deploy:
provider: releases
skip_cleanup: true
Expand All @@ -38,13 +36,13 @@ deploy:
- jobson-nix/target/jobson-nix-${TRAVIS_TAG}.tar.gz
- jobson-deb/target/jobson_${TRAVIS_TAG}_all.deb
on:
repo: adamkewley/jobson-1.0-throwaway
repo: adamkewley/jobson
tags: true
api-key:
secure: Lt3KHY0yHJe//hpEeoeWAxhp1HrIppaT9EWZUNfA/fHvtiFYLj3ng0T5lsrpG1BQvAclVlGH1yq6PRo+ymKeG4jHAmlfxj4y9sGueBI/rTvOozPHDChBqbMrp5R0LdaH8uHZEzmeUhWJ13hcFbGaCqAPkiEHafV8q5Bu7rM4HH/A4Ah/ltvcF+efWJuOfRPZ7ccpYRR9KhCN4VkN3+AwrHBSgYw8MMIgwRAaDC4KLTrdzYD+3vG+TeKZxQ9z+LDhbzQT61bqaTJK9cWLyCRysouU1wVcGQ7+Un25c7eJqXBrHGHfnynzuHNCOueLaJtJz4Y8pmsnTfuhc003mOGm7v+hQhNx7oYHXozCIxHjjc2o2JTOHoll1wC9TNBijLR1bWx5iBgVt0CaIyvNwpXgJlwZ7VYSNH4fNF760X4way6FovG17m3XL6ql9tEoO2dQwsefZHQk+xgppm5hpncRWfsE29WS9KT+copvAO/RYEA3mlL3kUhCpPpGqxqt7bwY3s43bb3DqTeeyD+TSdd4KZb7hVVyCWEuukOgMxbtVAQmaBhMitxmFdryyDT9liF53Og1KmtcR7TjQz9sWkJ/CfsUfdUV8CS1JPKRcPCPtmKtlXt8J/GjGagGFryJHn2mgsLvxv8ZZYGx4o1iInzGxRhMpx8hl4aRhHkuAMD9CZM=
secure: fQfCOpNXj3AkOij+PlYxCREamrPja2ttGspZTk1yAjoLGzZPPtgvYGj6KVx4sPz+velP8CK2X32NC+4EvgbJKHqx8oERvUB5uK8roohBjz92dnC8Sndy5yiGut3eKFtReHZZmUfNHPXMn0nWd2JdjsBXIm6syLt9wBjXlDN8izwPNHUemJr111e8mygtibmrSD98Wt/nXffi/SsSPhuabrfkQ3MQXNg5WbY9+Gk0xsnOskQjwBMvx4NVzk6TpIpBxIHg6c/dV338aI1h7PrJvK/XD0FPdOjelBDyAZhWbSf7sPwBFyXcv2cbHgEv/cCPZpqpXT0IEghV0LAUkn4+7bjxr/QcUhckXmEzNKhdX6Gttn0jxDLKxljl3WOMeMxkcjhNcgTfBN75/MIzwYZgiQJOV/IHeYG5U0iuXmuvEZCn0FgSpVh2OgGXqhtJJ+2F5ndbRft3Ib1qMn7k0oB8JPEH2Tx2dkGnWhr+EvpHo4ub7R88t2OWcLAHh/LuRUOKASCpxL7uzcazoXh7sQHEyz++9DxUIHxtKqoqjM9whQ3DSi1s6amQcAnNBNbHarph+2fD8Iz5sAW9kohLr2XSjLgtQRQKCCkg0hq9NfF7ICRG4H8Em+xmiVij7ai7UUQ3xYLKxgHYQwl4WFU5ARUxIPTt8JYHkhZvO6pN8E6XEzo=
after_deploy: |
set -e
git config --global user.email "[email protected]"
git config --global user.name "Travis CI"
Expand All @@ -59,9 +57,9 @@ after_deploy: |
touch .nojekyll
git add -A
git commit -m "Updated docs for ${TRAVIS_TAG}"
git remote add origin-pages https://${GH_TOKEN}@github.com/adamkewley/jobson-1.0-throwaway.git > /dev/null 2>&1
git remote add origin-pages https://${GH_TOKEN}@github.com/adamkewley/jobson.git > /dev/null 2>&1
git push origin-pages gh-pages
docker login --username "adamkewley" --password "$DOCKER_PASSWORD"
docker push adamkewley/jobson-1.0.0-throwaway:${TRAVIS_TAG}
docker push adamkewley/jobson-1.0.0-throwaway:latest
docker push adamkewley/jobson:${TRAVIS_TAG}
docker push adamkewley/jobson:latest
26 changes: 0 additions & 26 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,29 +25,3 @@ execution:
arguments:
- ${inputs.message}
```
# Superfast Runthrough (Debian)
See [quickstart](TODO) for more details.
```bash
apt install openjdk-8-jre
wget NIX_DIST
tar xvf NIX_DIST && cd NIX_DIST
bin/jobson new --demo
bin/jobson generate spec my_spec
emacs specs/my_spec/spec.yml
bin/jobson serve config.yml
```


# Documentation

TOC TODO

- Overview
- Install
- Quickstart
- Configuration
- UI
4 changes: 2 additions & 2 deletions jobson-deb/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
<parent>
<groupId>com.github.jobson</groupId>
<artifactId>jobson-project</artifactId>
<version>1.0.0-dev.5</version>
<version>1.0.0</version>
</parent>

<artifactId>jobson-deb</artifactId>
Expand All @@ -17,7 +17,7 @@
<dependency>
<groupId>com.github.jobson</groupId>
<artifactId>jobson-nix</artifactId>
<version>1.0.0-dev.5</version>
<version>1.0.0</version>
<type>tar.gz</type>
</dependency>
</dependencies>
Expand Down
4 changes: 2 additions & 2 deletions jobson-docker/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
<parent>
<groupId>com.github.jobson</groupId>
<artifactId>jobson-project</artifactId>
<version>1.0.0-dev.5</version>
<version>1.0.0</version>
</parent>

<artifactId>jobson-docker</artifactId>
Expand All @@ -17,7 +17,7 @@
<dependency>
<groupId>com.github.jobson</groupId>
<artifactId>jobson-deb</artifactId>
<version>1.0.0-dev.5</version>
<version>1.0.0</version>
<type>deb</type>
</dependency>
</dependencies>
Expand Down
4 changes: 2 additions & 2 deletions jobson-docs/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -7,11 +7,11 @@
<parent>
<groupId>com.github.jobson</groupId>
<artifactId>jobson-project</artifactId>
<version>1.0.0-dev.5</version>
<version>1.0.0</version>
</parent>

<artifactId>jobson-docs</artifactId>
<version>1.0.0-dev.5</version>
<version>1.0.0</version>
<packaging>pom</packaging>

<dependencies>
Expand Down
12 changes: 6 additions & 6 deletions jobson-docs/src/install.rst
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ directly:

.. parsed-literal::
wget https://github.com/adamkewley/jobson-1.0-throwaway/releases/download/|release|/jobson_\ |release|\ _all.deb
wget https://github.com/adamkewley/jobson/releases/download/|release|/jobson_\ |release|\ _all.deb
dpkg -i jobson_\ |release|\ _all.deb # contains dependencies on (e.g.) java
apt-get -f install # resolves dependencies
Expand All @@ -29,7 +29,7 @@ to run jobson on a unix-like OS.

.. parsed-literal::
wget https://github.com/adamkewley/jobson-1.0-throwaway/releases/download/\ |release|\ /jobson-nix-\ |release|\ .tar.gz
wget https://github.com/adamkewley/jobson/releases/download/\ |release|\ /jobson-nix-\ |release|\ .tar.gz
tar xvf jobson-nix-\ |release|\ .tar.gz
# optional: add to ~/.bashrc
Expand All @@ -44,7 +44,7 @@ By default, it will create a demo workspace at `/home/jobson/` inside the contai

.. parsed-literal::
docker run --name default-container -p 80:80 adamkewley/jobson-1.0.0-throwaway:\ |release|\
docker run --name default-container -p 80:80 adamkewley/jobson:\ |release|\
It's recommended that you host the workspace outside the container, so that you can backup job data, upgrade the image,
etc. The easiest way to do this is to copy the default workspace out of the container and create a new container with
Expand All @@ -55,13 +55,13 @@ a volume mount:
HOST_PORT=9090
# copy out the container's workspace
docker run --name tmp-jobson-container -d adamkewley/jobson-1.0.0-throwaway:\ |release|\
docker run --name tmp-jobson-container -d adamkewley/jobson:\ |release|\
docker cp tmp-jobson-container:/home/jobson /host/path/jobson
docker container rm -f tmp-jobson-container
# boot a container that uses the out-of-container workspace
docker run --name jobson-container -p ${HOST_PORT}:80 -v /host/path/jobson:/home/jobson:rw -d adamkewley/jobson-1.0.0-throwaway:\ |release|\
docker run --name jobson-container -p ${HOST_PORT}:80 -v /host/path/jobson:/home/jobson:rw -d adamkewley/jobson:\ |release|\
This will boot a docker container that listens on ``HOST_PORT``, which you can browse to.
Expand All @@ -75,6 +75,6 @@ windows. However, unofficial reports do state that it works on windows
if you manually run the ``jobson-x.x.x.jar`` file:

* Download and install ``java``
* Download jobson unix tarball from `releases <https://github.com/adamkewley/jobson-1.0-throwaway/releases/>`_
* Download jobson unix tarball from `releases <https://github.com/adamkewley/jobson/releases/>`_
* Unpack somewhere (e.g. in ``DIR``)
* Run the jobson CLI with ``java -jar DIR/share/jobson/java/jobson-x.x.x.jar``
8 changes: 4 additions & 4 deletions jobson-nix/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
<parent>
<groupId>com.github.jobson</groupId>
<artifactId>jobson-project</artifactId>
<version>1.0.0-dev.5</version>
<version>1.0.0</version>
</parent>

<artifactId>jobson-nix</artifactId>
Expand All @@ -17,18 +17,18 @@
<dependency>
<groupId>com.github.jobson</groupId>
<artifactId>jobson</artifactId>
<version>1.0.0-dev.5</version>
<version>1.0.0</version>
</dependency>
<dependency>
<groupId>com.github.jobson</groupId>
<artifactId>jobson-docs</artifactId>
<version>1.0.0-dev.5</version>
<version>1.0.0</version>
<type>tar.gz</type>
</dependency>
<dependency>
<groupId>com.github.jobson</groupId>
<artifactId>jobson-ui</artifactId>
<version>1.0.0-dev.5</version>
<version>1.0.0</version>
<type>tar.gz</type>
</dependency>
</dependencies>
Expand Down
4 changes: 2 additions & 2 deletions jobson-swagger-ui/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -7,11 +7,11 @@
<parent>
<groupId>com.github.jobson</groupId>
<artifactId>jobson-project</artifactId>
<version>1.0.0-dev.5</version>
<version>1.0.0</version>
</parent>

<artifactId>jobson-swagger-ui</artifactId>
<version>1.0.0-dev.5</version>
<version>1.0.0</version>
<packaging>pom</packaging>

<dependencies>
Expand Down
6 changes: 3 additions & 3 deletions jobson-swagger/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -7,18 +7,18 @@
<parent>
<groupId>com.github.jobson</groupId>
<artifactId>jobson-project</artifactId>
<version>1.0.0-dev.5</version>
<version>1.0.0</version>
</parent>

<artifactId>jobson-swagger</artifactId>
<version>1.0.0-dev.5</version>
<version>1.0.0</version>
<packaging>pom</packaging>

<dependencies>
<dependency>
<groupId>com.github.jobson</groupId>
<artifactId>jobson</artifactId>
<version>1.0.0-dev.5</version>
<version>1.0.0</version>
<exclusions>
<exclusion>
<groupId>com.fasterxml</groupId>
Expand Down
4 changes: 2 additions & 2 deletions jobson-ui/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -7,11 +7,11 @@
<parent>
<groupId>com.github.jobson</groupId>
<artifactId>jobson-project</artifactId>
<version>1.0.0-dev.5</version>
<version>1.0.0</version>
</parent>

<artifactId>jobson-ui</artifactId>
<version>1.0.0-dev.5</version>
<version>1.0.0</version>
<packaging>pom</packaging>

<build>
Expand Down
4 changes: 2 additions & 2 deletions jobson/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -7,11 +7,11 @@
<parent>
<groupId>com.github.jobson</groupId>
<artifactId>jobson-project</artifactId>
<version>1.0.0-dev.5</version>
<version>1.0.0</version>
</parent>

<artifactId>jobson</artifactId>
<version>1.0.0-dev.5</version>
<version>1.0.0</version>
<packaging>jar</packaging>

<dependencies>
Expand Down
8 changes: 4 additions & 4 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@

<groupId>com.github.jobson</groupId>
<artifactId>jobson-project</artifactId>
<version>1.0.0-dev.5</version>
<version>1.0.0</version>
<packaging>pom</packaging>

<name>jobson project</name>
Expand Down Expand Up @@ -48,14 +48,14 @@
</developers>

<properties>
<version.jobsonswagger>1.0.0-dev.5</version.jobsonswagger>
<version.jobsonswaggerui>1.0.0-dev.5</version.jobsonswaggerui>
<version.jobsonswagger>1.0.0</version.jobsonswagger>
<version.jobsonswaggerui>1.0.0</version.jobsonswaggerui>

<dropwizard.version>1.3.5</dropwizard.version>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<docker.user>adamkewley</docker.user>
<docker.repo>jobson-1.0.0-throwaway</docker.repo>
<docker.repo>jobson</docker.repo>
<version.swaggerui>3.19.3</version.swaggerui>
</properties>

Expand Down

0 comments on commit 2ed9415

Please sign in to comment.