bitbucket pipelines heroku integration

This commit is contained in:
Daniel Egger 2018-09-20 17:25:13 +02:00
parent 9511c51b86
commit 2e8dc96046
5 changed files with 101 additions and 36 deletions

View File

@ -9,6 +9,7 @@ python_version = '3.6'
[dev-packages] [dev-packages]
awscli = "*" awscli = "*"
ipdb = "*" ipdb = "*"
coverage = "*"
[packages] [packages]
factory-boy = "*" factory-boy = "*"

102
Pipfile.lock generated
View File

@ -1,7 +1,7 @@
{ {
"_meta": { "_meta": {
"hash": { "hash": {
"sha256": "2341eacc0bfdcc8c231c5ebf696c89360052a264240118f3b509c927aeaf611b" "sha256": "453dc874bdeeafb492b7ad1d810f8bf038bc05d6114dffa610c39a499fc8f8ba"
}, },
"pipfile-spec": 6, "pipfile-spec": 6,
"requires": { "requires": {
@ -41,18 +41,18 @@
}, },
"boto3": { "boto3": {
"hashes": [ "hashes": [
"sha256:2152e0da8098665e6a03bbbde1de1b4fafdef7151010d1f0e53693a3f2a1deb0", "sha256:8cf861abc8ac7c7db6d4c4cb3f300b64bdc9490482ebdffd6f6cd46a730dd524",
"sha256:323660fd1aa9c95fe90003f44c5fc37cbb891a8b506fa346967d14edcbcb90a4" "sha256:afabd27d49b74ae0d5e5f20c9ec7b4b5d26bd1f7bb5b01e670a7d4c35f535a4e"
], ],
"index": "pypi", "index": "pypi",
"version": "==1.9.4" "version": "==1.9.7"
}, },
"botocore": { "botocore": {
"hashes": [ "hashes": [
"sha256:3b2cab368572ee987a6236321ddea491e4253c819009c87ebc9e42e60371e3ae", "sha256:22c1460e0ff40a4d25198b8d807a24fc7ecd95162d72d3e1496a7a571ae7468d",
"sha256:7834eba53c6bedea21eb76f25a39e477dede3a24aeb51ff19c0248ea8348f007" "sha256:5fca20d37627823d50a101ad9acb5a0b1f6d7f82b6d84cb7a33afe8d68a03f75"
], ],
"version": "==1.12.4" "version": "==1.12.7"
}, },
"certifi": { "certifi": {
"hashes": [ "hashes": [
@ -198,7 +198,7 @@
"sha256:74b32991f8e08e4f2f84858b919eca253becfaec4b3fa5fcff7fdbd70d5d78b1", "sha256:74b32991f8e08e4f2f84858b919eca253becfaec4b3fa5fcff7fdbd70d5d78b1",
"sha256:c2ce42dd8361e6d392276006d757532562463c8642b1086709584200b7fd7758" "sha256:c2ce42dd8361e6d392276006d757532562463c8642b1086709584200b7fd7758"
], ],
"markers": "python_version >= '2.7' and python_version != '3.1.*' and python_version != '3.0.*' and python_version != '3.2.*'", "markers": "python_version != '3.0.*' and python_version != '3.1.*' and python_version >= '2.7' and python_version != '3.2.*'",
"version": "==0.9.1" "version": "==0.9.1"
}, },
"graphene": { "graphene": {
@ -260,24 +260,21 @@
}, },
"libsass": { "libsass": {
"hashes": [ "hashes": [
"sha256:0f2e421d3e5a53833243e0a5f2cf7ebe9812725a7f27a797c38f3c7190ce2a82", "sha256:08acdcb6c371ab11a70201f07c1422412233f1f4aee52c85c98f3bc76180c180",
"sha256:1b74aff85f1560d629a070552ec67f9f0ff9a47446ffafddafad9944f7589ae1", "sha256:2034e286d7daf6895d8ea893082ab083de5d160322e457c6126ba7b2511291b8",
"sha256:1cf80c04a77d36fd77f00b1ae0a269eee780d971fabd9d493b15d30de9857ae5", "sha256:25f19c2bab4cea70a24396f278c713f2580e4934a29915575d53dc00724347df",
"sha256:1d55dfe8e91a15a7d72d7f8aca16e74da36899e70d911af66d7184f1c82e2b39", "sha256:44ac0e6febddba7b42506797468f98fdd566267ca1351e582b4369bfeae65dd8",
"sha256:23755425149fe0f576fd0ab7bcd151fe09400b2d980fe176c28f6c19e053c830", "sha256:5bf3023bc695582ffc81186436416722bca9d1a80cb3d85290a5d76992c86ba0",
"sha256:4a434d5b713b97c4141fb71c59341d4ebff8669114b14c626af51e145a48710e", "sha256:7d7460ff5d42eaadaf8b8a437ec859068c4f6d91b513645dcac15e0d7a74d0f9",
"sha256:4dcd5b546bed977276f97eb7a2a13cb7cbf0a38d672e7b5525b7587c8cabcf27", "sha256:9fdaa6c2a89950e3e83669fd69a1a7773182793651cbe5a2a0c0a8d41239be01",
"sha256:62771c8ead9227579891814dd714be645243741aa23e5cb232ac0c245cf29a37", "sha256:a3f02ef116ada549399aef852d4eff4387d5e2d3f25f0288a662f56bc1491787",
"sha256:727fb84326ffa930bc09fad8b706e77ada4d13b3adf35cce134962a434d7eccb", "sha256:b7383eb259bbd6fd452924702dd63c34d7abf7958e9457d6990595f34c2a86ec",
"sha256:7b9e7179b5f4fc32bc716f86e9ccaeb48ab90e7eb6648b339440346733af8828", "sha256:d7eef002cada7533edae40fac1fbeb23b14d56c51683d695c93860b4d5cd7b67",
"sha256:a0ffca466b35fb57f2afe1f1c5fd39b4c51a4107596d28ef8c0d3bb0962244b5", "sha256:e3e3bc07df5c08c403700e2ea63ba557bebb157800f2d6c6b873d52d52cc90f1",
"sha256:bb9735066391189b3c0383254d20d59aaafb438d632d7de551c264f16486e773", "sha256:ea5d518857a981661779b959e9bd0c3b363a920bdb5a971156b495d6a8e793d5",
"sha256:cbd5ee83d3603a2b2c2937d8f06acc07b30fd22642ea2460c966d4fd6217f1d0", "sha256:f613419de5f27b966725908d92a16ac56cdf8a09a57e841f8ed9693dce947fd5"
"sha256:de1eae502764b3dde294d6652a0046489cf31008de190c4dd8d05e7f4b5e0d71",
"sha256:e00b6c6d75a6e912990cbc23d48ddfdbfefc3e400c20be6593988839292248c5",
"sha256:ed8beef197efc6e6ab0ad03cea0885b31cc11f226290783649b4dafe1fb2ea27"
], ],
"version": "==0.14.5" "version": "==0.15.0"
}, },
"pillow": { "pillow": {
"hashes": [ "hashes": [
@ -396,7 +393,7 @@
"sha256:63b52e3c866428a224f97cab011de738c36aec0185aa91cfacd418b5d58911d1", "sha256:63b52e3c866428a224f97cab011de738c36aec0185aa91cfacd418b5d58911d1",
"sha256:ec22d826a36ed72a7358ff3fe56cbd4ba69dd7a6718ffd450ff0e9df7a47ce6a" "sha256:ec22d826a36ed72a7358ff3fe56cbd4ba69dd7a6718ffd450ff0e9df7a47ce6a"
], ],
"markers": "python_version != '3.3.*' and python_version != '3.2.*' and python_version < '4' and python_version != '3.1.*' and python_version >= '2.6' and python_version != '3.0.*'", "markers": "python_version != '3.1.*' and python_version < '4' and python_version != '3.2.*' and python_version != '3.3.*' and python_version != '3.0.*' and python_version >= '2.6'",
"version": "==2.19.1" "version": "==2.19.1"
}, },
"rjsmin": { "rjsmin": {
@ -460,7 +457,7 @@
"sha256:a68ac5e15e76e7e5dd2b8f94007233e01effe3e50e8daddf69acfd81cb686baf", "sha256:a68ac5e15e76e7e5dd2b8f94007233e01effe3e50e8daddf69acfd81cb686baf",
"sha256:b5725a0bd4ba422ab0e66e89e030c806576753ea3ee08554382c14e685d117b5" "sha256:b5725a0bd4ba422ab0e66e89e030c806576753ea3ee08554382c14e685d117b5"
], ],
"markers": "python_version != '3.1.*' and python_version != '3.0.*' and python_version < '4' and python_version >= '2.6' and python_version != '3.2.*' and python_version != '3.3.*'", "markers": "python_version < '4' and python_version != '3.0.*' and python_version != '3.1.*' and python_version != '3.3.*' and python_version >= '2.6' and python_version != '3.2.*'",
"version": "==1.23" "version": "==1.23"
}, },
"wagtail": { "wagtail": {
@ -509,11 +506,11 @@
}, },
"awscli": { "awscli": {
"hashes": [ "hashes": [
"sha256:27009baa405935d7229ca551d9433e029a05d68fbc99548e1cbe8fc759b5af43", "sha256:0e854eb7890d69b1c67dfd696a7f39eda492260795d807b7f3075b06188ff1f5",
"sha256:6d1509d1b00618ad2bda119eb6e6f1a427b22eff006c0f705d3f8b5e3fea0932" "sha256:d33480b90862a72631a858ef4cc6f352a2ef98744a552caf44a4700ed3e5f3ea"
], ],
"index": "pypi", "index": "pypi",
"version": "==1.16.14" "version": "==1.16.17"
}, },
"backcall": { "backcall": {
"hashes": [ "hashes": [
@ -524,10 +521,10 @@
}, },
"botocore": { "botocore": {
"hashes": [ "hashes": [
"sha256:3b2cab368572ee987a6236321ddea491e4253c819009c87ebc9e42e60371e3ae", "sha256:22c1460e0ff40a4d25198b8d807a24fc7ecd95162d72d3e1496a7a571ae7468d",
"sha256:7834eba53c6bedea21eb76f25a39e477dede3a24aeb51ff19c0248ea8348f007" "sha256:5fca20d37627823d50a101ad9acb5a0b1f6d7f82b6d84cb7a33afe8d68a03f75"
], ],
"version": "==1.12.4" "version": "==1.12.7"
}, },
"colorama": { "colorama": {
"hashes": [ "hashes": [
@ -536,6 +533,43 @@
], ],
"version": "==0.3.9" "version": "==0.3.9"
}, },
"coverage": {
"hashes": [
"sha256:03481e81d558d30d230bc12999e3edffe392d244349a90f4ef9b88425fac74ba",
"sha256:0b136648de27201056c1869a6c0d4e23f464750fd9a9ba9750b8336a244429ed",
"sha256:10a46017fef60e16694a30627319f38a2b9b52e90182dddb6e37dcdab0f4bf95",
"sha256:198626739a79b09fa0a2f06e083ffd12eb55449b5f8bfdbeed1df4910b2ca640",
"sha256:23d341cdd4a0371820eb2b0bd6b88f5003a7438bbedb33688cd33b8eae59affd",
"sha256:28b2191e7283f4f3568962e373b47ef7f0392993bb6660d079c62bd50fe9d162",
"sha256:2a5b73210bad5279ddb558d9a2bfedc7f4bf6ad7f3c988641d83c40293deaec1",
"sha256:2eb564bbf7816a9d68dd3369a510be3327f1c618d2357fa6b1216994c2e3d508",
"sha256:337ded681dd2ef9ca04ef5d93cfc87e52e09db2594c296b4a0a3662cb1b41249",
"sha256:3a2184c6d797a125dca8367878d3b9a178b6fdd05fdc2d35d758c3006a1cd694",
"sha256:3c79a6f7b95751cdebcd9037e4d06f8d5a9b60e4ed0cd231342aa8ad7124882a",
"sha256:3d72c20bd105022d29b14a7d628462ebdc61de2f303322c0212a054352f3b287",
"sha256:3eb42bf89a6be7deb64116dd1cc4b08171734d721e7a7e57ad64cc4ef29ed2f1",
"sha256:4635a184d0bbe537aa185a34193898eee409332a8ccb27eea36f262566585000",
"sha256:56e448f051a201c5ebbaa86a5efd0ca90d327204d8b059ab25ad0f35fbfd79f1",
"sha256:5a13ea7911ff5e1796b6d5e4fbbf6952381a611209b736d48e675c2756f3f74e",
"sha256:69bf008a06b76619d3c3f3b1983f5145c75a305a0fea513aca094cae5c40a8f5",
"sha256:6bc583dc18d5979dc0f6cec26a8603129de0304d5ae1f17e57a12834e7235062",
"sha256:701cd6093d63e6b8ad7009d8a92425428bc4d6e7ab8d75efbb665c806c1d79ba",
"sha256:7608a3dd5d73cb06c531b8925e0ef8d3de31fed2544a7de6c63960a1e73ea4bc",
"sha256:76ecd006d1d8f739430ec50cc872889af1f9c1b6b8f48e29941814b09b0fd3cc",
"sha256:7aa36d2b844a3e4a4b356708d79fd2c260281a7390d678a10b91ca595ddc9e99",
"sha256:7d3f553904b0c5c016d1dad058a7554c7ac4c91a789fca496e7d8347ad040653",
"sha256:7e1fe19bd6dce69d9fd159d8e4a80a8f52101380d5d3a4d374b6d3eae0e5de9c",
"sha256:8c3cb8c35ec4d9506979b4cf90ee9918bc2e49f84189d9bf5c36c0c1119c6558",
"sha256:9d6dd10d49e01571bf6e147d3b505141ffc093a06756c60b053a859cb2128b1f",
"sha256:be6cfcd8053d13f5f5eeb284aa8a814220c3da1b0078fa859011c7fffd86dab9",
"sha256:c1bb572fab8208c400adaf06a8133ac0712179a334c09224fb11393e920abcdd",
"sha256:de4418dadaa1c01d497e539210cb6baa015965526ff5afc078c57ca69160108d",
"sha256:e05cb4d9aad6233d67e0541caa7e511fa4047ed7750ec2510d466e806e0255d6",
"sha256:f3f501f345f24383c0000395b26b726e46758b71393267aeae0bd36f8b3ade80"
],
"index": "pypi",
"version": "==4.5.1"
},
"decorator": { "decorator": {
"hashes": [ "hashes": [
"sha256:2c51dff8ef3c447388fe5e4453d24a2bf128d3a4c32af3fabef1f01c6851ab82", "sha256:2c51dff8ef3c447388fe5e4453d24a2bf128d3a4c32af3fabef1f01c6851ab82",
@ -700,7 +734,7 @@
"sha256:a68ac5e15e76e7e5dd2b8f94007233e01effe3e50e8daddf69acfd81cb686baf", "sha256:a68ac5e15e76e7e5dd2b8f94007233e01effe3e50e8daddf69acfd81cb686baf",
"sha256:b5725a0bd4ba422ab0e66e89e030c806576753ea3ee08554382c14e685d117b5" "sha256:b5725a0bd4ba422ab0e66e89e030c806576753ea3ee08554382c14e685d117b5"
], ],
"markers": "python_version != '3.1.*' and python_version != '3.0.*' and python_version < '4' and python_version >= '2.6' and python_version != '3.2.*' and python_version != '3.3.*'", "markers": "python_version < '4' and python_version != '3.0.*' and python_version != '3.1.*' and python_version != '3.3.*' and python_version >= '2.6' and python_version != '3.2.*'",
"version": "==1.23" "version": "==1.23"
}, },
"wcwidth": { "wcwidth": {

View File

@ -5,10 +5,27 @@
# You can specify a custom docker image from Docker Hub as your build environment. # You can specify a custom docker image from Docker Hub as your build environment.
image: python:3.6.6 image: python:3.6.6
clone:
depth: full
pipelines: pipelines:
default: default:
- step: - step:
caches: caches:
- pip - pip
services:
- postgres
script: # Modify the commands below to build your repository. script: # Modify the commands below to build your repository.
- pipenv install --dev - pip install pipenv
- export SECRET_KEY=abcd1234
- export DATABASE_URL=postgres://postgres:postgres@localhost:5432/skillbox
- export DEBUG=True
- export USE_AWS=False
- pipenv install --dev --system
- ./server/run_unittests_coverage.sh
- git push https://heroku:$HEROKU_API_KEY@git.heroku.com/$HEROKU_APP_NAME.git HEAD:master
definitions:
services:
postgres:
image: postgres

View File

@ -28,8 +28,10 @@ class NewContentBlockMutationTest(TestCase):
"contents": [ "contents": [
{ {
"type": "text_block", "type": "text_block",
"value": {
"text": "Hello there" "text": "Hello there"
} }
}
] ]
}, },
"after": self.sibling_id "after": self.sibling_id

View File

@ -0,0 +1,11 @@
#!/bin/bash
# script should fail when any process returns non zero code
set -e
cd "$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
python -m coverage run manage.py test $1
coverage_python=`coverage report -m | tail -n1 | awk '{print $4}'`
commit=`git rev-parse HEAD`
data="{\"${commit}/coverage_python\": \"${coverage_python}\"}"
curl -X PATCH -d "${data}" 'https://commit-metadata.firebaseio.com/commits.json'