Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: activity on repo has been stalled, this kickstarts it #1541 #1581

Merged
merged 67 commits into from
Apr 17, 2023
Merged
Show file tree
Hide file tree
Changes from 63 commits
Commits
Show all changes
67 commits
Select commit Hold shift + click to select a range
b0e7f83
Set max json request body size with EXPRESS_LIMIT
pearswj Nov 6, 2017
971c8f1
Merge branch 'master' into increase-json-limit
pearswj Mar 13, 2018
d13a7f9
fix: express basicAuth
pcunning Oct 7, 2018
29dfaf2
docs(windows): Fix setx typo to set and put double quotes in the corr…
GitMje Aug 11, 2019
2f36de1
fix: address TypeError by experss
Aug 21, 2019
9ae0c4c
Merge branch 'master' into increase-json-limit
pearswj Oct 13, 2020
f7044e0
fix: HUBOT_HTTPD can now disable httpd
davidscholberg Dec 2, 2020
6039bf2
docs(patterns): use scoped npm package as adapter
levenleven Mar 15, 2022
ef14188
Merge pull request #23 from pcunning/fix_basicAuth
joeyguerra Apr 6, 2023
4fe4767
Merge pull request #24 from pearswj/increase-json-limit
joeyguerra Apr 6, 2023
a1d9f72
Merge pull request #26 from owaranaidobby/master
joeyguerra Apr 6, 2023
ed3ac74
Merge pull request #27 from davidscholberg/fix-hubot-httpd-env-var
joeyguerra Apr 6, 2023
06bb9f6
Merge pull request #28 from GitMje/master
joeyguerra Apr 6, 2023
cc5af00
Merge pull request #29 from levenleven/patch-1
joeyguerra Apr 6, 2023
b9d140c
Add `package-lock.json` generated with Node v14 / NPM v6
xurizaemon Apr 6, 2023
9e847a7
Merge pull request #35 from hubot-new/add-package-lock
joeyguerra Apr 6, 2023
3ceeb0a
fixes #7. Align to new org and maintainers.
joeyguerra Apr 6, 2023
077b863
fix the typo
joeyguerra Apr 7, 2023
8152a26
Merge pull request #37 from hubot-new/roadmap
joeyguerra Apr 7, 2023
154a2cf
fixes #13. Replace with a different strategy
joeyguerra Apr 7, 2023
5f5d9d2
fixes #20. Don't need to handle SIGTERM.
joeyguerra Apr 7, 2023
0357d35
fix(tests): Add Github Action for tests
xurizaemon Apr 6, 2023
7d91cee
fix(tests): Add latest node to test Matrix
xurizaemon Apr 7, 2023
c0ecdd0
Merge pull request #30 from hubot-new/github-actions-tests
joeyguerra Apr 8, 2023
450fb20
chore(deps): bump lodash from 4.17.11 to 4.17.21
dependabot[bot] Apr 8, 2023
488ed89
chore(deps): bump minimatch and mocha
dependabot[bot] Apr 8, 2023
9ba8e9a
chore(deps): bump shelljs and standard
dependabot[bot] Apr 8, 2023
4025a40
Fix standardjs suggestions
joeyguerra Apr 8, 2023
ea4da5f
Merge pull request #47 from hubot-new/dependabot/npm_and_yarn/lodash-…
joeyguerra Apr 8, 2023
7769b6e
Merge pull request #48 from hubot-new/dependabot/npm_and_yarn/minimat…
joeyguerra Apr 8, 2023
f5429d1
chore(deps): bump semver-regex and semantic-release
dependabot[bot] Apr 8, 2023
48dd174
Merge pull request #49 from hubot-new/dependabot/npm_and_yarn/semver-…
joeyguerra Apr 8, 2023
6e5701d
chore(deps): bump shelljs and standard
dependabot[bot] Apr 8, 2023
bce74e9
Fix standardjs suggestions
joeyguerra Apr 8, 2023
b069e74
recreate package-lock file
joeyguerra Apr 8, 2023
8afe8bd
Merge pull request #51 from hubot-new/dependabot/npm_and_yarn/shelljs…
joeyguerra Apr 8, 2023
9c3cc73
chore(deps): bump path-parse from 1.0.6 to 1.0.7
dependabot[bot] Apr 8, 2023
1991d24
Merge pull request #54 from hubot-new/dependabot/npm_and_yarn/path-pa…
joeyguerra Apr 8, 2023
3ba8561
chore(deps): bump hosted-git-info from 2.7.1 to 2.8.9
dependabot[bot] Apr 8, 2023
feb41db
chore(deps): bump hosted-git-info from 2.7.1 to 2.8.9
dependabot[bot] Apr 8, 2023
0925997
Merge branch 'dependabot/npm_and_yarn/hosted-git-info-2.8.9' of githu…
joeyguerra Apr 8, 2023
40bd330
Merge pull request #55 from hubot-new/dependabot/npm_and_yarn/hosted-…
joeyguerra Apr 8, 2023
cede0f6
chore(deps): bump handlebars from 4.1.0 to 4.7.7
dependabot[bot] Apr 8, 2023
01efc48
Merge pull request #56 from hubot-new/dependabot/npm_and_yarn/handleb…
joeyguerra Apr 8, 2023
9b6fd58
chore(deps): bump y18n from 4.0.0 to 4.0.3
dependabot[bot] Apr 8, 2023
dbaf4ab
Merge pull request #57 from hubot-new/dependabot/npm_and_yarn/y18n-4.0.3
joeyguerra Apr 8, 2023
f430ce6
chore(deps): bump yargs-parser and nyc
dependabot[bot] Apr 8, 2023
ba508c2
Merge pull request #58 from hubot-new/dependabot/npm_and_yarn/yargs-p…
joeyguerra Apr 8, 2023
ad1ee1b
chore(deps): bump express-basic-auth from 1.1.5 to 1.1.7
dependabot[bot] Apr 8, 2023
bef46c3
Merge pull request #59 from hubot-new/dependabot/npm_and_yarn/express…
joeyguerra Apr 8, 2023
f355130
fix(robot): #5 send now returns the extending adapters result
joeyguerra Apr 8, 2023
e71d540
fix: Prevent output buffer "swallowing" every other character on OSX
joeyguerra Apr 7, 2023
c28606d
Merge pull request #40 from hubot-new/cli-fix
xurizaemon Apr 8, 2023
6b71d15
Merge pull request #60 from hubot-new/return-results-from-send
xurizaemon Apr 8, 2023
fda1a82
Merge pull request #43 from hubot-new/remove-sigterm-handler
xurizaemon Apr 8, 2023
b529538
Merge pull request #42 from hubot-new/replace-require-extensions
xurizaemon Apr 8, 2023
c7d538f
fix(tests): Include CI for Windows, macOS
xurizaemon Apr 8, 2023
d4bd1d8
fix(tests): Use path.join() for testing paths on various OSes
xurizaemon Apr 8, 2023
defd935
fix(tests): Schedule tests on push to master & weekly run
xurizaemon Apr 8, 2023
43bc951
Merge pull request #62 from hubot-new/test-os-matrix
joeyguerra Apr 9, 2023
098fd2c
fix(http): #12 Remove ScopedHttpClient
joeyguerra Apr 9, 2023
cf71651
Implement standardjs suggestions for the new httpclient.js file
joeyguerra Apr 9, 2023
78cc34f
Merge pull request #63 from hubot-new/scoped-http-client
joeyguerra Apr 11, 2023
870d765
support coffee scripts.
joeyguerra Apr 14, 2023
e44c413
not needed anymore
joeyguerra Apr 14, 2023
69d9efd
fix httpclient options not getting set correctly
joeyguerra Apr 14, 2023
d709cce
fix(httpclient): Options not correctly populated as expected for `htt…
joeyguerra Apr 15, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
26 changes: 26 additions & 0 deletions .github/workflows/nodejs-macos.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
name: Node.js (macOS) CI

on:
push:
branches: [ "master" ]
schedule:
- cron: '5 4 * * 0'

jobs:
npm-test:

runs-on: macos-latest
technicalpickles marked this conversation as resolved.
Show resolved Hide resolved

strategy:
matrix:
node-version: [18.x]

steps:
- uses: actions/checkout@v3
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v3
with:
node-version: ${{ matrix.node-version }}
cache: 'npm'
- run: npm ci
- run: npm test
28 changes: 28 additions & 0 deletions .github/workflows/nodejs-ubuntu.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
name: Node.js (Ubuntu) CI

on:
push:
branches: [ "master" ]
pull_request:
branches: [ "master" ]
schedule:
- cron: '5 4 * * 0'

jobs:
npm-test:

runs-on: ubuntu-latest

strategy:
matrix:
node-version: [14.x, 16.x, 18.x, latest]

steps:
- uses: actions/checkout@v3
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v3
with:
node-version: ${{ matrix.node-version }}
cache: 'npm'
- run: npm ci
- run: npm test
26 changes: 26 additions & 0 deletions .github/workflows/nodejs-windows.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
name: Node.js (Windows) CI

on:
push:
branches: [ "master" ]
schedule:
- cron: '5 4 * * 0'

jobs:
npm-test:

runs-on: windows-latest

strategy:
matrix:
node-version: [18.x]

steps:
- uses: actions/checkout@v3
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v3
with:
node-version: ${{ matrix.node-version }}
cache: 'npm'
- run: npm ci
- run: npm test
31 changes: 13 additions & 18 deletions ROADMAP.md
Original file line number Diff line number Diff line change
@@ -1,37 +1,32 @@
# Hubot Roadmap
technicalpickles marked this conversation as resolved.
Show resolved Hide resolved

Hubot v3 aims to be a bot framework optimized for developers and developer workflows, with great integration with the most popular chat clients and developer tools, and an active community that is sharing scripts and best practices.
Hubot aims to be a bot framework optimized for developers and developer workflows, with great integration with the most popular chat clients and developer tools, and an active community that is sharing scripts and best practices.

This roadmap represents some of priorities for us over the next couple months. Issues or pull requests will be opened to discuss each of these items as they progress.
This roadmap represents some priorities for us over the next couple months. Issues or pull requests will be opened to discuss each of these items as they progress.

## 1. Return to a “maintained” status

- [x] Create a Hubot core team with at least 2 GitHub employees and at least 1 community member. The core team is [@technicalpickles](https://github.com/technicalpickles), [@bkeepers](https://github.com/bkeepers), [@mose](https://github.com/mose), and [@gr2m](https://github.com/gr2m) ([#1323](https://github.com/github/hubot/pull/1323))
- [x] Create a Hubot core team with invested users with no direct connection, interested in continuing the #hubot project.
- [x] Review all [open PRs](https://github.com/github/hubot/pulls) and triage [open issues](https://github.com/github/hubot/issues)
- [ ] Document all maintainer processes (triage, release, etc.)
- [ ] Create an issue template that addresses common requests
- [ ] Configure automation ([probot stale](https://github.com/probot/stale), [Greenkeeper](https://greenkeeper.io/), [semantic-release](https://github.com/semantic-release/semantic-release))
- [ ] Review all [open PRs](https://github.com/github/hubot/pulls) and triage [open issues](https://github.com/github/hubot/issues)
- [ ] Establish a release process and regular release cadence of the first Tuesday of every month.
- [ ] Establish a first-responder rotation, which will aim to reduce the average time to first response on all new Issues and PRs to 48 hours.
- [ ] Establish a release process and regular release cadence.

## 2. Modernize the community

- [ ] Consolidate all officially supported Hubot projects into a single GitHub organization. This will include github/hubot and a handful of supported scripts, but will not include all community scripts in https://github.com/hubot-scripts ([#1327](https://github.com/github/hubot/issues/1327))
- [ ] Create a community forum to provide a place for people to ask questions, get help, and share best practices. [Discourse](https://www.discourse.org/) is the obvious choice here.
- [x] Choose a chat platform for maintainers and contributors, and post notices in various existing places (#hubot on freenode, github/hubot on Gitter). Slack is the obvious choice here. [Join us on Slack](https://hubot-slackin.herokuapp.com/).
- [x] Add a code of conduct based on http://contributor-covenant.org/ and processes to enforce it in all official spaces. ([#1334](https://github.com/github/hubot/pull/1334))
- [ ] Publish weekly community updates (blog, newsletter, etc) which highlight recent and upcoming changes, give shoutouts to contributors / maintainers, and maybe mention interesting uses of Hubot
- [x] Create Hubot Evolution—inspired by [Swift Evolution](https://github.com/apple/swift-evolution)—for proposing user-visible enhancements. ([hubotio/evolution#1](https://github.com/hubotio/evolution/pull/1))
- [ ] Review and update the [contributing guide](CONTRIBUTING.md)
- [ ] Review hubot scripts and discuss whether or not we should fork them into this org or not.
- [ ] Do we want a chat community for Hubot?
- [ ] Review the [code of conduct](CODE_OF_CONDUCT.md) based on http://contributor-covenant.org/
- [ ] Decide on setting up Github Pages

## 3. Modernize the project

Each of these proposals will go through the [Hubot Evolution](https://github.com/hubotio/evolution) process.

- Translate from CoffeeScript to JavaScript and update to modern versions of Node.js and NPM (or Yarn)
- Update to modern versions of Node.js
- Revisit new bot generator (yeoman has a ton of dependencies, some of which can be error prone on windows)
- Support for running multiple adapters and archetypes (chat, deployment, CI, github, etc)
- Merge with [@probot](https://github.com/probot) and build out first class GitHub integration.
- Introduce "Commands”, an explicit interface for registering commands (like Slack’s slash commands) as an alternative to regular expressions
- Publish a ChatOps RPC spec and implement support for Hubot acting as both a client and a server.
- Discuss introducing the `Commands` concept as an interface for registering commands (like Slack’s slash commands) as an alternative to regular expressions
- Discuss publishing a ChatOps RPC spec and implement support for Hubot acting as both a client and a server.
- Support rich messages and interactions on platforms that support it
- Publish a public script directory backed by NPM
6 changes: 1 addition & 5 deletions bin/hubot.js
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ const options = {
adapter: process.env.HUBOT_ADAPTER || 'shell',
alias: process.env.HUBOT_ALIAS || false,
create: process.env.HUBOT_CREATE || false,
enableHttpd: process.env.HUBOT_HTTPD || true,
enableHttpd: process.env.HUBOT_HTTPD !== 'false',
scripts: process.env.HUBOT_SCRIPTS || [],
name: process.env.HUBOT_NAME || 'Hubot',
path: process.env.HUBOT_PATH || '.',
Expand Down Expand Up @@ -80,10 +80,6 @@ Parser.on((opt, value) => {

Parser.parse(process.argv)

if (process.platform !== 'win32') {
process.on('SIGTERM', () => process.exit(0))
}

if (options.create) {
console.error("'hubot --create' is deprecated. Use the yeoman generator instead:")
console.error(' npm install -g yo generator-hubot')
Expand Down
10 changes: 5 additions & 5 deletions docs/deploying/windows.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,16 +8,16 @@ Hasn't been fully tested - YMMV

There are 4 primary steps to deploying and running hubot on a Windows machine:

* node and npm
* a way to get source code updated on the server
* setting up environment variables for hubot
* a way to start hubot, start it up if it crashes, and restart it when code updates
* node and npm
* a way to get source code updated on the server
* setting up environment variables for hubot
* a way to start hubot, start it up if it crashes, and restart it when code updates

## node and npm

To start, your windows server will need node and npm.
The best way to do this is with [chocolatey](http://chocolatey.org) using the [nodejs.install](http://chocolatey.org/packages/nodejs.install) package.
I've found that sometimes the system path variable is not correctly set; ensure you can run node/npm from the command line. If needed set the PATH variable with "setx PATH \"%PATH%;C:\Program Files\nodejs\" "
I've found that sometimes the system path variable is not correctly set; ensure you can run node/npm from the command line. If needed set the PATH variable with `set PATH=%PATH%;\"C:\Program Files\nodejs\"`

Your other option is to install directly from [NodeJS](https://nodejs.org/) and run the current download (v0.12.4 as of this documentation). This should set your PATH variables for you.

Expand Down
14 changes: 14 additions & 0 deletions docs/patterns.md
Original file line number Diff line number Diff line change
Expand Up @@ -218,3 +218,17 @@ Organizations that have a number of chat rooms that serve different purposes oft

Work on generalized blacklist solution is [ongoing](https://github.com/kristenmills/hubot-command-blacklist). A whitelist soultion could take a similar approach.

## Use scoped npm packages as adapter

It is possible to [install](https://docs.npmjs.com/cli/v7/commands/npm-install) package under a custom alias:

```bash
npm install <alias>@npm:<name>
```

So for example to use `@foo/hubot-adapter` package as the adapter, you can:
```bash
npm install hubot-foo@npm:@foo/hubot-adapter

bin/hubot --adapter foo
```
2 changes: 1 addition & 1 deletion es2015.js
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ module.exports = {
User,
Brain,
Robot,
Adapter: Adapter,
Adapter,
Response,
Listener: Listener.Listener,
TextListener: Listener.TextListener,
Expand Down
Loading