LED Sequence control using decoder/Simultaneous decoder channels
One solution is to use shift registers. That tutorial details the 74HC595, which is the usual choice. You can daisy-chain them by connecting the clock, latch, and reset pins of all of them together, then the Q7 of one to the input of the next.

You don't have to use the reset pins. If you don't, wire them to the positive supply. However, setting and then clearing reset before sending bits ensures the system is in a consistent state.

Then just go through a loop of setting the output pin to the next value and turning the clock pin high/low on each cycle. Once completed, send a pulse on the latch pin to actually commit the change to the outputs.

Don't forget, one decoupling capacitor per 74HC595, close to its power/ground pins.

Disadvantages: any fault stops all the downstream LEDs from working. Long strings take longer to program. Doing it at high speed may cause EMI and be unreliable. Fortunately the 595 has no minimum speed, so you can do it at kilohertz speeds which makes it more reliable and easier to follow with a scope.

Long strings (tens of devices) also may require repeaters on the clock/latch/reset signals, and require adequate power arrangements to avoid brownouts at the far end.