It depends on when you are speaking relative to the time when you first noticed that it wasn't working.
I'll ignore the fact that you can elide the verb from the second clause because I think you're more interested in the tenses than in how to convey this specific thought most idiomatically.
But actually, it's less about the tenses than it is about two subtly different expressions: to work and to be working. They mean the same thing here, but mixing them strikes me as a little odd.
The first one, in the present, is "it works" or "it does not work." The second is "it is working" or "it is not working" (various contractions would normally be used, e.g. "it isn't" or "it's not").
- It was working last night, but it didn't work this morning.
This is a bit off, but it's not ungrammatical. The problem is that both clauses are in the past, but they use the different expressions. I would say one of these instead:
It worked last night, but it didn't work this morning.
It was working last night, but it wasn't working this morning.
(That, of course, leads to the elision that would in fact be more natural.)
In all of these cases, you're talking about earlier this morning.
- [See above]
- It was working last night, but it isn't working this morning.
This is essentially the same except that it means that the clock is not working now, this morning, whereas the previous examples mean that the clock was not working earlier today, this morning.
- It was working last night, but it doesn't work this morning.
Again, this mixes the two expressions. "It doesn't work" isn't parallel to "it was working." Better:
It didn't work last night, but it does work this morning.