exercism / org-wide-files

MIT License
7 stars 8 forks source link

Add label x:size/small to all dependency update PRs #92

Open angelikatyborska opened 2 years ago

ErikSchierboom commented 2 years ago

I like this idea. The main thing to figure out is what the dependabot.yml file should look like, as it will apply to all tracks.

Here's the javascript configuration:

version: 2

updates:
  # Keep dependencies for GitHub Actions up-to-date
  - package-ecosystem: 'github-actions'
    directory: '/'
    schedule:
      interval: 'daily'

  # Enable version updates for npm
  - package-ecosystem: 'npm'
    # Look for `package.json` and `lock` files in the `root` directory
    directory: '/'
    # Check the npm registry for updates every day (weekdays)
    schedule:
      interval: 'daily'

And here're the csharp configuration:

version: 2

updates:
  # Keep GitHub Actions dependencies up-to-date
  - package-ecosystem: "github-actions"
    directory: "/"
    schedule:
      interval: "daily"

  # Keep NuGet dependencies up-to-date
  - package-ecosystem: "nuget"
    directory: "/"
    schedule:
      interval: "daily"

The github-actions part could be universally applied to all track and tooling repos I think, as it is good practice to keep those up-to-date. For the rest we could possibly just use appends, but that would mean that more general configuration settings could not be overridden in tracks I think. I have no idea how problematic that is though.

SaschaMann commented 2 years ago

It would be possible to extend the append system so that it can be a config file that overwrites or appends individual settings, if that's necessary.

ErikSchierboom commented 2 years ago

For reference, here are all the dependabot.yml files:

05ab1e

```yaml version: 2 updates: # Keep dependencies for GitHub Actions up-to-date - package-ecosystem: 'github-actions' directory: '/' schedule: interval: 'daily' ```

ada

```yaml version: 2 updates: # Keep dependencies for GitHub Actions up-to-date - package-ecosystem: 'github-actions' directory: '/' schedule: interval: 'daily' ```

arm64-assembly

```yaml version: 2 updates: # Keep dependencies for GitHub Actions up-to-date - package-ecosystem: 'github-actions' directory: '/' schedule: interval: 'daily' ```

babashka

```yaml version: 2 updates: # Keep dependencies for GitHub Actions up-to-date - package-ecosystem: 'github-actions' directory: '/' schedule: interval: 'daily' ```

ballerina

```yaml version: 2 updates: # Keep dependencies for GitHub Actions up-to-date - package-ecosystem: 'github-actions' directory: '/' schedule: interval: 'daily' ```

bash

```yaml version: 2 updates: # Keep dependencies for GitHub Actions up-to-date - package-ecosystem: 'github-actions' directory: '/' schedule: interval: 'daily' ```

c-test-runner

```yaml version: 2 updates: # Keep dependencies for GitHub Actions up-to-date - package-ecosystem: "github-actions" directory: "/" schedule: interval: "daily" ```

c

```yaml version: 2 updates: # Keep dependencies for GitHub Actions up-to-date - package-ecosystem: 'github-actions' directory: '/' schedule: interval: 'daily' ```

ceylon

```yaml version: 2 updates: # Keep dependencies for GitHub Actions up-to-date - package-ecosystem: 'github-actions' directory: '/' schedule: interval: 'daily' ```

cfml

```yaml version: 2 updates: # Keep dependencies for GitHub Actions up-to-date - package-ecosystem: 'github-actions' directory: '/' schedule: interval: 'daily' ```

clojure

```yaml version: 2 updates: # Keep dependencies for GitHub Actions up-to-date - package-ecosystem: 'github-actions' directory: '/' schedule: interval: 'daily' ```

clojurescript-test-runner

```yaml version: 2 updates: # Keep dependencies for GitHub Actions up-to-date - package-ecosystem: "github-actions" directory: "/" schedule: interval: "daily" ```

clojurescript

```yaml version: 2 updates: # Keep dependencies for GitHub Actions up-to-date - package-ecosystem: 'github-actions' directory: '/' schedule: interval: 'daily' ```

coffeescript-test-runner

```yaml version: 2 updates: # Keep dependencies for GitHub Actions up-to-date - package-ecosystem: "github-actions" directory: "/" schedule: interval: "daily" ```

coffeescript

```yaml version: 2 updates: # Keep dependencies for GitHub Actions up-to-date - package-ecosystem: 'github-actions' directory: '/' schedule: interval: 'daily' ```

common-lisp

```yaml version: 2 updates: # Keep dependencies for GitHub Actions up-to-date - package-ecosystem: 'github-actions' directory: '/' schedule: interval: 'daily' ```

configlet

```yaml version: 2 updates: # Enable updates to the dependencies of our workflows - package-ecosystem: 'github-actions' directory: '/' schedule: interval: monthly ```

coq

```yaml version: 2 updates: # Keep dependencies for GitHub Actions up-to-date - package-ecosystem: 'github-actions' directory: '/' schedule: interval: 'daily' ```

cpp-test-runner

```yaml version: 2 updates: # Keep dependencies for GitHub Actions up-to-date - package-ecosystem: "github-actions" directory: "/" schedule: interval: "daily" ```

cpp

```yaml version: 2 updates: # Keep dependencies for GitHub Actions up-to-date - package-ecosystem: 'github-actions' directory: '/' schedule: interval: 'daily' ```

crystal-test-runner

```yaml version: 2 updates: # Keep dependencies for GitHub Actions up-to-date - package-ecosystem: "github-actions" directory: "/" schedule: interval: "daily" ```

crystal

```yaml version: 2 updates: # Keep dependencies for GitHub Actions up-to-date - package-ecosystem: 'github-actions' directory: '/' schedule: interval: 'daily' ```

csharp

```yaml version: 2 updates: # Keep GitHub Actions dependencies up-to-date - package-ecosystem: "github-actions" directory: "/" schedule: interval: "daily" # Keep NuGet dependencies up-to-date - package-ecosystem: "nuget" directory: "/" schedule: interval: "daily" ```

d-test-runner

```yaml version: 2 updates: # Keep dependencies for GitHub Actions up-to-date - package-ecosystem: "github-actions" directory: "/" schedule: interval: "daily" ```

d

```yaml version: 2 updates: # Keep dependencies for GitHub Actions up-to-date - package-ecosystem: 'github-actions' directory: '/' schedule: interval: 'daily' ```

dart-test-runner

```yaml version: 2 updates: # Keep dependencies for GitHub Actions up-to-date - package-ecosystem: "github-actions" directory: "/" schedule: interval: "daily" ```

dart

```yaml version: 2 updates: # Keep dependencies for GitHub Actions up-to-date - package-ecosystem: 'github-actions' directory: '/' schedule: interval: 'daily' ```

delphi

```yaml version: 2 updates: # Keep dependencies for GitHub Actions up-to-date - package-ecosystem: 'github-actions' directory: '/' schedule: interval: 'daily' ```

dotnet-tests

```yaml version: 2 updates: # Keep dependencies for GitHub Actions up-to-date - package-ecosystem: "github-actions" directory: "/" schedule: interval: "daily" ```

elixir

```yaml version: 2 updates: # Keep dependencies for GitHub Actions up-to-date - package-ecosystem: 'github-actions' directory: '/' schedule: interval: 'daily' ```

elm

```yaml version: 2 updates: # Keep dependencies for GitHub Actions up-to-date - package-ecosystem: 'github-actions' directory: '/' schedule: interval: 'daily' ```

emacs-lisp-test-runner

```yaml version: 2 updates: # Keep dependencies for GitHub Actions up-to-date - package-ecosystem: "github-actions" directory: "/" schedule: interval: "daily" ```

emacs-lisp

```yaml version: 2 updates: # Keep dependencies for GitHub Actions up-to-date - package-ecosystem: 'github-actions' directory: '/' schedule: interval: 'daily' ```

erlang

```yaml version: 2 updates: # Keep dependencies for GitHub Actions up-to-date - package-ecosystem: 'github-actions' directory: '/' schedule: interval: 'daily' ```

factor

```yaml version: 2 updates: # Keep dependencies for GitHub Actions up-to-date - package-ecosystem: 'github-actions' directory: '/' schedule: interval: 'daily' ```

forth

```yaml version: 2 updates: # Keep dependencies for GitHub Actions up-to-date - package-ecosystem: 'github-actions' directory: '/' schedule: interval: 'daily' ```

fortran-test-runner

```yaml version: 2 updates: # Keep dependencies for GitHub Actions up-to-date - package-ecosystem: "github-actions" directory: "/" schedule: interval: "daily" ```

fortran

```yaml version: 2 updates: # Keep dependencies for GitHub Actions up-to-date - package-ecosystem: 'github-actions' directory: '/' schedule: interval: 'daily' ```

fsharp

```yaml version: 2 updates: # Keep dependencies for GitHub Actions up-to-date - package-ecosystem: 'github-actions' directory: '/' schedule: interval: 'daily' ```

generic-analyzer

```yaml version: 2 updates: # Keep dependencies for GitHub Actions up-to-date - package-ecosystem: "github-actions" directory: "/" schedule: interval: "daily" ```

generic-representer

```yaml version: 2 updates: # Keep dependencies for GitHub Actions up-to-date - package-ecosystem: "github-actions" directory: "/" schedule: interval: "daily" ```

generic-test-runner

```yaml version: 2 updates: # Keep dependencies for GitHub Actions up-to-date - package-ecosystem: "github-actions" directory: "/" schedule: interval: "daily" ```

gleam

```yaml version: 2 updates: # Keep dependencies for GitHub Actions up-to-date - package-ecosystem: 'github-actions' directory: '/' schedule: interval: 'daily' ```

gnu-apl

```yaml version: 2 updates: # Keep dependencies for GitHub Actions up-to-date - package-ecosystem: 'github-actions' directory: '/' schedule: interval: 'daily' ```

go

```yaml version: 2 updates: # Keep dependencies for GitHub Actions up-to-date - package-ecosystem: 'github-actions' directory: '/' schedule: interval: 'daily' ```

groovy

```yaml version: 2 updates: # Keep dependencies for GitHub Actions up-to-date - package-ecosystem: 'github-actions' directory: '/' schedule: interval: 'daily' ```

haskell-test-runner

```yaml version: 2 updates: # Keep dependencies for GitHub Actions up-to-date - package-ecosystem: "github-actions" directory: "/" schedule: interval: "daily" ```

haskell

```yaml version: 2 updates: # Keep dependencies for GitHub Actions up-to-date - package-ecosystem: 'github-actions' directory: '/' schedule: interval: 'daily' ```

haxe

```yaml version: 2 updates: # Keep dependencies for GitHub Actions up-to-date - package-ecosystem: 'github-actions' directory: '/' schedule: interval: 'daily' ```

idris

```yaml version: 2 updates: # Keep dependencies for GitHub Actions up-to-date - package-ecosystem: 'github-actions' directory: '/' schedule: interval: 'daily' ```

io

```yaml version: 2 updates: # Keep dependencies for GitHub Actions up-to-date - package-ecosystem: 'github-actions' directory: '/' schedule: interval: 'daily' ```

j

```yaml version: 2 updates: # Keep dependencies for GitHub Actions up-to-date - package-ecosystem: 'github-actions' directory: '/' schedule: interval: 'daily' ```

java

```yaml version: 2 updates: # Keep dependencies for GitHub Actions up-to-date - package-ecosystem: 'github-actions' directory: '/' schedule: interval: 'daily' ```

javascript

```yaml version: 2 updates: # Keep dependencies for GitHub Actions up-to-date - package-ecosystem: 'github-actions' directory: '/' schedule: interval: 'daily' # Enable version updates for npm - package-ecosystem: 'npm' # Look for `package.json` and `lock` files in the `root` directory directory: '/' # Check the npm registry for updates every day (weekdays) schedule: interval: 'daily' ```

julia

```yaml version: 2 updates: # Keep dependencies for GitHub Actions up-to-date - package-ecosystem: 'github-actions' directory: '/' schedule: interval: 'daily' ```

kotlin

```yaml version: 2 updates: # Keep dependencies for GitHub Actions up-to-date - package-ecosystem: 'github-actions' directory: '/' schedule: interval: 'daily' ```

lfe-test-runner

```yaml version: 2 updates: # Keep dependencies for GitHub Actions up-to-date - package-ecosystem: "github-actions" directory: "/" schedule: interval: "daily" ```

lfe

```yaml version: 2 updates: # Keep dependencies for GitHub Actions up-to-date - package-ecosystem: 'github-actions' directory: '/' schedule: interval: 'daily' ```

lua

```yaml version: 2 updates: # Keep dependencies for GitHub Actions up-to-date - package-ecosystem: 'github-actions' directory: '/' schedule: interval: 'daily' ```

mips-test-runner

```yaml version: 2 updates: # Keep dependencies for GitHub Actions up-to-date - package-ecosystem: "github-actions" directory: "/" schedule: interval: "daily" ```

mips

```yaml version: 2 updates: # Keep dependencies for GitHub Actions up-to-date - package-ecosystem: 'github-actions' directory: '/' schedule: interval: 'daily' ```

nim-test-runner

```yaml version: 2 updates: # Enable updates to the dependencies of our workflows - package-ecosystem: 'github-actions' directory: '/' schedule: interval: monthly # Enable updates to the dependencies of our Dockerfile - package-ecosystem: docker directory: '/' schedule: interval: daily time: '05:00' ```

nim

```yaml version: 2 updates: # Keep dependencies for GitHub Actions up-to-date - package-ecosystem: 'github-actions' directory: '/' schedule: interval: 'daily' ```

nix

```yaml version: 2 updates: # Keep dependencies for GitHub Actions up-to-date - package-ecosystem: 'github-actions' directory: '/' schedule: interval: 'daily' ```

objective-c-test-runner

```yaml version: 2 updates: # Keep dependencies for GitHub Actions up-to-date - package-ecosystem: "github-actions" directory: "/" schedule: interval: "daily" ```

objective-c

```yaml version: 2 updates: # Keep dependencies for GitHub Actions up-to-date - package-ecosystem: 'github-actions' directory: '/' schedule: interval: 'daily' ```

ocaml

```yaml version: 2 updates: # Keep dependencies for GitHub Actions up-to-date - package-ecosystem: 'github-actions' directory: '/' schedule: interval: 'daily' ```

org-wide-files

```yaml version: 2 updates: # Keep dependencies for GitHub Actions up-to-date - package-ecosystem: 'github-actions' directory: '/' schedule: interval: 'daily' ```

perl5-test-runner

```yaml version: 2 updates: # Keep dependencies for GitHub Actions up-to-date - package-ecosystem: "github-actions" directory: "/" schedule: interval: "daily" ```

perl5

```yaml version: 2 updates: # Keep dependencies for GitHub Actions up-to-date - package-ecosystem: 'github-actions' directory: '/' schedule: interval: 'daily' ```

pharo-smalltalk

```yaml version: 2 updates: # Keep dependencies for GitHub Actions up-to-date - package-ecosystem: 'github-actions' directory: '/' schedule: interval: 'daily' ```

php

```yaml version: 2 updates: # Keep dependencies for GitHub Actions up-to-date - package-ecosystem: 'github-actions' directory: '/' schedule: interval: 'daily' ```

plsql

```yaml version: 2 updates: # Keep dependencies for GitHub Actions up-to-date - package-ecosystem: 'github-actions' directory: '/' schedule: interval: 'daily' ```

pony

```yaml version: 2 updates: # Keep dependencies for GitHub Actions up-to-date - package-ecosystem: 'github-actions' directory: '/' schedule: interval: 'daily' ```

powershell

```yaml version: 2 updates: # Keep dependencies for GitHub Actions up-to-date - package-ecosystem: 'github-actions' directory: '/' schedule: interval: 'daily' ```

prolog

```yaml version: 2 updates: # Keep dependencies for GitHub Actions up-to-date - package-ecosystem: 'github-actions' directory: '/' schedule: interval: 'daily' ```

purescript

```yaml version: 2 updates: # Keep dependencies for GitHub Actions up-to-date - package-ecosystem: 'github-actions' directory: '/' schedule: interval: 'daily' ```

python

```yaml version: 2 updates: # Keep dependencies for GitHub Actions up-to-date - package-ecosystem: 'github-actions' directory: '/' schedule: interval: 'daily' ```

r-test-runner

```yaml version: 2 updates: # Keep dependencies for GitHub Actions up-to-date - package-ecosystem: "github-actions" directory: "/" schedule: interval: "daily" ```

r

```yaml version: 2 updates: # Keep dependencies for GitHub Actions up-to-date - package-ecosystem: 'github-actions' directory: '/' schedule: interval: 'daily' ```

racket-test-runner

```yaml version: 2 updates: # Keep dependencies for GitHub Actions up-to-date - package-ecosystem: "github-actions" directory: "/" schedule: interval: "daily" ```

racket

```yaml version: 2 updates: # Keep dependencies for GitHub Actions up-to-date - package-ecosystem: 'github-actions' directory: '/' schedule: interval: 'daily' ```

raku-test-runner

```yaml version: 2 updates: # Keep dependencies for GitHub Actions up-to-date - package-ecosystem: "github-actions" directory: "/" schedule: interval: "daily" ```

raku

```yaml version: 2 updates: # Keep dependencies for GitHub Actions up-to-date - package-ecosystem: 'github-actions' directory: '/' schedule: interval: 'daily' ```

reasonml

```yaml version: 2 updates: # Keep dependencies for GitHub Actions up-to-date - package-ecosystem: 'github-actions' directory: '/' schedule: interval: 'daily' ```

red-test-runner

```yaml version: 2 updates: # Keep dependencies for GitHub Actions up-to-date - package-ecosystem: "github-actions" directory: "/" schedule: interval: "daily" ```

red

```yaml version: 2 updates: # Keep dependencies for GitHub Actions up-to-date - package-ecosystem: 'github-actions' directory: '/' schedule: interval: 'daily' ```

ruby

```yaml version: 2 updates: # Keep dependencies for GitHub Actions up-to-date - package-ecosystem: 'github-actions' directory: '/' schedule: interval: 'daily' ```

rust

```yaml version: 2 updates: # Keep dependencies for GitHub Actions up-to-date - package-ecosystem: 'github-actions' directory: '/' schedule: interval: 'daily' ```

scala

```yaml version: 2 updates: # Keep dependencies for GitHub Actions up-to-date - package-ecosystem: 'github-actions' directory: '/' schedule: interval: 'daily' ```

scheme

```yaml version: 2 updates: # Keep dependencies for GitHub Actions up-to-date - package-ecosystem: 'github-actions' directory: '/' schedule: interval: 'daily' ```

shen

```yaml version: 2 updates: # Keep dependencies for GitHub Actions up-to-date - package-ecosystem: 'github-actions' directory: '/' schedule: interval: 'daily' ```

sml

```yaml version: 2 updates: # Keep dependencies for GitHub Actions up-to-date - package-ecosystem: 'github-actions' directory: '/' schedule: interval: 'daily' ```

solidity

```yaml version: 2 updates: # Keep dependencies for GitHub Actions up-to-date - package-ecosystem: 'github-actions' directory: '/' schedule: interval: 'daily' ```

swift

```yaml version: 2 updates: # Keep dependencies for GitHub Actions up-to-date - package-ecosystem: 'github-actions' directory: '/' schedule: interval: 'daily' ```

system-verilog

```yaml version: 2 updates: # Keep dependencies for GitHub Actions up-to-date - package-ecosystem: 'github-actions' directory: '/' schedule: interval: 'daily' ```

tcl

```yaml version: 2 updates: # Keep dependencies for GitHub Actions up-to-date - package-ecosystem: 'github-actions' directory: '/' schedule: interval: 'daily' ```

typescript

```yaml version: 2 updates: # Keep dependencies for GitHub Actions up-to-date - package-ecosystem: 'github-actions' directory: '/' schedule: interval: 'daily' # Enable version updates for npm (yarn) - package-ecosystem: 'npm' # Look for `package.json` and `lock` files in the `root` directory directory: '/' # Check the npm registry for updates every day (weekdays) schedule: interval: 'daily' # Enable version updates for npm (yarn) - package-ecosystem: 'npm' # Look for `package.json` and `lock` files in the common directory directory: '/common/' # Check the npm registry for updates every day (weekdays) schedule: interval: 'daily' ```

vbnet-test-runner

```yaml version: 2 updates: # Keep dependencies for GitHub Actions up-to-date - package-ecosystem: "github-actions" directory: "/" schedule: interval: "daily" ```

vbnet

```yaml version: 2 updates: # Keep dependencies for GitHub Actions up-to-date - package-ecosystem: 'github-actions' directory: '/' schedule: interval: 'daily' ```

vimscript

```yaml version: 2 updates: # Keep dependencies for GitHub Actions up-to-date - package-ecosystem: 'github-actions' directory: '/' schedule: interval: 'daily' ```

x86-64-assembly

```yaml version: 2 updates: # Keep dependencies for GitHub Actions up-to-date - package-ecosystem: 'github-actions' directory: '/' schedule: interval: 'daily' ```

zig

```yaml version: 2 updates: # Keep dependencies for GitHub Actions up-to-date - package-ecosystem: 'github-actions' directory: '/' schedule: interval: 'daily' ```

SaschaMann commented 2 years ago

Based on spot checking those, I think this is good enough and we can add more options if someone complains:

For the rest we could possibly just use appends, but that would mean that more general configuration settings could not be overridden in tracks I think. I have no idea how problematic that is though.

junedev commented 2 years ago

My thoughts regarding this issue:

The original issue was to add a size small label for all dependabot PRs, that does not seem possible via org wide files because the label has to be set on the level of the individual ecosystem.

For me, that raises the question whether it is really worth splitting this up into org wide and append (would dependabot even pick this up correctly?), only to have those 4 lines github actions update shared between tracks. Maybe it would be easier that configlet would check no one forgot about the github actions part and we leave all the dependabot settings next to each other in one file.

Side-note question: Is it really necessary to have the interval as "daily"? Wouldn't "weekly" be good enough so that if you merge a change one day and there was a bug in that patch you need to also merge the fix the next day. With "weekly" you could skip over those. (I know dependabot would probably close outdated PRs if they are not merged yet but even that creates a lot of noise/notifications.)

SaschaMann commented 2 years ago

Side-note question: Is it really necessary to have the interval as "daily"? Wouldn't "weekly" be good enough so that if you merge a change one day and there was a bug in that patch you need to also merge the fix the next day. With "weekly" you could skip over those. (I know dependabot would probably close outdated PRs if they are not merged yet but even that creates a lot of noise/notifications.)

I'd prefer to have it on realtime but they no longer offer that. If I update an action, I want the change asap in the downstream repos. Same if there's a security issue that a patch fixes. Dependabot in combination with npm is an absolute nightmare when it comes to notifications but for many other ecosystems daily is sensible imo.

junedev commented 2 years ago

@SaschaMann You are right, the npm situation I see all the time is an extreme case.