8 – Get all available promotions for specific commerce product

You can do it via commerce_order.price_calculator service:

$context = new Context($this->currentUser, $this->currentStore->getStore(), NULL, (
    'field_name' => $items->getName(),
));
/** @var DrupalcommercePurchasableEntityInterface $purchasable_entity */
$purchasable_entity = $items->getEntity();
$adjustment_types = array_filter($this->getSetting('adjustment_types'));
$result = $this->priceCalculator->calculate($purchasable_entity, 1, $context, $adjustment_types);

//Get promotions
$promos = $result->getAdjustments();