diff options
| -rw-r--r-- | azure-pipelines.yml | 28 | 
1 files changed, 27 insertions, 1 deletions
| diff --git a/azure-pipelines.yml b/azure-pipelines.yml index bf756b8..ad9a7c8 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -43,8 +43,34 @@ jobs:        dockerRegistryEndpoint: 'DockerHub'        command: 'login' +  - script: | +      if [[ -n "$(git diff HEAD~ -- docker/base.Dockerfile)" ]]; then +        echo "##vso[task.setvariable variable=BASE_CHANGED]1" +      fi + +      if [[ -n "$(git diff HEAD~ -- Pipfile* docker/venv.Dockerfile)" ]]; then +        echo "##vso[task.setvariable variable=VENV_CHANGED]1" +      fi +    displayName: 'Check Changed Files' + +  - script: docker build -t pythondiscord/snekbox-base:latest -f docker/base.Dockerfile . +    displayName: 'Build Base Image' +    condition: and(succeeded(), variables.BASE_CHANGED) + +  - script: docker build -t pythondiscord/snekbox-venv:latest -f docker/venv.Dockerfile . +    displayName: 'Build Virtual Environment Image' +    condition: and(succeeded(), or(variables.BASE_CHANGED, variables.VENV_CHANGED)) +    - script: docker build -t pythondiscord/snekbox:latest -f docker/Dockerfile .      displayName: 'Build Final Image' +  - script: docker push pythondiscord/snekbox-base:latest +    displayName: 'Push Base Image to Dockerhub' +    condition: and(succeeded(), variables.BASE_CHANGED) + +  - script: docker push pythondiscord/snekbox-venv:latest +    displayName: 'Push Virtual Environment Image to Dockerhub' +    condition: and(succeeded(), or(variables.BASE_CHANGED, variables.VENV_CHANGED)) +    - script: docker push pythondiscord/snekbox:latest -    displayName: 'Push Image to Dockerhub' +    displayName: 'Push Final Image to Dockerhub' | 
