mirror of
				https://github.com/paperless-ngx/paperless-ngx.git
				synced 2025-11-03 19:17:13 -05:00 
			
		
		
		
	Merge branch 'travis-multiarch-builds' of https://github.com/MarkSchmitt/paperless into travis-multiarch-builds
This commit is contained in:
		
						commit
						38cb8201a1
					
				
							
								
								
									
										62
									
								
								.github/workflows/docker.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										62
									
								
								.github/workflows/docker.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@ -0,0 +1,62 @@
 | 
				
			|||||||
 | 
					name: docker
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					on:
 | 
				
			||||||
 | 
					  push:
 | 
				
			||||||
 | 
					    branches:
 | 
				
			||||||
 | 
					    - master
 | 
				
			||||||
 | 
					    - dev
 | 
				
			||||||
 | 
					    tags:
 | 
				
			||||||
 | 
					    - 'ng-*'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					jobs:
 | 
				
			||||||
 | 
					  # build and push image to docker hub.
 | 
				
			||||||
 | 
					  buildx:
 | 
				
			||||||
 | 
					    runs-on: ubuntu-latest
 | 
				
			||||||
 | 
					    steps:
 | 
				
			||||||
 | 
					      - uses: actions/checkout@v2
 | 
				
			||||||
 | 
					      - name: Prepare
 | 
				
			||||||
 | 
					        id: prepare
 | 
				
			||||||
 | 
					        env:
 | 
				
			||||||
 | 
					          DOCKER_IMAGE: ${{ secrets.DOCKER_IMAGE }}
 | 
				
			||||||
 | 
					        run: |
 | 
				
			||||||
 | 
					          DOCKER_PLATFORMS=linux/amd64,linux/arm/v7,linux/arm64/v8
 | 
				
			||||||
 | 
					          VERSION=edge
 | 
				
			||||||
 | 
					          if [[ $GITHUB_REF == refs/tags/* ]]; then
 | 
				
			||||||
 | 
					            VERSION=${GITHUB_REF#refs/tags/}
 | 
				
			||||||
 | 
					          fi
 | 
				
			||||||
 | 
					          if [[ $GITHUB_REF == refs/heads/* ]]; then
 | 
				
			||||||
 | 
					            VERSION=${GITHUB_REF#refs/heads/}
 | 
				
			||||||
 | 
					          fi
 | 
				
			||||||
 | 
					          TAGS="--tag ${DOCKER_IMAGE}:${VERSION}"
 | 
				
			||||||
 | 
					          if [[ $VERSION == "master" ]]; then
 | 
				
			||||||
 | 
					            TAGS="$TAGS --tag ${DOCKER_IMAGE}:latest"
 | 
				
			||||||
 | 
					          fi
 | 
				
			||||||
 | 
					          echo ::set-output name=docker_image::${DOCKER_IMAGE}
 | 
				
			||||||
 | 
					          echo ::set-output name=version::${VERSION}
 | 
				
			||||||
 | 
					          echo ::set-output name=buildx_args::--platform ${DOCKER_PLATFORMS} \
 | 
				
			||||||
 | 
					            --build-arg VERSION=${VERSION} \
 | 
				
			||||||
 | 
					            --build-arg BUILD_DATE=$(date -u +'%Y-%m-%dT%H:%M:%SZ') \
 | 
				
			||||||
 | 
					            --build-arg VCS_REF=${GITHUB_SHA::8} \
 | 
				
			||||||
 | 
					            ${TAGS} --file ./Dockerfile .
 | 
				
			||||||
 | 
					      - name: install buildx
 | 
				
			||||||
 | 
					        id: buildx
 | 
				
			||||||
 | 
					        uses: crazy-max/ghaction-docker-buildx@v3.1.0
 | 
				
			||||||
 | 
					      - name: Docker Login
 | 
				
			||||||
 | 
					        if: success() && github.event_name != 'pull_request'
 | 
				
			||||||
 | 
					        env:
 | 
				
			||||||
 | 
					          DOCKER_USERNAME: ${{ secrets.DOCKER_USERNAME }}
 | 
				
			||||||
 | 
					          DOCKER_PASSWORD: ${{ secrets.DOCKER_PASSWORD }}
 | 
				
			||||||
 | 
					        run: |
 | 
				
			||||||
 | 
					          echo "${DOCKER_PASSWORD}" | docker login --username "${DOCKER_USERNAME}" --password-stdin
 | 
				
			||||||
 | 
					      - name: Docker Buildx (push)
 | 
				
			||||||
 | 
					        if: success() && github.event_name != 'pull_request'
 | 
				
			||||||
 | 
					        run: |
 | 
				
			||||||
 | 
					          docker buildx build --output "type=image,push=true" ${{ steps.prepare.outputs.buildx_args }}
 | 
				
			||||||
 | 
					      - name: Docker Check Manifest
 | 
				
			||||||
 | 
					        if: always() && github.event_name != 'pull_request'
 | 
				
			||||||
 | 
					        run: |
 | 
				
			||||||
 | 
					          docker run --rm mplatform/mquery ${{ steps.prepare.outputs.docker_image }}:${{ steps.prepare.outputs.version }}
 | 
				
			||||||
 | 
					      - name: Clear
 | 
				
			||||||
 | 
					        if: always() && github.event_name != 'pull_request'
 | 
				
			||||||
 | 
					        run: |
 | 
				
			||||||
 | 
					          rm -f ${HOME}/.docker/config.json
 | 
				
			||||||
							
								
								
									
										33
									
								
								.github/workflows/documentation.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										33
									
								
								.github/workflows/documentation.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@ -0,0 +1,33 @@
 | 
				
			|||||||
 | 
					name: documentation
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# always run documentation workflow to ensure the documentation can still be built
 | 
				
			||||||
 | 
					on: [push, pull_request]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# possibly add a publish job for automatic read-the-docs publishing
 | 
				
			||||||
 | 
					jobs:
 | 
				
			||||||
 | 
					  documentation:
 | 
				
			||||||
 | 
					    runs-on: ubuntu-20.04
 | 
				
			||||||
 | 
					    steps:
 | 
				
			||||||
 | 
					    - uses: actions/checkout@v2
 | 
				
			||||||
 | 
					    - name: Install python version
 | 
				
			||||||
 | 
					      uses: gabrielfalcao/pyenv-action@v7
 | 
				
			||||||
 | 
					      with:
 | 
				
			||||||
 | 
					        default: "3.6.8"
 | 
				
			||||||
 | 
					        command: "pip install -U pip"    
 | 
				
			||||||
 | 
					    - name: Get pip cache dir
 | 
				
			||||||
 | 
					      id: pip-cache
 | 
				
			||||||
 | 
					      run: |
 | 
				
			||||||
 | 
					        echo "::set-output name=dir::$(pip cache dir)"
 | 
				
			||||||
 | 
					    - name: Persistent Github pip cache
 | 
				
			||||||
 | 
					      uses: actions/cache@v2
 | 
				
			||||||
 | 
					      with:
 | 
				
			||||||
 | 
					        path: ${{ steps.pip-cache.outputs.dir }}
 | 
				
			||||||
 | 
					        key: ${{ runner.os }}-pip3.6.8}
 | 
				
			||||||
 | 
					    - name: dependencies
 | 
				
			||||||
 | 
					      # instead of directly installing the dependency in the workflow file, can this be done using the pipfile instead?
 | 
				
			||||||
 | 
					      run: |
 | 
				
			||||||
 | 
					        pip install 'sphinx~=3.3' sphinx_rtd_theme
 | 
				
			||||||
 | 
					    - name: make
 | 
				
			||||||
 | 
					      run: |
 | 
				
			||||||
 | 
					        cd docs/
 | 
				
			||||||
 | 
					        make html
 | 
				
			||||||
							
								
								
									
										19
									
								
								.github/workflows/frontend.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										19
									
								
								.github/workflows/frontend.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@ -0,0 +1,19 @@
 | 
				
			|||||||
 | 
					name: frontend
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# always run frontend workflow to see if it builds and tests run fine
 | 
				
			||||||
 | 
					on: [push, pull_request]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					jobs:
 | 
				
			||||||
 | 
					  frontend:
 | 
				
			||||||
 | 
					    runs-on: ubuntu-20.04
 | 
				
			||||||
 | 
					    steps:
 | 
				
			||||||
 | 
					    - uses: actions/checkout@v2
 | 
				
			||||||
 | 
					    - uses: actions/setup-node@v2
 | 
				
			||||||
 | 
					      with:
 | 
				
			||||||
 | 
					        node-version: '15'
 | 
				
			||||||
 | 
					    - name: build
 | 
				
			||||||
 | 
					      run: |
 | 
				
			||||||
 | 
					        cd src-ui/
 | 
				
			||||||
 | 
					        npm install -g @angular/cli
 | 
				
			||||||
 | 
					        npm install
 | 
				
			||||||
 | 
					        ng build --prod
 | 
				
			||||||
							
								
								
									
										43
									
								
								.github/workflows/test.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										43
									
								
								.github/workflows/test.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@ -0,0 +1,43 @@
 | 
				
			|||||||
 | 
					name: backend-tests
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# always run tests workflow
 | 
				
			||||||
 | 
					on: [push, pull_request]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					jobs:
 | 
				
			||||||
 | 
					  tests:
 | 
				
			||||||
 | 
					    runs-on: ${{ matrix.os }}
 | 
				
			||||||
 | 
					    strategy:
 | 
				
			||||||
 | 
					      matrix:
 | 
				
			||||||
 | 
					        os: [ubuntu-20.04]
 | 
				
			||||||
 | 
					        python: # pyenv-action requires the exact version
 | 
				
			||||||
 | 
					          - 3.6.8
 | 
				
			||||||
 | 
					          - 3.7.9
 | 
				
			||||||
 | 
					          - 3.8.6
 | 
				
			||||||
 | 
					    steps:
 | 
				
			||||||
 | 
					    - uses: actions/checkout@v2
 | 
				
			||||||
 | 
					    - name: Install python version
 | 
				
			||||||
 | 
					      uses: gabrielfalcao/pyenv-action@v7
 | 
				
			||||||
 | 
					      with:
 | 
				
			||||||
 | 
					        default: "${{ matrix.python }}"
 | 
				
			||||||
 | 
					        command: "pip install -U pip"
 | 
				
			||||||
 | 
					    - name: Get pip cache dir
 | 
				
			||||||
 | 
					      id: pip-cache
 | 
				
			||||||
 | 
					      run: |
 | 
				
			||||||
 | 
					        echo "::set-output name=dir::$(pip cache dir)"
 | 
				
			||||||
 | 
					    - name: Persistent Github pip cache
 | 
				
			||||||
 | 
					      uses: actions/cache@v2
 | 
				
			||||||
 | 
					      with:
 | 
				
			||||||
 | 
					        path: ${{ steps.pip-cache.outputs.dir }}
 | 
				
			||||||
 | 
					        key: ${{ runner.os }}-pip${{ matrix.python }}
 | 
				
			||||||
 | 
					    - name: Tests
 | 
				
			||||||
 | 
					      env: 
 | 
				
			||||||
 | 
					        GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
 | 
				
			||||||
 | 
					      run: |
 | 
				
			||||||
 | 
					        sudo apt-get update -qq
 | 
				
			||||||
 | 
					        sudo apt-get install -qq libpoppler-cpp-dev unpaper tesseract-ocr imagemagick ghostscript optipng
 | 
				
			||||||
 | 
					        pip install --upgrade pipenv
 | 
				
			||||||
 | 
					        pipenv install --system --dev
 | 
				
			||||||
 | 
					        cd src/
 | 
				
			||||||
 | 
					        pipenv run pytest --cov
 | 
				
			||||||
 | 
					        pipenv run pycodestyle
 | 
				
			||||||
 | 
					        pipenv run coveralls
 | 
				
			||||||
							
								
								
									
										153
									
								
								.travis.yml
									
									
									
									
									
								
							
							
						
						
									
										153
									
								
								.travis.yml
									
									
									
									
									
								
							@ -1,153 +0,0 @@
 | 
				
			|||||||
language: python
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
dist: focal
 | 
					 | 
				
			||||||
os: linux
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
stages:
 | 
					 | 
				
			||||||
 - name: test
 | 
					 | 
				
			||||||
 - name: build_docker
 | 
					 | 
				
			||||||
   if: branch =~ /^(master|dev|ng-.*)$/
 | 
					 | 
				
			||||||
 - name: publish_manifest
 | 
					 | 
				
			||||||
   if: branch =~ /^(master|dev|ng-.*)$/
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
jobs:
 | 
					 | 
				
			||||||
  include:
 | 
					 | 
				
			||||||
    - name: "Paperless on Python 3.6"
 | 
					 | 
				
			||||||
      stage: test
 | 
					 | 
				
			||||||
      python: "3.6"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    - name: "Paperless on Python 3.7"
 | 
					 | 
				
			||||||
      stage: test
 | 
					 | 
				
			||||||
      python: "3.7"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    - name: "Paperless on Python 3.8"
 | 
					 | 
				
			||||||
      stage: test
 | 
					 | 
				
			||||||
      python: "3.8"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    - name: "Documentation"
 | 
					 | 
				
			||||||
      stage: test
 | 
					 | 
				
			||||||
      script:
 | 
					 | 
				
			||||||
        - cd docs/
 | 
					 | 
				
			||||||
        - make html
 | 
					 | 
				
			||||||
      after_success: true
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    - name: "Front end"
 | 
					 | 
				
			||||||
      stage: test
 | 
					 | 
				
			||||||
      language: node_js
 | 
					 | 
				
			||||||
      node_js:
 | 
					 | 
				
			||||||
        - 15
 | 
					 | 
				
			||||||
      before_install: true
 | 
					 | 
				
			||||||
      install:
 | 
					 | 
				
			||||||
        - cd src-ui/
 | 
					 | 
				
			||||||
        - npm install -g @angular/cli
 | 
					 | 
				
			||||||
        - npm install
 | 
					 | 
				
			||||||
      script:
 | 
					 | 
				
			||||||
        - ng build --prod
 | 
					 | 
				
			||||||
      after_success: true
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    - stage: build_docker
 | 
					 | 
				
			||||||
      name: amd64 docker build
 | 
					 | 
				
			||||||
      services:
 | 
					 | 
				
			||||||
        - docker
 | 
					 | 
				
			||||||
      before_install:
 | 
					 | 
				
			||||||
        - true
 | 
					 | 
				
			||||||
      install:
 | 
					 | 
				
			||||||
        - true
 | 
					 | 
				
			||||||
      after_success:
 | 
					 | 
				
			||||||
        - true
 | 
					 | 
				
			||||||
      script:
 | 
					 | 
				
			||||||
        - echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin
 | 
					 | 
				
			||||||
        - docker build -f Dockerfile --tag=${DOCKER_REPO}:${TRAVIS_COMMIT}-amd64 .
 | 
					 | 
				
			||||||
        - docker push ${DOCKER_REPO}:${TRAVIS_COMMIT}-amd64
 | 
					 | 
				
			||||||
    - stage: build_docker
 | 
					 | 
				
			||||||
      name: arm64v8 docker build
 | 
					 | 
				
			||||||
      services:
 | 
					 | 
				
			||||||
        - docker
 | 
					 | 
				
			||||||
      before_install:
 | 
					 | 
				
			||||||
        - true
 | 
					 | 
				
			||||||
      install:
 | 
					 | 
				
			||||||
        - true
 | 
					 | 
				
			||||||
      after_success:
 | 
					 | 
				
			||||||
        - true
 | 
					 | 
				
			||||||
      script:
 | 
					 | 
				
			||||||
        - echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin
 | 
					 | 
				
			||||||
        # travis_wait 60 tells travis to wait for up to 60 minutes - default is 20, which is too short
 | 
					 | 
				
			||||||
        - travis_wait 60 docker build -f Dockerfile --tag=${DOCKER_REPO}:${TRAVIS_COMMIT}-arm64v8 .
 | 
					 | 
				
			||||||
        - docker push ${DOCKER_REPO}:${TRAVIS_COMMIT}-arm64v8
 | 
					 | 
				
			||||||
      arch: arm64-graviton2
 | 
					 | 
				
			||||||
      virt: vm
 | 
					 | 
				
			||||||
      group: edge
 | 
					 | 
				
			||||||
    - stage: build_docker
 | 
					 | 
				
			||||||
      name: arm32v7 docker build
 | 
					 | 
				
			||||||
      services:
 | 
					 | 
				
			||||||
        - docker
 | 
					 | 
				
			||||||
      before_install:
 | 
					 | 
				
			||||||
        - true
 | 
					 | 
				
			||||||
      install:
 | 
					 | 
				
			||||||
        - true
 | 
					 | 
				
			||||||
      after_success:
 | 
					 | 
				
			||||||
        - true
 | 
					 | 
				
			||||||
      script:
 | 
					 | 
				
			||||||
        - echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin
 | 
					 | 
				
			||||||
        # register binfmt stuff for qemu-static binaries so we can use userland-emulation
 | 
					 | 
				
			||||||
        - docker run --rm --privileged multiarch/qemu-user-static --reset -p yes
 | 
					 | 
				
			||||||
        # replace the multi-arch reference with a specific, arm32v7 version. else docker will use the platform specific one,
 | 
					 | 
				
			||||||
        # which is amd64.
 | 
					 | 
				
			||||||
        - sed -i "s/FROM node:15/FROM node@$(docker manifest inspect node:15 | jq -r '.manifests [] | select (.platform.variant == "v7") | .digest')/g" Dockerfile
 | 
					 | 
				
			||||||
        - sed -i "s/FROM python:3.7-slim/FROM python@$(docker manifest inspect python:3.7-slim | jq -r '.manifests [] | select (.platform.variant == "v7") | .digest')/g" Dockerfile
 | 
					 | 
				
			||||||
        # travis_wait 60 tells travis to wait for up to 60 minutes - default is 20, which is too short
 | 
					 | 
				
			||||||
        - travis_wait 60 docker build -f Dockerfile --tag=${DOCKER_REPO}:${TRAVIS_COMMIT}-arm32v7 .
 | 
					 | 
				
			||||||
        - docker push ${DOCKER_REPO}:${TRAVIS_COMMIT}-arm32v7
 | 
					 | 
				
			||||||
      env:
 | 
					 | 
				
			||||||
        - DOCKER_CLI_EXPERIMENTAL=enabled # required for manifest support
 | 
					 | 
				
			||||||
    - stage: publish_manifest
 | 
					 | 
				
			||||||
      env:
 | 
					 | 
				
			||||||
        - DOCKER_CLI_EXPERIMENTAL=enabled # required for manifest support
 | 
					 | 
				
			||||||
      services:
 | 
					 | 
				
			||||||
        - docker
 | 
					 | 
				
			||||||
      before_install:
 | 
					 | 
				
			||||||
        - true
 | 
					 | 
				
			||||||
      install:
 | 
					 | 
				
			||||||
        - true
 | 
					 | 
				
			||||||
      after_success:
 | 
					 | 
				
			||||||
        - true
 | 
					 | 
				
			||||||
      script:
 | 
					 | 
				
			||||||
        - echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin
 | 
					 | 
				
			||||||
        - docker manifest create ${DOCKER_REPO}:${TRAVIS_COMMIT} ${DOCKER_REPO}:${TRAVIS_COMMIT}-amd64 ${DOCKER_REPO}:${TRAVIS_COMMIT}-arm64v8 ${DOCKER_REPO}:${TRAVIS_COMMIT}-arm32v7
 | 
					 | 
				
			||||||
        - docker manifest annotate ${DOCKER_REPO}:${TRAVIS_COMMIT} ${DOCKER_REPO}:${TRAVIS_COMMIT}-arm32v7 --os linux --arch arm --variant v7
 | 
					 | 
				
			||||||
        - docker manifest annotate ${DOCKER_REPO}:${TRAVIS_COMMIT} ${DOCKER_REPO}:${TRAVIS_COMMIT}-arm64v8 --os linux --arch arm64 --variant v8
 | 
					 | 
				
			||||||
        - docker manifest push --purge ${DOCKER_REPO}:${TRAVIS_COMMIT}
 | 
					 | 
				
			||||||
        - |
 | 
					 | 
				
			||||||
          if [ "${TRAVIS_BRANCH}" = "master" ]; then
 | 
					 | 
				
			||||||
            echo "Master branch detected"
 | 
					 | 
				
			||||||
            DOCKER_TAG="latest"
 | 
					 | 
				
			||||||
          else
 | 
					 | 
				
			||||||
            DOCKER_TAG=${TRAVIS_TAG}
 | 
					 | 
				
			||||||
          fi
 | 
					 | 
				
			||||||
        - |
 | 
					 | 
				
			||||||
          if [ "${DOCKER_TAG}" != "" ]; then
 | 
					 | 
				
			||||||
            echo "Create Tag ${DOCKER_TAG}"
 | 
					 | 
				
			||||||
            docker manifest create ${DOCKER_REPO}:${DOCKER_TAG} ${DOCKER_REPO}:${TRAVIS_COMMIT}-amd64 ${DOCKER_REPO}:${TRAVIS_COMMIT}-arm64v8 ${DOCKER_REPO}:${TRAVIS_COMMIT}-arm32v7
 | 
					 | 
				
			||||||
            docker manifest annotate ${DOCKER_REPO}:${DOCKER_TAG} ${DOCKER_REPO}:${TRAVIS_COMMIT}-arm32v7 --os linux --arch arm --variant v7
 | 
					 | 
				
			||||||
            docker manifest annotate ${DOCKER_REPO}:${DOCKER_TAG} ${DOCKER_REPO}:${TRAVIS_COMMIT}-arm64v8 --os linux --arch arm64 --variant v8
 | 
					 | 
				
			||||||
            docker manifest push --purge ${DOCKER_REPO}:${DOCKER_TAG}
 | 
					 | 
				
			||||||
          else
 | 
					 | 
				
			||||||
            echo "Not a tag and not on master, so not pushing tag/master specific manifest"
 | 
					 | 
				
			||||||
          fi
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
before_install:
 | 
					 | 
				
			||||||
  - sudo apt-get update -qq
 | 
					 | 
				
			||||||
  - sudo apt-get install -qq libpoppler-cpp-dev unpaper tesseract-ocr imagemagick ghostscript optipng
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
install:
 | 
					 | 
				
			||||||
  - pip install --upgrade pipenv
 | 
					 | 
				
			||||||
  - pipenv install --system --dev
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
script:
 | 
					 | 
				
			||||||
  - cd src/
 | 
					 | 
				
			||||||
  - pipenv run pytest --cov
 | 
					 | 
				
			||||||
  - pipenv run pycodestyle
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
after_success:
 | 
					 | 
				
			||||||
  - pipenv run coveralls
 | 
					 | 
				
			||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user