I am not an expert in probability theory, but I think my knowledge is just sufficient to tackle this problem.
Assume $\gamma>0$ for convenience.
Let $\{a_i\}$ where $a_i>0$ be the discontinuities of $F(s)$. For $a_k<\gamma<a_{k+1}$, we can rewrite your integral as
$$\int_0^{a_1-\epsilon}(\gamma-s)f(s)ds+\left(\sum_{j=1}^{k-1}\int^{a_{j+1}-\epsilon}_{a_j+\epsilon}(\gamma-s)f(s)ds\right)+\int^\gamma_{a_k+\epsilon}(\gamma-s)f(s)ds$$
Differentiating it yields
$$\int_0^{a_1-\epsilon}f(s)ds+\left(\sum_{j=1}^{k-1}\int^{a_{j+1}-\epsilon}_{a_j+\epsilon}f(s)ds\right)+\int^\gamma_{a_k+\epsilon}f(s)ds$$
Although a $\gamma$ appears in the integration limit of the last integral, but if you apply Leibniz integral rule carefully, you can see directly bringing the differentiation into the integral would give the correct result.
EDIT:
I should have explicitly state that $\epsilon$ is to be taken the limit $\to 0^+$.
Also, it might be counterintuitive that the value of the integrand at a point does not affect the value of the integral.
Proof:
Indeed, when decomposing your integral into partitions, I didn’t write out some integrals, whose absolute value is
$$\vert\int^{a_j+\epsilon}_{a_j-\epsilon}f(s)ds\vert\le(a_j+\epsilon-(a_j-\epsilon))|\text{max}_{[a_j-\epsilon, a_j+\epsilon]}f(s)|=2\epsilon |\text{max}_{[a_j-\epsilon, a_j+\epsilon]}f(s)|$$ which vanishes in the limit, as long as the function is not infinite in the region.