|
|
|
language: generic
|
|
|
|
|
|
|
|
services:
|
|
|
|
- docker
|
|
|
|
|
|
|
|
git:
|
|
|
|
submodules: false # Avoid trying to checkout private data/ submodule
|
|
|
|
|
|
|
|
stages:
|
|
|
|
- name: "Build Docker image"
|
|
|
|
- name: "Test"
|
|
|
|
- name: "Deploy Docker image - latest"
|
|
|
|
if: branch = master
|
|
|
|
- name: "Deploy Docker image - tagged"
|
|
|
|
if: tag IS present
|
|
|
|
|
|
|
|
jobs:
|
|
|
|
include:
|
|
|
|
- stage: "Build Docker image"
|
|
|
|
script:
|
|
|
|
- echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin
|
|
|
|
|
|
|
|
# We are using the image my_ocrd_workflow to cache, so pull and tag it
|
|
|
|
- docker pull $DOCKER_USERNAME/my_ocrd_workflow
|
|
|
|
- docker tag $DOCKER_USERNAME/my_ocrd_workflow my_ocrd_workflow
|
|
|
|
|
|
|
|
- FORCE_DOWNLOAD=y ./build
|
|
|
|
|
|
|
|
- docker tag my_ocrd_workflow $DOCKER_USERNAME/my_ocrd_workflow:$TRAVIS_COMMIT
|
|
|
|
- docker images
|
|
|
|
- docker push $DOCKER_USERNAME/my_ocrd_workflow:$TRAVIS_COMMIT
|
|
|
|
|
|
|
|
- stage: "Test"
|
|
|
|
script:
|
|
|
|
- docker pull $DOCKER_USERNAME/my_ocrd_workflow:$TRAVIS_COMMIT
|
|
|
|
- docker tag $DOCKER_USERNAME/my_ocrd_workflow:$TRAVIS_COMMIT my_ocrd_workflow
|
|
|
|
|
|
|
|
- curl -O https://qurator-data.de/examples/actevedef_718448162.first-page.zip
|
|
|
|
- unzip actevedef_718448162.first-page.zip
|
|
|
|
- cd actevedef_718448162.first-page
|
|
|
|
|
|
|
|
- $TRAVIS_BUILD_DIR/run --skip-validation
|
|
|
|
# XXX Enable validation again when ocrd_olena is fixed https://github.com/OCR-D/ocrd_olena/issues/60
|
|
|
|
|
|
|
|
- curl --upload-file OCR-D-OCR-CALAMARI/OCR-D-OCR-CALAMARI_00000024.xml https://transfer.sh/my_ocrd_workflow_$RANDOM.xml 1>&2
|
|
|
|
- grep -q 'auswa.rtige Rechtsgela.hrte ha.tten mu...en bef.aget werden' OCR-D-OCR-CALAMARI/OCR-D-OCR-CALAMARI_00000024.xml
|
|
|
|
- grep -q 'auswa.rtige Rechtsgela.hrte ha.tten mu...en bef.aget werden' OCR-D-OCR-TESS/OCR-D-OCR-TESS_00000024.xml
|
|
|
|
|
|
|
|
- stage: "Deploy Docker image - latest"
|
|
|
|
env: DOCKER_TAG=latest
|
|
|
|
script:
|
|
|
|
- echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin
|
|
|
|
|
|
|
|
- docker pull $DOCKER_USERNAME/my_ocrd_workflow:$TRAVIS_COMMIT
|
|
|
|
- docker tag $DOCKER_USERNAME/my_ocrd_workflow:$TRAVIS_COMMIT $DOCKER_USERNAME/my_ocrd_workflow:$DOCKER_TAG
|
|
|
|
- docker push $DOCKER_USERNAME/my_ocrd_workflow:$DOCKER_TAG
|
|
|
|
|
|
|
|
- stage: "Deploy Docker image - tagged"
|
|
|
|
env: DOCKER_TAG=$TRAVIS_TAG
|
|
|
|
script:
|
|
|
|
- echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin
|
|
|
|
|
|
|
|
- docker pull $DOCKER_USERNAME/my_ocrd_workflow:$TRAVIS_COMMIT
|
|
|
|
- docker tag $DOCKER_USERNAME/my_ocrd_workflow:$TRAVIS_COMMIT $DOCKER_USERNAME/my_ocrd_workflow:$DOCKER_TAG
|
|
|
|
- docker push $DOCKER_USERNAME/my_ocrd_workflow:$DOCKER_TAG
|