Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update update--tugboat.md #4294

Merged
merged 1 commit into from
Jan 27, 2020
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
124 changes: 94 additions & 30 deletions procedures/update--tugboat.md
Original file line number Diff line number Diff line change
@@ -1,49 +1,113 @@
Backdrop CMS Tugboat Repository
----

This file contains instructions to deploy a new Backdrop CMS release tag to the `/backdrop-ops/backdrop-tugboat` source repository.
This file contains instructions to deploy a new Backdrop CMS release tag to the
`/backdrop-ops/backdrop-tugboat` source repository.

Tugboat is used to provide demo sandboxes at https://backdropcms.org/demo/create.
[Tugboat](https://tugboat.qa) is used to provide demo sandboxes at
https://backdropcms.org/demo/create.

Setting up the Tugboat Repository
Forking the `/backdrop-ops/backdrop-tugboat` repo
---
* Clone the [`backdrop-tugboat`](https://github.com/backdrop-ops/backdrop-tugboat) repo to your local dev environment.
* `git clone [email protected]:backdrop-ops/backdrop-tugboat.git`
* Add `/backdrop/backdrop` as a tracked remote
* `git remote add core [email protected]:backdrop/backdrop.git`
Skip to the next step if you have previously created a fork of the repo.

* The resulting `.git/config` should have an entry like this:
Visit https://github.com/backdrop-ops/backdrop-tugboat and use the "Fork" button
at the top-right.

Setting up the Backdrop CMS Tugboat repository on your local.
---
* Clone your fork of the `backdrop-tugboat` repo to your local dev environment
(in the command below, replace the `[your-github-username]` with your actual
GitHub username):

`git clone https://github.com/[your-github-username]/backdrop-tugboat`

* Switch to the cloned repo:

`cd backdrop-tugboat`

* Add [`/backdrop/backdrop`](https://github.com/backdrop/backdrop) as a tracked
remote:

`git remote add core https://github.com/backdrop/backdrop`

* Add [`/backdrop-ops/backdrop-tugboat`](https://github.com/backdrop-ops/backdrop-tugboat)
as a tracked remote:

`git remote add upstream https://github.com/backdrop-ops/backdrop-tugboat`

* Verify that the remotes have been added properly:

`git remote -v`

...the output of the above command should like this:

```
[remote "core"]
url = [email protected]:backdrop/backdrop.git
fetch = +refs/heads/*:refs/remotes/core/*
core https://github.com/backdrop/backdrop (fetch)
core https://github.com/backdrop/backdrop (push)
origin https://github.com/[your-github-username]/backdrop-tugboat (fetch)
origin https://github.com/[your-github-username]/backdrop-tugboat (push)
upstream https://github.com/backdrop-ops/backdrop-tugboat (fetch)
upstream https://github.com/backdrop-ops/backdrop-tugboat (push)
```

Deploy a Release
Updating your version of the Backdrop CMS Tugboat repository.
---

`git fetch upstream && git merge upstream/master && git push`

Updating your local Tugboat repo with the latest realeas of Backdrop core
---

* `git fetch core`

* Run `git merge core/[latest-tag]`, replacing the `[latest-tag]` bit with the
actual number of the latest Backdrop CMS version. For example:

`git merge 1.15.0`

* Run the following command, to check if there are any conflicts:

`git diff --diff-filter=U`

If there are conflicts, resolve them using a text editor.

* Once you have confirmed that there are no conflicts, add the changes, commit,
and finally push:

`git add .`

`git commit -m "Updated core to 1.15.0"`

`git push`

* Head over to GitHub, and create a pull request against the master branch of
https://github.com/backdrop-ops/backdrop-tugboat (in the URL below, replace
the `[your-github-username]` bit with your actual GitHub username):

https://github.com/backdrop-ops/backdrop-tugboat/compare/master...[your-github-username]:master

Merge the pull request.
---

* Change directories to your clone of the `backdrop-ops/backdrop-tugboat` repo
* `cd {path/to/backdrop-tugboat}`
* Pull down the changes from `backdrop/backdrop` repo
* `git fetch core`
* Checkout the master branch of `backdrop-ops/backdrop-tugboat`
* `git checkout master`
* Merge the latest Backdrop release tag into `master`
* You can list the tags with `git tag -l`
* If for example we are releasing version `1.5.1` the command would be:
* `git merge 1.5.1`
* Now push to the `backdrop-ops/backdrop-tugboat` repo
* `git push origin master`
* The new release of Backdrop CMS is now on Tugboat. It normally takes 24 hours for new demos to be affected. To immediately make new demos use the new version see the next section.
Head over to https://gitter.im/backdrop/backdrop-issues and let people know that
you have created a pull request. Someone from the Backdrop CMS team with commit
access will review and merge your pull request.

Once the pull request has been merged, the new release of Backdrop CMS will now
be on Tugboat. *It normally takes 24 hours for new demos to be affected*. To
have the new version made immediately available for new demos, see the next
section.

Rebuild the Current Tugboat Image
---

* Log into Tugboat at https://dashboard.tugboat.qa/ use your GitHub credentials.
* If necessary, request access to the backdrop-tugboat repository.
* Visit https://dashboard.tugboat.qa/5bdb5c268eabd5000137a87b to get to the Tugboat Dashboard for the Demo Sites.
* Under the "Base Preview" at the bottom of the page, select "Rebuild..." from the "Actions" dropdown.
* Check both confirmation boxes, "Yes, rebuild this preview" and "Rebuild previews built from this one when finished" note that any in-progress demos will be discarded.


* Visit https://dashboard.tugboat.qa/5bdb5c268eabd5000137a87b to get to the
Tugboat Dashboard for the Demo Sites.
* Under the "Base Preview" at the bottom of the page, select "Rebuild..." from
the "Actions" dropdown.
* Check both confirmation boxes, "Yes, rebuild this preview" and "Rebuild
previews built from this one when finished" note that any in-progress demos
will be discarded.