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

Deploys radiator #11356

Merged
merged 18 commits into from Dec 22, 2015

Conversation

Projects
None yet
3 participants
@OliverJAsh
Contributor

OliverJAsh commented Dec 11, 2015

This adds a radiator to admin (at /deploys-radiator) that shows the status of CODE and PROD, and the Git commit difference between them.

  • The radiator will group deploys by status and build number. If all the deploys have the same status and build number, we can collapse them into a single box.
  • At the top we display the difference between CODE and PROD as a list of Git commits (Oldest PROD build...Latest CODE build).
  • The radiator updates every 10 seconds.

It's written in TypeScript (❤️ ❤️ ❤️ ) and uses jspm for module loading and compilation.

Preview

6

Examples

Here are some examples of what the radiator will look like in various situations.

All OK

1

Deploying

2

Deploying, half complete

3

Deploying with queue

4

Failed deploy

5

To do

@johnduffell

This comment has been minimized.

Show comment
Hide comment
@johnduffell

johnduffell Dec 14, 2015

Member

fantastic improvement, however I don't know if adding typescript is likely to be problematical (build changes or just maintenance wise) so you might want to run that by other people too
other than that it's a great idea 👍

Member

johnduffell commented Dec 14, 2015

fantastic improvement, however I don't know if adding typescript is likely to be problematical (build changes or just maintenance wise) so you might want to run that by other people too
other than that it's a great idea 👍

@OliverJAsh

This comment has been minimized.

Show comment
Hide comment
@OliverJAsh

OliverJAsh Dec 14, 2015

Contributor

Thanks!

I agree that is a concern. This radiator is entirely isolated from our other JavaScript in admin so I'm not too worried. I think new projects like this provide a good opportunity to experiment with new technologies, which is what I did here. At first I was going to keep it outside of frontend, but I don't think people will use it if it doesn't live here. Also, if we can make the radiator more fancy technology-wise, people might be more inclined to show it some love.

Personally, I hope I never have to use a dynamic language again. TypeScript ❤️

Contributor

OliverJAsh commented Dec 14, 2015

Thanks!

I agree that is a concern. This radiator is entirely isolated from our other JavaScript in admin so I'm not too worried. I think new projects like this provide a good opportunity to experiment with new technologies, which is what I did here. At first I was going to keep it outside of frontend, but I don't think people will use it if it doesn't live here. Also, if we can make the radiator more fancy technology-wise, people might be more inclined to show it some love.

Personally, I hope I never have to use a dynamic language again. TypeScript ❤️

@@ -169,6 +169,10 @@ class GuardianConfiguration(val application: String, val webappConfDirectory: St
lazy val token = configuration.getStringProperty("github.token")
}
object teamcity {
lazy val host = configuration.getMandatoryStringProperty("teamcity.host")

This comment has been minimized.

@OliverJAsh

OliverJAsh Dec 22, 2015

Contributor

Is mandatory OK? I will make sure we provision beforehand.

@OliverJAsh

OliverJAsh Dec 22, 2015

Contributor

Is mandatory OK? I will make sure we provision beforehand.

This comment has been minimized.

@rich-nguyen

rich-nguyen Dec 22, 2015

Contributor

Fine.

@rich-nguyen

rich-nguyen Dec 22, 2015

Contributor

Fine.

@rich-nguyen

This comment has been minimized.

Show comment
Hide comment
@rich-nguyen

rich-nguyen Dec 22, 2015

Contributor

Yes, agree with some of @johnduffell 's concerns regarding the proliferation of technologies that we use to do similar things, especially client-side. Some kind of remove-something/add-something quota would help. I do think Typescript is a candidate for improving our codebase, and unless we make progress with the tough problems (how we replace fundamental parts of client-side tech pipeline), a lot of changes we make could be construed as 'contributing to tech-debt'. Something to talk about in engineering meeting (which we need to bring back).

That aside, I like the new dash, though it's a shame the *.d.ts files need to be checked-in, is there a way to avoid this? 👍

Contributor

rich-nguyen commented Dec 22, 2015

Yes, agree with some of @johnduffell 's concerns regarding the proliferation of technologies that we use to do similar things, especially client-side. Some kind of remove-something/add-something quota would help. I do think Typescript is a candidate for improving our codebase, and unless we make progress with the tough problems (how we replace fundamental parts of client-side tech pipeline), a lot of changes we make could be construed as 'contributing to tech-debt'. Something to talk about in engineering meeting (which we need to bring back).

That aside, I like the new dash, though it's a shame the *.d.ts files need to be checked-in, is there a way to avoid this? 👍

@OliverJAsh OliverJAsh merged commit f1736f4 into master Dec 22, 2015

@OliverJAsh OliverJAsh deleted the oja-deploys-radiator branch Dec 22, 2015

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment