Is it possible to upgrade Discourse up to a number of commits in the version?

I currently work with a development, staging, and production version of Discourse. My development version is always on tests-passed so that features I am working on will definitely work on the most recent version.

I then add, let’s say a plugin, to my staging Discourse and concurrently upgrade my staging Discourse to the latest version (ex: 1.6.0.beta7). If all goes well, I do the same for production. So essentially dev is on tests-passed and the other two are forced on the last upgrade.

I have recently encountered a problem where my dev Discourse is on version 1.6.0.beta7 +179. Somewhere in those 179 commits, a change was made that helps one of my plugins to work. So on my staging, version 1.6.0.beta7 (not including the +179 commits) the plugin is broken.

So in short, can I set the version of a Discourse to 1.6.0.beta7 +179 somehow?

Edit: If specify the build would that do the trick? Something like: 1.6.0.beta7, build: bfc8b3362b

1 Like

Refer to this topic:

You could try using the version (commit ID) found either on github or in your development page source…

So viewing the source of this page currently:

<meta name="generator" content="Discourse 1.6.0.beta7 - version b624c5cc9403d58d8d45125d7f70e60cddbb9ab9">

I can see the version is b624c5cc9403d58d8d45125d7f70e60cddbb9ab9, this is the ID you could try using in place of tests-passed on your staging / production.

To be clear - I’ve not tested using a commit ID - but it should work.


Thanks, I’ll try this and let you know how it goes. I think another way of getting the version id is going to the admin dashboard and clicking on the version you are on. It will link you to the Discourse git repo with the specified version in the url.

UPDATE: It worked! :confetti_ball:


Bonkers, it looks like I missed the 2.2 major upgrade in one of my small playground instances and now the stable branch is already in 2.3.

What I understood from above is that it is possible to update to a specific release/version, but what exactly I should replace stable with in my app.yml ?

You can put the commit id or a tag.