dlang-community / discussions

Get in touch with the DLang community
12 stars 1 forks source link

New repo: "dparse contaminator" #28

Closed ghost closed 6 years ago

ghost commented 6 years ago

Updating DCD/D-Scanner/D-Symbol is typically a PITA we have after each bug fix. This could be automated. Put a shell script (or a D program) in a new repo. It would create the 3 commits (pull submodule + update JSON) and the 3 PRs.

Other products such as harbored-mod and DFMT don't really need to be handled because people tend to use them once the source is valid.

wilzbach commented 6 years ago

Excellent idea - though you might want to pick a better name: libdparse-scripts maybe?

wilzbach commented 6 years ago

We can also put a global AppVeyor script there (at least the bootstrapping part), s.t. we don't need to update every repo once we change it.

ghost commented 6 years ago

dparse-propagator for the name.

ghost commented 6 years ago

I assume you referred to the repo name, so just tools is fine. Put dparse-propagator.d inside.

wilzbach commented 6 years ago

Yes, let's go with tools. Additional awesomeness: the script could automatically add the "auto-merge" label, s.t. zero interaction is required.

skl131313 commented 6 years ago

Is this something dlang-bot could do, run a script when a new tag is added to a repo (dlibparse)? Is there a way we could set that up?

wilzbach commented 6 years ago

so just tools is fine. Yes, let's go with tools.

Finally got around creating that one.

https://github.com/dlang-community/tools

I also have https://github.com/wilzbach/git-tools which might help

Is this something dlang-bot could do, run a script when a new tag is added to a repo (dlibparse)? Is there a way we could set that up?

We could do this on Travis, here are two pointers:

https://github.com/thaven/oauth/pull/12 https://github.com/dlang-tour/english/blob/master/.travis.yml

FYI for dlang-tour we use a bot too (it's also deployed on heroku):

https://github.com/dlang-tour/bot

It's a simplified version of Dlang-Bot that just restart the latest master PR of dlang-tour whenever a language got updated. We used this because we initially had the base repo hosted somewhere else and thus putting the credentials into language repos of Travis wasn't possible and also there's quite a bunch of them, so updates are tedious.

skl131313 commented 6 years ago

@wilzbach I got something down, but having trouble getting credentials onto the server for git so the commands run by the script don't work. If you have any ideas.

https://github.com/skl131313/somebot/blob/master/src/newtag.sh#L20

wilzbach commented 6 years ago

Quick ideas:

1) You use an ssh key 2) You can set the credentials in the .netrc 3) I would use a dedicated bot account if you plan to put the credentials into Travis.

skl131313 commented 6 years ago

Alright I got it working, it triggers when a new tag is added to libdparse. It'll create the pull requests and add the auto-merge label to them. Not sure what is desired for the dub.json setting, but it always just uses "~>" of the new version tag.

Like so: https://github.com/skl131313/DCD/pull/12

Need to add some verification that the message received are from github. Create loops for use with all the libraries and separate some code so that a separate account can be used. Any suggestions for a name for the bot account?

https://github.com/skl131313/somebot

ghost commented 6 years ago

Awesome

skl131313 commented 6 years ago

@wilzbach The basic feature is working, could use a bit more polishing, such as deleting the branches once the merge is complete. Possibly waiting a bit for dub to see the new tag (not sure if there's a way to notify dub) so the tests pass. Not sure if you want to set up your own heroku app, but I don't have access to the settings of the community repos so I can't add the webhook to mine and set the secret phrase.

wilzbach commented 6 years ago

https://github.com/skl131313/somebot

No D? :scream:

The basic feature is working, c

:+1:

Possibly waiting a bit for dub to see the new tag (not sure if there's a way to notify dub) so the tests pass.

When you login, you can trigger a new search, but

but I don't have access to the settings of the community repos so I can't add the webhook to mine and set the secret phrase.

Now you do.

Not sure if you want to set up your own heroku app,

How about moving the bot to dlang-community & setting up auto-deploy to Heroku? This way everyone can easily make edits.

skl131313 commented 6 years ago

No D?

Lol yah, it's fairly simple, and I figured it might be easier to do with something like python.

How about moving the bot to dlang-community & setting up auto-deploy to Heroku?

Done.

Now you do.

Not sure if it takes a while to go through, but don't have access yet. I'll check and set it up tomorrow.

wilzbach commented 6 years ago

Not sure if it takes a while to go through, but don't have access yet.

Seems liked GH required a verification from my side. Sorry. You should be good to go now!

wilzbach commented 6 years ago

I guess I can close this now as both the tools and bot repo are existent.

Thanks again @skl131313 for his work!