Merge pull request #198 from MarkSchmitt/travis-multiarch-builds

Travis multi-arch builds: only build and push docker containers on special branches and tags
This commit is contained in:
Jonas Winkler 2020-12-28 13:36:33 +01:00 committed by GitHub
commit 7497e0f6b9
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -3,24 +3,36 @@ language: python
dist: focal dist: focal
os: linux os: linux
stages:
- name: test
- name: build_docker
if: branch =~ /^(master|dev|ng-.*)$/
- name: publish_manifest
if: branch =~ /^(master|dev|ng-.*)$/
jobs: jobs:
include: include:
- name: "Paperless on Python 3.6" - name: "Paperless on Python 3.6"
stage: test
python: "3.6" python: "3.6"
- name: "Paperless on Python 3.7" - name: "Paperless on Python 3.7"
stage: test
python: "3.7" python: "3.7"
- name: "Paperless on Python 3.8" - name: "Paperless on Python 3.8"
stage: test
python: "3.8" python: "3.8"
- name: "Documentation" - name: "Documentation"
stage: test
script: script:
- cd docs/ - cd docs/
- make html - make html
after_success: true after_success: true
- name: "Front end" - name: "Front end"
stage: test
language: node_js language: node_js
node_js: node_js:
- 15 - 15
@ -47,8 +59,6 @@ jobs:
- echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin - echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin
- docker build -f Dockerfile --tag=${DOCKER_REPO}:${TRAVIS_COMMIT}-amd64 . - docker build -f Dockerfile --tag=${DOCKER_REPO}:${TRAVIS_COMMIT}-amd64 .
- docker push ${DOCKER_REPO}:${TRAVIS_COMMIT}-amd64 - docker push ${DOCKER_REPO}:${TRAVIS_COMMIT}-amd64
on:
condition: '"${BUILD_DOCKER}" = 1'
- stage: build_docker - stage: build_docker
name: arm64v8 docker build name: arm64v8 docker build
services: services:
@ -67,9 +77,6 @@ jobs:
arch: arm64-graviton2 arch: arm64-graviton2
virt: vm virt: vm
group: edge group: edge
on:
condition: '"${BUILD_DOCKER}" = 1'
- stage: build_docker - stage: build_docker
name: arm32v7 docker build name: arm32v7 docker build
services: services:
@ -93,9 +100,6 @@ jobs:
- docker push ${DOCKER_REPO}:${TRAVIS_COMMIT}-arm32v7 - docker push ${DOCKER_REPO}:${TRAVIS_COMMIT}-arm32v7
env: env:
- DOCKER_CLI_EXPERIMENTAL=enabled # required for manifest support - DOCKER_CLI_EXPERIMENTAL=enabled # required for manifest support
on:
condition: '"${BUILD_DOCKER}" = 1'
- stage: publish_manifest - stage: publish_manifest
env: env:
- DOCKER_CLI_EXPERIMENTAL=enabled # required for manifest support - DOCKER_CLI_EXPERIMENTAL=enabled # required for manifest support
@ -130,8 +134,6 @@ jobs:
else else
echo "Not a tag and not on master, so not pushing tag/master specific manifest" echo "Not a tag and not on master, so not pushing tag/master specific manifest"
fi fi
on:
condition: '"${BUILD_DOCKER}" = 1'
before_install: before_install: