ci: test migration from last released version to current branch (#224)
* ci: test migration test from last released version to current branch * ci: fix typo * ci: remove hyphens * ci: checkout Build.SourceBranchName * ci: attempt to fix Build.SourceBranchName https://github.com/microsoft/azure-pipelines-tasks/issues/8793 * ci: fix duplicate variables entry * ci: fix quoting for docker jobs * ci: attempt to access branchName directly * ci: attempt to extract branch name via sed * ci: fix escaping for Build.SourceBranch * ci: different bash substitution * ci: replace /refs/pulls * ci: attempt to save previous branch as variable * ci: fix indent * ci: try compile-time variables for docker * ci: always use Build.SourceBranch * ci: use compile-time template expression * ci: use Build.SourceBranchName * ci: attempt to get branch name from System.PullRequest.SourceBranch
This commit is contained in:
parent
74251a8883
commit
241d59be8d
|
@ -8,6 +8,10 @@ variables:
|
||||||
POSTGRES_DB: passbook
|
POSTGRES_DB: passbook
|
||||||
POSTGRES_USER: passbook
|
POSTGRES_USER: passbook
|
||||||
POSTGRES_PASSWORD: "EK-5jnKfjrGRm<77"
|
POSTGRES_PASSWORD: "EK-5jnKfjrGRm<77"
|
||||||
|
${{ if startsWith(variables['Build.SourceBranch'], 'refs/heads/') }}:
|
||||||
|
branchName: ${{ replace(variables['Build.SourceBranchName'], 'refs/heads/', '') }}
|
||||||
|
${{ if startsWith(variables['Build.SourceBranch'], 'refs/pull/') }}:
|
||||||
|
branchName: ${{ replace(variables['System.PullRequest.SourceBranch'], 'refs/heads/', '') }}
|
||||||
|
|
||||||
stages:
|
stages:
|
||||||
- stage: Lint
|
- stage: Lint
|
||||||
|
@ -117,6 +121,41 @@ stages:
|
||||||
- task: CmdLine@2
|
- task: CmdLine@2
|
||||||
inputs:
|
inputs:
|
||||||
script: pipenv run ./manage.py migrate
|
script: pipenv run ./manage.py migrate
|
||||||
|
- job: migrations_from_previous_release
|
||||||
|
pool:
|
||||||
|
vmImage: 'ubuntu-latest'
|
||||||
|
steps:
|
||||||
|
- task: UsePythonVersion@0
|
||||||
|
inputs:
|
||||||
|
versionSpec: '3.8'
|
||||||
|
- task: DockerCompose@0
|
||||||
|
displayName: Run services
|
||||||
|
inputs:
|
||||||
|
dockerComposeFile: 'scripts/ci.docker-compose.yml'
|
||||||
|
action: 'Run services'
|
||||||
|
buildImages: false
|
||||||
|
- task: CmdLine@2
|
||||||
|
displayName: Prepare Last tagged release
|
||||||
|
inputs:
|
||||||
|
script: |
|
||||||
|
git checkout $(git describe --abbrev=0 --match 'version/*')
|
||||||
|
sudo pip install -U wheel pipenv
|
||||||
|
pipenv install --dev
|
||||||
|
- task: CmdLine@2
|
||||||
|
displayName: Migrate to last tagged release
|
||||||
|
inputs:
|
||||||
|
script: pipenv run ./manage.py migrate
|
||||||
|
- task: CmdLine@2
|
||||||
|
displayName: Install current branch
|
||||||
|
inputs:
|
||||||
|
script: |
|
||||||
|
set -x
|
||||||
|
git checkout ${{ variables.branchName }}
|
||||||
|
pipenv sync --dev
|
||||||
|
- task: CmdLine@2
|
||||||
|
displayName: Migrate to current branch
|
||||||
|
inputs:
|
||||||
|
script: pipenv run ./manage.py migrate
|
||||||
- job: coverage_unittest
|
- job: coverage_unittest
|
||||||
pool:
|
pool:
|
||||||
vmImage: 'ubuntu-latest'
|
vmImage: 'ubuntu-latest'
|
||||||
|
@ -265,7 +304,7 @@ stages:
|
||||||
repository: 'beryju/passbook'
|
repository: 'beryju/passbook'
|
||||||
command: 'buildAndPush'
|
command: 'buildAndPush'
|
||||||
Dockerfile: 'Dockerfile'
|
Dockerfile: 'Dockerfile'
|
||||||
tags: 'gh-$(Build.SourceBranchName)'
|
tags: "gh-${{ variables.branchName }}"
|
||||||
- job: build_static
|
- job: build_static
|
||||||
pool:
|
pool:
|
||||||
vmImage: 'ubuntu-latest'
|
vmImage: 'ubuntu-latest'
|
||||||
|
@ -282,14 +321,14 @@ stages:
|
||||||
repository: 'beryju/passbook-static'
|
repository: 'beryju/passbook-static'
|
||||||
command: 'build'
|
command: 'build'
|
||||||
Dockerfile: 'static.Dockerfile'
|
Dockerfile: 'static.Dockerfile'
|
||||||
tags: 'gh-$(Build.SourceBranchName)'
|
tags: "gh-${{ variables.branchName }}"
|
||||||
arguments: "--network=beryjupassbook_default"
|
arguments: "--network=beryjupassbook_default"
|
||||||
- task: Docker@2
|
- task: Docker@2
|
||||||
inputs:
|
inputs:
|
||||||
containerRegistry: 'dockerhub'
|
containerRegistry: 'dockerhub'
|
||||||
repository: 'beryju/passbook-static'
|
repository: 'beryju/passbook-static'
|
||||||
command: 'push'
|
command: 'push'
|
||||||
tags: 'gh-$(Build.SourceBranchName)'
|
tags: "gh-${{ variables.branchName }}"
|
||||||
- stage: Deploy
|
- stage: Deploy
|
||||||
jobs:
|
jobs:
|
||||||
- job: deploy_dev
|
- job: deploy_dev
|
||||||
|
|
Reference in New Issue