Yes, both ways. It's an unusual and old-fashioned word. In the U.S. of us most of us know it from the Bible and think of it as meaning a particularly solemn or sacred promise.
It is used in a technical way in U.S. law, e.g., "the landlord covenants to keep the apartment building in good repair."
Use "promise" for an ordinary promise, "contract" for a legal promise, "pledge" or "vow" for a solemn promise, unless you have a good reason for using specific word "covenant."
I made a promise to my grandson. I promised I would cook macaroni and cheese for him.
I made a contract with my client. I contracted to complete a piece of software.
I made a vow to my wife. I vowed I would love and cherish her, forsaking all others, till death to us part.
When I was in school, every day we said the Pledge of Allegiance. I pledged allegiance "to the flag of the United States of America, and to the republic for which it stands."
I can't of ANY time I'd have said that I made a "covenant," or "covenanted" anything.