As many other people have mentioned, if doing QA was part of your job description then you shouldn't be surprised to do it (although it sounds like you weren't supposed to be doing QA).
As many other people have also pointed out, regardless of your job description you are going to be stuck doing whatever it is your employer tells you to do, so if you are doing QA then you need to decide how to proceed based on that fact.
As has also been mentioned, QA is a separate profession, and generally speaking there is no reason to expect a QA person to be programming and vice-versa. There is no "starter period" where programmers are expected to do QA and work up to actually programming, there just isn't. There is a very simple reason for this - programmer time is skilled labor and expensive, QA isn't (I know that may not be entirely fair, and in my experience QA people tend to get less credit than they deserve, but from a business perspective that's how it is). Programmers, because of their skillset, can get programming jobs that pay programmer salaries. QA people, because of their skillset, can get QA jobs for QA salaries. One possibility is that your company is not using their resources effectively, although that assumes you are actually being paid a programmer's rather than a QA guy's salary (if you aren't properly compensated that in and of itself is reason to look for a new job). If they are paying you a programmers salary for doing QA then technically you are taking advantage of them (...from the market's POV, even if the job doesn't make sense for your career and drives you nuts).
But the bottom line is there is simply no reason to take a QA position if you are a programmer unless that's what you want to do. From a career standpoint you will be building the wrong skillset and losing time that you could otherwise be spending developing your real career.
One possible mitigating factor here is that you mention this is related to an upcoming release. It is not unheard of in the late stages of development when it gets really close to release time and the product is feature complete and just going through QA and bug fixing, for pretty much everyone to switch gears into a phase of just banging on the product and finding and fixing bugs, and at that point even the programmers (the ones without open bugs anyway) are effectively doing QA. But you make it sound like this "upcoming" release has been going on for months and months, and I didn't really get the impression it was that type of situation.
As a helpful hint, maybe you don't entirely realize it or are trying not to admit it to yourself for some reason, but you must be at least 90% aware that the fact that you asked this question means you should be looking for another job.