Toggle Able Chain of LEDs: Error in code

I am trying to make a chain of LEDs where only one is on at a time and toggle on from bottom to top. I have a digital output on pins 8-12 each hooked up to a 270 ohm resistor and then an LED. The cathode of the LED is then attached to the ground. My button on one part has a 10k ohm resistor to ground and a wire to 5V on the other part. The button output is then attached to pin 4 as an input. I have LED on pin 13 coded to tell me when the button is pressed. When I press the button the correct LED turns on initially, but when I let go they all turn on. After that pressing the buttons leaves only one on, but it is at random. I'm pretty sure the Arduino is contentiously cycling through all 6 states I have as variable values.

How do I stop this cycling and/or fix the code?

This is my first Arduino project so any help is appreciated.

int variable=0; //variable used to conrol light
int buttonState; //next 4 things to make button toggleable
int lastButtonState=LOW;
long lastDebounceTime = 0;
long debounceDelay = 50;
void setup() 
{
  pinMode(4, INPUT);
  pinMode(8, OUTPUT);
  pinMode(9, OUTPUT);
  pinMode(10,OUTPUT);
  pinMode(11,OUTPUT);
  pinMode(12,OUTPUT);
  pinMode(13,OUTPUT); //used to debug to make sure button is working
  digitalWrite(8,LOW); // to set to default state (probably not necessary)
  digitalWrite(9,LOW);
  digitalWrite(10,LOW);
  digitalWrite(11,LOW);
  digitalWrite(12,LOW);
}
void loop() 
{
 int reading = digitalRead(4); //modeled off of default debounce code
 if (reading != lastButtonState){
   lastDebounceTime = millis();
 }
 if ((millis() - lastDebounceTime) > debounceDelay){
   if (reading != buttonState){
     buttonState=reading;
     if (buttonState=HIGH){
       variable = variable + 1; //when button is pressed adds 1 to variable to toggle between the 5 light states
       if (variable >=6){ //used to reset back to 0
         variable = 0;} 
       }
     }
 }
// heres where I tried many different things tried both if and else if statements not knowing difference
// I want theses statements to write to the leds based on the variable
    if (variable == 1){
           digitalWrite(8,LOW);
           digitalWrite(9,LOW);
           digitalWrite(10,LOW);
           digitalWrite(11,LOW);
           digitalWrite(12,HIGH);}
   else if (variable==2) {
           digitalWrite(8,LOW);
           digitalWrite(9,LOW);
           digitalWrite(10,LOW);
           digitalWrite(11,HIGH);
           digitalWrite(12,LOW);}
      else if (variable ==3) {
           digitalWrite(8,LOW);
           digitalWrite(9,LOW);
           digitalWrite(10,HIGH);
           digitalWrite(11,LOW);
           digitalWrite(12,LOW);}
     else if (variable ==4) {
           digitalWrite(8,LOW);
           digitalWrite(9,HIGH);
           digitalWrite(10,LOW);
           digitalWrite(11,LOW);
           digitalWrite(12,LOW);}
     else if (variable ==5) {
           digitalWrite(8,HIGH);
           digitalWrite(9,LOW);
           digitalWrite(10,LOW);
           digitalWrite(11,LOW);
           digitalWrite(12,LOW);}
     else if (variable ==0) {
           digitalWrite(8,LOW);
           digitalWrite(9,LOW);
           digitalWrite(10,LOW);
           digitalWrite(11,LOW);
           digitalWrite(12,LOW);}
lastButtonState=reading; //for button debounce
 if (digitalRead(4)==HIGH){ //for debug to make sure button works
   digitalWrite(13,HIGH);}
 if (digitalRead(4) == LOW){
   digitalWrite(13, LOW);}
}
if (buttonState=HIGH){

should be

if (buttonState==HIGH){

Wow that was a silly and simple mistake. Thanks! That fixes it!