Skip to content

Commit

Permalink
Merge pull request #19 from dustinsoftware/master
Browse files Browse the repository at this point in the history
Backmerge from master to develop
  • Loading branch information
dustinsoftware committed May 19, 2020
2 parents 4e9339f + 1d8b041 commit 698d792
Show file tree
Hide file tree
Showing 2 changed files with 18 additions and 17 deletions.
17 changes: 9 additions & 8 deletions Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,7 @@ RUN pwsh /app/release.ps1 -create_release -version 100
RUN pwsh /app/release.ps1 -mark_released -version 100

RUN pwsh /app/assertOutput.ps1 "git diff origin/master...origin/develop" "" -assertExactMatch -assertPass
RUN pwsh /app/assertOutput.ps1 "pwsh /app/release.ps1 -create_release -version 100" -assertFail

RUN git log --all --graph --decorate

Expand All @@ -63,9 +64,9 @@ RUN git push origin develop
RUN pwsh /app/release.ps1 -create_release -version 101
RUN pwsh /app/assertOutput.ps1 "pwsh /app/release.ps1 -list_releases" "/git-upstream/.git Branch release-100 Branch release-101" -assertExactMatch -assertPass

RUN pwsh /app/release.ps1 -mark_released -create_tag -version 100
RUN pwsh /app/release.ps1 -mark_released -version 100
RUN pwsh /app/assertOutput.ps1 "pwsh /app/release.ps1 -list_releases" "/git-upstream/.git Branch release-101 Tag v100" -assertExactMatch -assertPass
RUN pwsh /app/release.ps1 -mark_released -create_tag -version 101
RUN pwsh /app/release.ps1 -mark_released -version 101

RUN pwsh /app/assertOutput.ps1 "pwsh /app/release.ps1 -list_releases" "/git-upstream/.git Tag v101 Tag v100" -assertExactMatch -assertPass

Expand Down Expand Up @@ -97,9 +98,9 @@ RUN echo hi >> README.md
RUN git commit -a -m "Hotfix readme update"
RUN git push origin release-100-1

RUN pwsh /app/release.ps1 -mark_released -create_tag -version 100
RUN pwsh /app/release.ps1 -mark_released -version 100
RUN pwsh /app/assertOutput.ps1 "pwsh /app/release.ps1 -backmerge -backmerge_branchname release-100-1" "Backmerge required for develop, please open: /git-upstream/.git/compare/release-100-1?expand=1&title=Backmerge+from+release-100-1+to+develop&body=Backmerge No backmerge required for release-100-1. Backmerge required for release-101, please open: /git-upstream/.git/compare/release-101...release-100-1?expand=1&title=Backmerge+from+release-100-1+to+release-101&body=Backmerge" -assertPass -assertPartialMatch
RUN pwsh /app/assertOutput.ps1 "pwsh /app/release.ps1 -mark_released -create_tag -version 100.1" "Backmerge required for develop, please open: /git-upstream/.git/compare/master?expand=1&title=Backmerge+from+master+to+develop&body=Backmerge Backmerge required for release-101, please open: /git-upstream/.git/compare/release-101...master?expand=1&title=Backmerge+from+master+to+release-101&body=Backmerge" -assertPass -assertPartialMatch
RUN pwsh /app/assertOutput.ps1 "pwsh /app/release.ps1 -mark_released -version 100.1" "Backmerge required for develop, please open: /git-upstream/.git/compare/master?expand=1&title=Backmerge+from+master+to+develop&body=Backmerge Backmerge required for release-101, please open: /git-upstream/.git/compare/release-101...master?expand=1&title=Backmerge+from+master+to+release-101&body=Backmerge" -assertPass -assertPartialMatch
RUN pwsh /app/assertOutput.ps1 "pwsh /app/release.ps1 -backmerge -backmerge_branchname master" "Backmerge required for develop, please open: /git-upstream/.git/compare/master?expand=1&title=Backmerge+from+master+to+develop&body=Backmerge Backmerge required for release-101, please open: /git-upstream/.git/compare/release-101...master?expand=1&title=Backmerge+from+master+to+release-101&body=Backmerge" -assertPass -assertPartialMatch

RUN pwsh /app/assertOutput.ps1 "pwsh /app/release.ps1 -mark_released -version 101" "master contains commits not merged back into release-101. Please fix that before proceeding. /git-upstream/.git/compare/master?expand=1&title=Backmerge+from+master+to+develop&body=Backmerge" -assertPartialMatch -assertFail
Expand All @@ -108,7 +109,7 @@ RUN git checkout release-101
RUN git merge origin/master -m "Backmerge"
RUN git push origin release-101

RUN pwsh /app/release.ps1 -mark_released -create_tag -version 101
RUN pwsh /app/release.ps1 -mark_released -version 101

RUN git checkout develop
RUN git merge origin/master -m "Backmerge"
Expand All @@ -121,9 +122,9 @@ RUN git log --all --graph --decorate
FROM build
RUN echo 'list releases'

RUN pwsh /app/release.ps1 -create_release -create_tag -version 100
RUN pwsh /app/release.ps1 -create_release -create_tag -version 100.1
RUN pwsh /app/release.ps1 -create_release -create_tag -version 101
RUN pwsh /app/release.ps1 -create_release -version 100
RUN pwsh /app/release.ps1 -create_release -version 100.1
RUN pwsh /app/release.ps1 -create_release -version 101

RUN git checkout -b release-100-2-somedata
RUN git push origin release-100-2-somedata
Expand Down
18 changes: 9 additions & 9 deletions release.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,7 @@ param(
# Optional args
[string] $hotfix_base_branch,
[string] $backmerge_branchname,
[switch] $safe_mode, # Skip pushing anything
[switch] $create_tag # some CI environments will tag releases,
[switch] $safe_mode # Skip pushing anything
)

# Release script that enforces a one way commit history on master.
Expand Down Expand Up @@ -162,6 +161,9 @@ if ($create_release) {
}
$branch_name = GetBranchName $version

if (DoesRefExist "refs/tags/v$version") {
throw "Tag $version already exists on remote, please delete it and try again"
}
if (DoesRefExist "refs/remotes/origin/$branch_name") {
throw "Branch $branch_name already exists on remote, please delete it and try again"
}
Expand Down Expand Up @@ -236,13 +238,11 @@ if ($mark_released) {
}
}

if ($create_tag) {
if (DoesRefExist "refs/tags/$version") {
Write-Output "Tag $version already exists on remote, skipping"
} else {
RunWithSafetyCheck "git tag v$version"
RunWithSafetyCheck "git push origin --tags"
}
if (DoesRefExist "refs/tags/$version") {
Write-Output "Tag $version already exists on remote, skipping"
} else {
RunWithSafetyCheck "git tag v$version"
RunWithSafetyCheck "git push origin --tags"
}

RunWithSafetyCheck "git push origin HEAD:master"
Expand Down

0 comments on commit 698d792

Please sign in to comment.