Closed joeyguerra closed 1 year ago
@technicalpickles @joeyguerra I think we should see Github Actions kick in on this MR - does that need to be enabled on the repo?
Is there a task also to remove the Travis CI checks as well, if they're sufficiently replaced by Github Actions here? They didn't show up on hubot-new/hubot but we wouldn't have had the expected configuration in place.
https://github.com/hubotio/hubot/pull/1581/commits/3ceeb0a4881270ecc9d134e25aaf1806f0236526 may want to be revisited - that change can be updated to retain the existing org.
Whooo, this PR adds 10K LoC. Is that all from .coffee > .js?!
It's the package-lock.json
file. 9,494 LOC.
does that need to be enabled on the repo?
It is already enabled 🤔 They do require an initial approval for first time contributors, but I am not seeing a way to enable them. Will see if I can figure it out.
I have no idea why I can't approve or run GitHub Actions for this branch (followed the docs and there's not an approve workflow as suggested).
I was able to npm install
and npm test
locally on macOS w/ Node 18.x. Two caveats though.
1) npm install had some warnings about an old lockfile. May want to npm install
and commit the updated package.json at some point (doesn't need to be now)
npm WARN old lockfile
npm WARN old lockfile The package-lock.json file was created with an old version of npm,
npm WARN old lockfile so supplemental metadata must be fetched from the registry.
npm WARN old lockfile
npm WARN old lockfile This is a one-time fix-up, please be patient...
npm WARN old lockfile
2) npm test
is successful, but seems to hang after printing out the summary:
load: 7.47 cmd: node 44076 waiting 1.04u 0.12s
load: 7.47 cmd: node 44076 waiting 1.04u 0.12s
load: 7.47 cmd: node 44076 waiting 1.04u 0.12s
^C----------|---------|----------|---------|---------|-------------------
File | % Stmts | % Branch | % Funcs | % Lines | Uncovered Line #s
----------|---------|----------|---------|---------|-------------------
All files | 0 | 0 | 0 | 0 |
----------|---------|----------|---------|---------|-------------------
Looks like it may be nyc
which is doing... coverage reporting? I'm not very worried about this, but should be fixed up as a followup.
That "pending" thing was raised in https://github.com/hubot-new/hubot/issues/33 which is closed but IDK if the issue was resolved.
Is it that Travis failing prevents Github Actions from proceeding perhaps?
Is it that Travis failing prevents Github Actions from proceeding perhaps?
Doubtful. Looking more closely, it's a branch protection for the default branch, and 'waiting for status to be reported' suggests to me it's not getting kicked off at all. I can remove that requirement for now.
Something I'd like to double check before approving & merging is trying to upgrade an existing hubot. https://github.com/hubotio/hubot-for-hubot is one we can use to test. I'm more worried about loading and running the tests than anything else, so testing with the shell adapter is fine instead of getting it hooked back up to the hubotio slack.
@joeyguerra don't forget the commit message syntax in https://github.com/hubotio/hubot/blob/master/CONTRIBUTING.md for semantic-release. (I'll eventually add a workflow to ensure that, but not here. Previously discussed @ https://github.com/hubot-new/hubot/issues/44.)
@xurizaemon any suggestions on what to put for the title since this PR includes a mixture of multiple fixes, features, doc updates?
Uhmm ... C-C-C-C-C-C-COMBO? Not sure about the issue title sorry.
AFAIK it's commit messages that semantic-release would care about, and it's likely to use the individual branch commits rather than the merge commits. Apologies if I didn't make my thinking explicit enough when suggesting this a couple days ago!
Ah. Now I see what you're saying. I was thinking, "surely we don't have to go back and update every commit message". But, in fact, you're saying we do. But those individual commits were not "atomic" in that they encapsulated a complete thought or change. Any suggestions for that situation?
btw, thank you for your patience. It’s one thing to write down my thoughts in chat or email to someone I work with often. It’s quite another level of skill to communicate thoughts and ideas when face to face comma is missing. Wish I would’ve paid more attention in my writing classes.
The upside of travis not working is semantic release commits won't be enforced. I can also bypass it as a maintainer even if it did.
As a followup, using PR titles instead of commits would be more practical and easier to manage instead of each commit.
When testing with hubot-for-hubot, http client bugs were exposed. buildOptions (extend) isn’t working as expected. I pushed a fix to this PRs branch. I’ll test it again with hubot-for-hubot later this evening.
I'm done with my testing as well. I pushed some bug fixes to the httpclient
module after testing with hubot-for-hubot. @technicalpickles good call! Thank you.
@technicalpickles do you know how to do a dry run semantic-release so we can see how the commit messages are going to look? I was wondering if we should create a different branch, put all the changes that are in this PR into that new one and start from there instead to shore up the commit messages, but I don't know how semantic-release builds the change log from the commit messages. The documentation says it parses the commit messages between the previous release (git tag) and the new one. But I'm still unclear what commit messages it's going to get.
do you know how to do a dry run semantic-release so we can see how the commit messages are going to look?
I'm not super familiar, as I wasn't the main proponent of using this. I pulled it down locally, and looks like there is a --dry-run
command at least. It looks like it needs some GitHub and/or NPM tokens to run.
The documentation says it parses the commit messages between the previous release (git tag) and the new one. But I'm still unclear what commit messages it's going to get.
My hunch is that it wouldn't even run, because it was part of Travis CI which isn't running. I'm fine with doing this release manually if needed though.
Ok. I'm ready whenever you are :) What are the next steps?
FWIW - I proposed (https://github.com/hubot-new/hubot/issues/44) we adopt semantic-release pattern based on seeing it documented in CONTRIBUTING.md here.
I supported that approach because it's easier as a distributed team to have a clear process, and because adopting an existing established (apparently!!) process would make more sense for community adoption than coming up with a new one, or (worse) forgetting to communicate the changes to users clearly.
It seems low-maintenance which I think is good ... But on testing, it feels a little opaque - I tried a few combos just now and couldn't work out how to get it to simulate generating release notes. As @technicalpickles saw even for --dry-run
it wants NPM and Github tokens, and I would be reluctant to give it those without seeing the output of --dry-run
first!
OTOH if there's a better method, we're free to do that too! So this comment is mostly to say we can be flexible on it :)
I'm still unclear what commit messages it's going to get.
I would expect it to get all the commits between the most recent NPM release and master
at time of the release.
You can see this from the output of: git log --pretty=short v3.3.2..2023-catchup
(source branch here instead of master, as we're trying to see what would be the state of things; if there were other PRs to consider, that would factor in too).
PS. @joeyguerra we can totally rework those commit messages without needing a new branch/PR for it. Happy to show how or do this if it's helpful.
@xurizaemon yes please, I'd appreciate you showing me how to rework those commit messages.
@technicalpickles when you say, "doing the release manually", do you mean execute the semantic-release
cli command from your local machine to publish an updated package to NPM? Or adding the semantic-release
command to one of (or create a new one) the GitHub Actions workflow yaml file?
when you say, "doing the release manually", do you mean execute the semantic-release cli command from your local machine to publish an updated package to NPM? Or adding the semantic-release command to one of (or create a new one) the GitHub Actions workflow yaml file?
I mean publishing with the npm command, and tagging git. I can create new "Release" really easily, because it can figure most of that out automatically nowadays (that didn't exist when semantic-release was being used)
Ok. I'm ready whenever you are :) What are the next steps?
I'm going to:
I'm trying a dry run with semantic-release
and running into errors. First one is "can't login with password" :(
Existing PRs and Issues
send
andmessageRoom
#1546New from hubot-new/hubot fork
Closes #1403 , #1405 , #1470 , #1483, #1485, #1509, #1530, #1546, #1548, #1564