diff options
Diffstat (limited to 'azure-pipelines.yml')
| -rw-r--r-- | azure-pipelines.yml | 122 | 
1 files changed, 56 insertions, 66 deletions
| diff --git a/azure-pipelines.yml b/azure-pipelines.yml index 4dcad685c..b5ecab83c 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -6,69 +6,59 @@ variables:    PIPENV_NOSPIN: 1  jobs: -- job: test -  displayName: 'Lint & Test' - -  pool: -    vmImage: ubuntu-16.04 - -  variables: -    PIPENV_CACHE_DIR: ".cache/pipenv" -    PIP_CACHE_DIR: ".cache/pip" -    PIP_SRC: ".cache/src" - -  steps: -  - script: | -      sudo apt-get update -      sudo apt-get install build-essential curl docker libffi-dev libfreetype6-dev libxml2 libxml2-dev libxslt1-dev zlib1g zlib1g-dev -    displayName: 'Install base dependencies' - -  - task: UsePythonVersion@0 -    displayName: 'Set Python version' -    inputs: -      versionSpec: '3.7.x' -      addToPath: true - -  - script: sudo pip install pipenv -    displayName: 'Install pipenv' - -  - script: pipenv install --dev --deploy --system -    displayName: 'Install project using pipenv' - -  - script: python -m flake8 -    displayName: 'Run linter' - -  - script: BOT_API_KEY=foo BOT_TOKEN=bar WOLFRAM_API_KEY=baz python -m pytest --junitxml=junit.xml --cov=bot --cov-branch --cov-report=term --cov-report=xml tests -    displayName: Run tests - -  - task: PublishCodeCoverageResults@1 -    displayName: 'Publish Coverage Results' -    condition: succeededOrFailed() -    inputs: -      codeCoverageTool: Cobertura -      summaryFileLocation: coverage.xml - -  - task: PublishTestResults@2 -    displayName: 'Publish Test Results' -    condition: succeededOrFailed() -    inputs: -      testResultsFiles: junit.xml -      testRunTitle: 'Bot Test results' - -- job: build -  displayName: 'Build Containers' -  dependsOn: 'test' - -  steps: -  - task: Docker@1 -    displayName: 'Login: Docker Hub' - -    inputs: -      containerregistrytype: 'Container Registry' -      dockerRegistryEndpoint: 'DockerHub' -      command: 'login' - -  - task: ShellScript@2 -    displayName: 'Build and deploy containers' -    inputs: -      scriptPath: scripts/deploy-azure.sh +  - job: test +    displayName: 'Lint & Test' +    pool: +      vmImage: ubuntu-16.04 + +    variables: +      PIP_CACHE_DIR: ".cache/pip" + +    steps: +      - task: UsePythonVersion@0 +        displayName: 'Set Python version' +        inputs: +          versionSpec: '3.7.x' +          addToPath: true + +      - script: pip install pipenv +        displayName: 'Install pipenv' + +      - script: pipenv install --dev --deploy --system +        displayName: 'Install project using pipenv' + +      - script: python -m flake8 +        displayName: 'Run linter' + +      - script: BOT_API_KEY=foo BOT_TOKEN=bar WOLFRAM_API_KEY=baz python -m pytest --junitxml=junit.xml --cov=bot --cov-branch --cov-report=term --cov-report=xml tests +        displayName: Run tests + +      - task: PublishCodeCoverageResults@1 +        displayName: 'Publish Coverage Results' +        condition: succeededOrFailed() +        inputs: +          codeCoverageTool: Cobertura +          summaryFileLocation: coverage.xml + +      - task: PublishTestResults@2 +        displayName: 'Publish Test Results' +        condition: succeededOrFailed() +        inputs: +          testResultsFiles: junit.xml +          testRunTitle: 'Bot Test results' + +  - job: build +    displayName: 'Build & Push Container' +    dependsOn: 'test' +    condition: and(succeeded(), ne(variables['Build.Reason'], 'PullRequest')) + +    steps: +      - task: Docker@2 +        displayName: 'Build & Push Container' +        inputs: +          containerRegistry: 'DockerHub' +          repository: 'pythondiscord/bot' +          command: 'buildAndPush' +          Dockerfile: 'Dockerfile' +          buildContext: '.' +          tags: 'latest' | 
