polymerlabs / tedium Goto Github PK
View Code? Open in Web Editor NEWA bot for doing mass changes to github repos for the Polymer team
A bot for doing mass changes to github repos for the Polymer team
It seems the bot is spamming commits again, now with the issue template.
https://github.com/PolymerElements/iron-location/commits/master
Edit: too late for now, but actually I should have reopened #37
They're all currently saying something along the lines of "This element is compatible with Polymer 0.5 and lower only, and will be deprecated. You can check out a similar 0.8-compatible version of this element " (see https://github.com/Polymer/paper-button), which is pretty lulz. ๐
/cc @tjsavage
Now that we have templates, better to not to copy the whole file. Would it be possible to add a blurb at the bottom of each autogenerated README with something like:
"Interested in contributing? See https://github.com/PolymerElements/ContributionGuide/blob/master/CONTRIBUTING.md"
This is desirable as it will catch a number of bugs and documentation errors, as well as reducing the impedance mismatch for folks who want to compile Polymer.
Steps:
(the fact that the snippet is incomplete is, I believe, https://github.com/Polymer/hydrolysis/issues/139)
(I hope this is the correct place for this request)
When reading the autogenerated docs, the snippets are a bit hard to read/extract from the other documentation. Syntax highlighting could help with this problem. The visual difference of the highlighting makes distinguishing code snippets from pure docs easier. It would be nice if the bot could detect these snippets and automatically add ```HTML in front of it and closes it with ```.
For example in the paper-input
docs replace
<paper-input-container>
<input is="iron-input" maxlength="20">
<paper-input-char-counter></paper-input-char-counter>
</paper-input-container>
with
<paper-input-container>
<input is="iron-input" maxlength="20">
<paper-input-char-counter></paper-input-char-counter>
</paper-input-container>
In markdown code:
```HTML
<paper-input-container>
ย ย <input is="iron-input" maxlength="20">
ย ย <paper-input-char-counter></paper-input-char-counter>
</paper-input-container>
```
Also worth considering a standard way of specifying blacklisted elements for cleanup passes.
Purposed Changes:
chrome: stable
like how firefox is handled.install
phase to have the install commands
polymer install --variants
to install any variantspolymer lint
to the before_scripts
polymer.json
for the linter.sudo: false
)polymer test
will run all variants in all browsers
polymer test
instead of polymer test -l chrome
and polymer test -l firefox
node_modules
caching into this if you want as well.I am more than willing to put out a PR if you guys are good with these changes.
purposed .travis.yml
language: node_js
sudo: false
before_script:
- polymer lint
install:
- npm install -g polymer-cli
- polymer install --variants
env:
global:
- secure: >-
INSERT_KEY
- secure: >-
INSERT_KEY
node_js: stable
addons:
firefox: latest
chrome: stable
sauce_connect: true
script:
- xvfb-run polymer test
- >-
if [ "${TRAVIS_PULL_REQUEST}" = "false" ]; then polymer test -s 'default';
fi
dist: trusty
There should be space between ##
and header string.
I submitted couple of PRs and after that noticed that READMEs are generated automatically :/
nvm
written in place of npm
https://github.com/PolymerLabs/tedium/edit/master/README.md#L13
Two issues that will need change:
In a similar fashion to #67, the option prAssignee
is ignored when creating the pull request.
Would need to check that the license tag at the top of code files was correct.
https://github.com/Polymer/tools/tree/master/packages/workspaces should work for this and remove the nodegit dependency
Whenever I run the file with --prBranchName gen-typescript-declarations
, it will still create the branch named auto-cleanup
and simply ignore the input value. Note that any change in capitalization or the usage of -
reports in an unknown argument, so the argument should have the correct name but it simply does nothing.
The Travis pass overrides the install
script (
tedium/cleanup-passes/travis.ts
Lines 71 to 76 in 3684899
TypeScript
pass actually introduces npm
dependencies to be able to generate the TypeScript definitions.
To this end, when you run both Travis
and TypeScript
, the command npm install
(which is the default Travis install command) is no longer run, thus the npm dependencies for gen-typescript-declarations
are no longer installed.
Instead, the current commands in install
should be moved to the first lines of before_script
, such that install
once again runs npm install
on Travis.
The Travis pass currently adds linting to the script (
tedium/cleanup-passes/travis.ts
Lines 78 to 83 in 3684899
polymer.json
does not exist in the repository (which is the case for almost all elements).
The Travis pass (or maybe a different pass) should therefore generate a simple polymer.json
with the correct linting configuration. Probably for the elements this should be
{
"lint": {
"rules": ["polymer-2-hybrid"]
}
}
At first I thought I should always use --maxChanges
to actually push the updates to the repository. Later, I discovered I can just run it without and manually push from the freshly cloned repository.
It would be great to either add this to the README or add a comment that, when this argument is not passed in, it states you can manually make modifications and then push changes.
Tedium is committing once every hour without any actual changes on the iron-location
repository: https://github.com/PolymerElements/iron-location/commits/master
It would be great to make give tedium tasks by the CLI:
tedium --task add-travis-config --task add-travis-badge --task generate-readme
WDYT?
This ticket was first created by me in the PolymerElements/app-layout#293 and @abdonrd kindly ask me if I can created it in tedium as well, which seems to be a good place for it.
Many PolymerElements github projects like the app-layout
element is using "polymerelements" in its bower.json file to reference dependecies.
Like: polymerelements/iron-flex-layout#^1.0.0
While other popular Polymer elements like paper-checkbox
, paper-button
use "PolymerElements"
Like PolymerElements/iron-flex-layout#^1.0.0
Other Polymer elements use a mixture like app-route
I assume this does not matter in the JavaScript and Bower world. But I'm trying to figure out if it is possible to use Polymer-Elements in Java/JVM based micro services. In the Java world dependencies are pulled together from so called "Maven-Repositories".
There is a very nice effort to bridge the Bower/NPM things with Maven-Repositories in the project http://www.webjars.org/ . Webjars.org works fairly well for pure javascript dependencies, but less well for PolymerElements (and they have many transitive dependencies by nature). Many PolymerElements artifacts appear twice with the lower and upper case version of the github name "PolymerElements".
github-com-PolymerElements-iron-flex-layout
github-com-polymerelements-iron-flex-layout
This is an issue for JVM based software where letter case matters.
It would be nice if all PolymerElements would consistently use "PolymerElements" because this is the github name of the project.
Look at the bower.json files of the various projects
This does not affect bowsers. This affects Java build system like Maven, Gradle, SBT but seems to be no problem for JavaScript users that use Bower.
See recent commits to iron-menu-behavior.
I did not find any place where all available mixin are aggregated.
Maybe Tedium is a good candidate to build such dictionary across the component database?
It would be nicer to have a descriptive error message for this. At first, I was searching for this file in the repository I was modifying, but instead it was supposed to be in the folder that I run the command. I think adding a simple if (!fs.existSync)
with a nice error should be sufficient.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.