Big +1 from me.

Our current "process" is just me seeing an alert and remembering to check
`yarn audit`.
Dependabot will make it far easier to stay disciplined. Most minor and
patch version changes should be fairly easy to approve even w/o extensive
JS knowledge.

On Tue, Apr 5, 2022 at 4:23 AM Jarek Potiuk <ja...@potiuk.com> wrote:

> Hello Everyone,
>
> TL;DR; I would like to ask if we want to enable Dependabot to make
> automated PRs updating our Javascript dependencies for the UI ?
>
> Context:
>
> We've been discussing in the Apache Software Foundation whether it is
> OK from a legal/infrastructure point of view to use Dependabot to
> monitor and make Pull Requests automatically to update our
> dependencies.
>
> So far the policy of the ASF was that dependabot creating automated
> PRs is against the policies.
> Generally discussion was whether automated PR which creates branches
> directly in Airflow Repo automatically (not in a fork) is OK from the
> "contribution" perspective (according to ASF there should always be a
> human in the loop of the code contributed).
>
> After a long discussion and arguments
> https://issues.apache.org/jira/browse/LEGAL-589 (I took active part
> there advocating for a change) the conclusion is that using Dependabot
> is OK as long as you have protected branches - which makes it required
> for a human reviewer (commiter) to review such branch and merge it to
> the "protected" branch..
>
> I think we cannot really use Dependabot for Airflow dependencies (it's
> not as sop[histicated as it comes to multiple versions of Python and
> constraints mechanism and we would have far too many PRs to handle if
> it is about our  ~600 python dependencies. But I think it would be
> cool to enable it for our Javascript dependencies for the UI (we are
> following a very standard approach there with the usual yarn.lock so
> it should be easy to plug dependabot in.
>
> What we can get:
>
> Better supply-chain security in general, but we will get some traffic
> from automated PRs sent by the dependabot that we will have to handle,
> review, possibly test and approve.
>
> The result of it will be that we will get PRs about updated (and
> especially security related) dependencies as quickly as they happen
> and we will be able to see all the details of the security updates.
> Currently we (maintainers) only see alerts about those
> vulnerabilities, but with Dependabot security updates those will
> become automated PRs.
>
> Unlike the Python dependencies (which are automatically updated by our
> CI)  we update our javascript irregularly in "bulk" - i.e. from time
> to time we will refresh the lock file and update to the latest
> dependencies. That has an advantage that we can likely test it in
> bulk.
>
> However my point of view is that making such updates more frequently
> is better because if we update dependency one-by-one, we will not even
> have to test it too much - as we will quickly see that the UI is
> broken during our regular development and then it will be easier to
> pin-point a culprit.
>
> As one of my favourite quotes goes "If an upgrade is painful, simply
> do it more often rather than less often - that makes it far less
> painful in general".
>
> More info about dependabot:
>
> https://docs.github.com/en/code-security/repository-security-advisories/about-github-security-advisories-for-repositories
>
> Example PR generated by Dependabot:
> https://github.com/PolideaInternal/airflow-gepard/pull/356
>
> J.
>

Reply via email to