diff --git a/.travis.yml b/.travis.yml index 29388bc1..78361887 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,55 +1,27 @@ +cache: pip + language: python -dist: xenial -# 3.6 is listed first so it gets used for the later build stages -python: - - "3.6" - - "3.7" - - "3.5" - -# Executed for 3.5 AND 3.5 as the first "test" stage: -script: - - pip install -U pip wheel - - pip install .[test] - - pytest - -cache: - directories: - - $HOME/.cache/pip - -# This defines further stages that execute after the tests -jobs: +matrix: include: - - stage: deploy latest.datasette.io - if: branch = master AND type = push - script: - - pip install .[test] - - npm install -g now - - python tests/fixtures.py fixtures.db fixtures.json - - export ALIAS=`echo $TRAVIS_COMMIT | cut -c 1-7` - - datasette publish nowv1 fixtures.db -m fixtures.json --token=$NOW_TOKEN --branch=$TRAVIS_COMMIT --version-note=$TRAVIS_COMMIT --name=datasette-latest-$ALIAS --alias=latest.datasette.io --alias=$ALIAS.datasette.io - - stage: release tagged version - if: tag IS present - python: 3.6 - deploy: - - provider: pypi - user: simonw - distributions: bdist_wheel - password: ${PYPI_PASSWORD} - on: - branch: master - tags: true - - stage: publish docker image - if: tag IS present - python: 3.6 - script: - - npm install -g now - - export ALIAS=`echo $TRAVIS_COMMIT | cut -c 1-7` - - export TAG=`echo $TRAVIS_TAG | sed 's/\./-/g' | sed 's/.*/v&/'` - - now alias $ALIAS.datasette.io $TAG.datasette.io --token=$NOW_TOKEN - # Build and release to Docker Hub - - docker login -u $DOCKER_USER -p $DOCKER_PASS - - export REPO=datasetteproject/datasette - - docker build -f Dockerfile -t $REPO:$TRAVIS_TAG . - - docker tag $REPO:$TRAVIS_TAG $REPO:latest - - docker push $REPO + - os: windows + language: bash + name: Windows + - os: linux + python: "3.5" + - os: linux + python: "3.6" + - os: linux + python: "3.7-dev" + +install: + - if [ "$TRAVIS_OS_NAME" = "windows" ]; then + choco install python3; + export PATH=/c/Python37:/c/Python37/Scripts:/c/Python38:/c/Python38/Scripts:$PATH; + python -m pip install -e .[test]; + else + pip install -e .[test]; + fi; + +script: + - pytest