diff --git a/.drone.jsonnet b/.drone.jsonnet new file mode 100644 index 0000000..53c0b80 --- /dev/null +++ b/.drone.jsonnet @@ -0,0 +1,67 @@ +local test(py_version) = { + "kind": "pipeline", + "type": "docker", + "name": "test-" + py_version, + "steps": [ + { + "name": "test", + "image": "python:" + py_version, + "commands": [ + "git submodule update --recursive --remote --init", + "pip install -r requirements-docker.txt", + "python3 setup.py install", + "python3 -m unittest discover test/ --verbose" + ] + } + ] +}; + +local build_docker(py_version) = { + "kind": "pipeline", + "type": "docker", + "name": "build_docker", + "steps": [ + { + "name": "set Docker image tags", + "image": "bash", + "commands": [ + "bash .drone-write-tags.sh $DRONE_TAG > .tags", + "# Will build the following tags:", + "cat .tags" + ] + }, + { + "name": "build Docker image", + "image": "plugins/docker", + "settings": { + "repo": "jlu5/pylink", + "username": { + "from_secret": "docker_user" + }, + "password": { + "from_secret": "docker_token" + } + } + } + ], + "depends_on": ["test-" + py_version], + "trigger": { + "event": [ + "tag" + ], + "ref": { + "exclude": [ + "refs/tags/*alpha*", + "refs/tags/*dev*" + ] + } + } +}; + +[ + test("3.7"), + test("3.8"), + test("3.9"), + test("3.10"), + build_docker("3.10"), +] diff --git a/.drone.yml b/.drone.yml deleted file mode 100644 index 7f68d1f..0000000 --- a/.drone.yml +++ /dev/null @@ -1,37 +0,0 @@ ---- -kind: pipeline -type: docker -name: build - -steps: -- name: "test" - image: python:3.8 - commands: - - "git submodule update --recursive --remote --init" - - "pip install -r requirements-docker.txt" - - "python3 setup.py install" - - "python3 -m unittest discover test/ --verbose" - -- name: "set Docker image tags" - image: bash - commands: - - "bash .drone-write-tags.sh $DRONE_TAG > .tags" - - "# Will build the following tags:" - - "cat .tags" - -- name: "build Docker image" - image: plugins/docker - settings: - repo: jlu5/pylink - username: - from_secret: docker_user - password: - from_secret: docker_token - -trigger: - event: - - tag - ref: - exclude: - - refs/tags/*alpha* - - refs/tags/*dev* diff --git a/.gitignore b/.gitignore index ae38e2f..0142e38 100644 --- a/.gitignore +++ b/.gitignore @@ -3,6 +3,9 @@ !example-*.yml !.*.yml +# Generated from .drone.jsonnet +.drone.yml + # Automatically generated by setup.py /__init__.py