It has not let up since.
“Day and night, they have been bombing from two directions,” says Vasyl Arbuzov, an adviser to the local authorities in Mariupol, referring to the pro-Russian rebels who have approached the city from the east.
“So most people, yes, are preparing for an invasion at any time, from minute to minute.”
If some of the locals still believed in the conflict’s cease-fire — the so-called Minsk protocol signed on Sept. 5 — they have been forced in the past week to part with their illusions.
Both the Ukrainian forces and the pro-Russian separatists have been mobilizing troops and weapons for another round of vicious fighting, and the truce has all but broken down in the war that has already claimed more than 4,000 lives since April.
“We will continue intensive reinforcement,” President Petro Poroshenko told the Ukrainian people in a televised address on Monday, referring to the rebel leaders as “bandits, terrorists and interventionists.”
The following day, he announced during a meeting with his security council that several new military units had been formed to aid in the defense of Mariupol and two other cities near the war zone.
The forces in Mariupol, he said, have built three lines of fortifications around the city and received “modern offensive and reconnaissance weapons” from the Ukrainian military.
But it is far from clear whether that will be enough to defend the city of nearly half a million people, a strategic port and industrial powerhouse on the coast of the Azov Sea.
Its defenders barely managed to repel the last attack in August, when NATO officials observed thousands of regular Russian troops rushing across the border in an apparent effort to take the sea’s entire northern coast.
They managed to seize the seaside town of Novoazovsk, securing access to the sea for the breakaway rebel enclaves in eastern Ukraine.
But they were stopped at the outskirts of Mariupol.
“We barely held on,” says Serhei Taruta, who was then serving as the governor of the region that includes Mariupol, his hometown. A former mining tycoon and engineer, Taruta told TIME in September that he managed to scrounge up a stock of enormous steel plates from the city’s industrial forges, working with a group of paramilitary fighters to turn them into a system of bomb-proof bunkers at the edge of the city.
The Russian forces, he says, “would try to clear a path with intensive shelling, but the bunkers stood firm.”
As the Russian forces approached, he recalls, the Ukrainian fighters would jump out of the steel boxes and fire on the advancing Russian columns with shoulder-mounted rocket launchers.
It went on like this for several days, Taruta says, before the assault subsided.
Since then, the pro-Russian militias have been preparing for another round.
U.S. Air Force General Philip Breedlove, the supreme commander of NATO forces in Europe, said on Monday that the border between Russian and Ukraine has become completely porous, allowing Russian troops and weapons to pass freely into the rebel territory with reinforcements.
Since August, Russia has sent six massive convoys of trucks, hundreds of them in all, into the rebel strongholds, carrying what Moscow claims to be humanitarian aid.
None of them have been inspected by Ukrainian authorities, who have lost control of the roads leading into rebel territory from Russia, so the government in Kiev suspects the cargo could be loaded down with heavy weaponry.
But it wasn’t the flow of supplies from Russia that led to the erosion of the cease-fire.
It was the rebels’ decision on Sunday to held elections on the breakaway territories that run along the Russian border.
Touted as a sign of their independent statehood, the ballots were meant to legitimize the rebel leadership with titles such as “President” and “Minister” in the regions they control.
The day after the results were announced, Ukraine’s President called them “pseudo elections” and pledged never to recognize the “coronated” men.
“They may even call themselves kings or emperors,” Poroshenko said in his televised address.
“Still, no matter what they put on their heads, they will remain occupants, criminals and militants.”
In response to the rebel ballot, he ordered parliament to revoke the key concession that Poroshenko made in September to secure the cease-fire.
The so-called special status law was meant to give broad powers of autonomy to the disputed regions of Donetsk and Luhansk, where the rebels have set up little protectorates of Moscow.
That act of appeasement from the Ukrainians was enough to slow the fighting over the past two months.
But Poroshenko now wants the law to be repealed.
Instead, a new law must delineate a clear border for the separatist regions and cut them off from all support from the central government in Kiev.
“It will let these districts be responsible for their self-funding,” Poroshenko said.
“Everyone will be judged by his work.”
If this is an attempt to starve the rebel leaders into submission, it is not likely to work.
Russia has proved willing to support them with cheap fuel and other supplies as long as they keep up their rebellion against the government in Kiev.
As the peace deal breaks down, they will be tempted to expand the territories they control, thus forcing Poroshenko to cede more and more land to the rebels whenever a new round of peace talks begins.
Oleg Tsarov, who took the title of “Speaker” of the separatist parliament after the weekend ballot, has already hinted that such an offensive was in the works.
The pro-Russian uprising, he said in a statement emailed to TIME on Wednesday, began six months ago with the deadly street clashes between protesters in the port city of Odessa, which has remained under Ukrainian control.
“I am certain that we must close the circle,” Tsarov said in his statement.
“The civil war that started in Odessa must end in Odessa as well.”
A look at the map of Ukraine leaves little doubt of his intentions.
In order for the pro-Russian forces to attack Odessa, they would need not only to overrun Mariupol but nearly all of southern Ukraine as well.
Russia would then be able to secure a land bridge to the southern region of Crimea, which it invaded and annexed at the outset of the conflict in March.
For the military hawks in Moscow, that has been the great temptation all along.
But Tsarov, when reached by phone on Wednesday, tried to ease up on his threat.
“We are not preparing an imminent march on Odessa,” he tells TIME.
Instead they will bide their time and continue laying down the roots of statehood on their territory, he says.
“But if the Ukrainians attack us, they should know that we will not just defend ourselves. We will counter attack.”
And if the Russian military once again comes to support them, it could mean the fall of Mariupol fairly quickly, though not without a pile of bodies on both sides.