karma-runner / karma-firefox-launcher

A Karma plugin. Launcher for Firefox.
MIT License
104 stars 54 forks source link

Travis CI is no longer running #149

Closed birtles closed 2 years ago

birtles commented 3 years ago

@johnjbarton Hi John. I notice that Travis CI hasn't been running recently. It looks like it last ran on June 9 according to https://github.com/karma-runner/karma-firefox-launcher/commits/master

I don't have access to the repository settings to be able to check what's going on there.

Looking at the latest run there's a banner at the top that says, "Since June 15th, 2021, the building on travis-ci.org is ceased. Please use travis-ci.com from now on." Do we need to switch something as a result of that?

Alternatively, I can try to set up GitHub actions instead.

Also, while I'm bothering you, could we rename the master branch to main while we're at it? Thanks!

johnjbarton commented 3 years ago

Hi Brian,

I retired back in May. I've CCed Gerry Gao and Jonathon Ginsburg to see if they can help you.

jjb

On Sun, Aug 8, 2021 at 7:08 PM Brian Birtles @.***> wrote:

@johnjbarton https://github.com/johnjbarton Hi John. I notice that Travis CI hasn't been running recently. It looks like it last ran on June 9 according to https://github.com/karma-runner/karma-firefox-launcher/commits/master

I don't have access to the repository settings to be able to check what's going on there.

Looking at the latest run there's a banner at the top that says, "Since June 15th, 2021, the building on travis-ci.org is ceased. Please use travis-ci.com from now on." Do we need to switch something as a result of that?

Alternatively, I can try to set up GitHub actions instead.

Also, while I'm bothering you, could we rename the master branch to main while we're at it? Thanks!

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/karma-runner/karma-firefox-launcher/issues/149, or unsubscribe https://github.com/notifications/unsubscribe-auth/AABSGAXA7W5ULQ7ENG7MT2TT342DNANCNFSM5BZDNNNA . Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&utm_campaign=notification-email .

birtles commented 3 years ago

Hi Brian, I retired back in May. I've CCed Gerry Gao and Jonathon Ginsburg to see if they can help you.

Hi John,

Congratulations on your retirement! Thank you very much. I'm happy to take care of administering the repo in future if that seems suitable to you.

jginsburgn commented 3 years ago

Thanks for your CC @johnjbarton!

@birtles, we are aware of this issue and will address it shortly.

birtles commented 3 years ago

Thanks @jginsburgn!

dotnetCarpenter commented 3 years ago

I'm still a little confused about this. Will there be a new release?

birtles commented 3 years ago

I'm still a little confused about this. Will there be a new release?

Previously CI was set up with the token to publish to npm so as soon as travis is fixed it should automatically publish. I don't have rights to publish and presumably because this is a Google project it's not a simple matter to give me admin/publishing rights.

jginsburgn commented 3 years ago

What @birtles mentions is right. I will try to bring back TravisCI (now with the travis-ci.com domain) back online before the EOW.

birtles commented 3 years ago

@jginsburgn Hi Jonathan! I wonder if there is any update on getting travis up and running again?

jginsburgn commented 3 years ago

Hello @birtles! Work is underway.

dotnetCarpenter commented 3 years ago

@jginsburgn Do you have an ETA for travis builds? The reason I'm asking is that I have held back on development on our unit tests, since it's painful to develop on Windows WSL due to #101. A fix has been merged into master #141.

I understand that @birtles does not want/are able to publish a new version of karma-firefox-launcher without CI support.

While I could develop our unit tests, using my local version of #141, the issue will surely resurface multiplied, if/when I publish our unit tests, for our developers using WSL.

birtles commented 3 years ago

I understand that @birtles does not want/are able to publish a new version of karma-firefox-launcher without CI support.

(The latter, I can't publish except via CI.)

jginsburgn commented 3 years ago

@dotnetCarpenter we are actively working on getting CI back on. I can manually conduct testing and create a release in the meantime for a few PRs. Let me prioritize this one.

dotnetCarpenter commented 2 years ago

@jginsburgn Looking forward for the new release of karma-firefox-launcher.

FWIW it is a little unsettling from the outside to see @birtles being so attentive to this project while no new releases are happening and he does not have the permission to create releases himself.

jginsburgn commented 2 years ago

Let me forward this information to my manager: @gjyalpha!

dotnetCarpenter commented 2 years ago

@gjyalpha I hope you'll find resources to maintain karma-firefox-launcher. If it does not happen, I think that for the web development community, the only viable solution is to fork karma-firefox-launcher and take back control. But I really hope that will not be necessary.

gjyalpha commented 2 years ago

Hi @dotnetCarpenter , @birtles

Getting Karma OSS CI working again is our top priority in Q4 already. And Jonathan and I are working on that along with other priorities we have.

Let me clarify my understanding and strategy and see if it make sense to you.

I understand it's definitely an unfortunate situation that TravisCI no longer works for Karma. And it certainly have negative impacts on contributors. Well, without a CI, contributors should still be able to manually run the tests locally to do some verifications, right? Also, Jonathan and I as the maintainer could also patch the PR and run the tests locally to verify the PR, then decide to merge the PR, right? Yes, it's more manual work, but this could be a workaround before we could have the automated CI working again. Right?

Regarding creating a release, could you please share more details how a missing CI really blocks us from creating a release? Sorry for lacking of knowledge on this part.

Regarding choosing the new CI, we are evaluating between Github Actions and CircleCI. The travis-ic.com is not currently being considered. Please let us know if you have any inputs on which CI you think could work better for Karma.

Also, I didn't get the idea how forking karma-firefox-launcher could solve this CI problem. Don't people need to solve this CI problem for their forked arma-firefox-launcher? If so, why shouldn't they just contribute this effort to help fix the CI problem for the canonical karma-firefox-launcher?

Thanks, Gerry

birtles commented 2 years ago

Hi @gjyalpha,

The issue is about releasing new versions of the package. I believe I have sufficient privileges to set up GitHub Action to run tests but I don't have the credentials to publish a new package to npm.

The current setup is something @johnjbarton introduced which uses semantic-release to automate publishing of the package. That way, when I merge a PR it will be released without me having access to the npm credentials.

Also, I didn't get the idea how forking karma-firefox-launcher could solve this CI problem. Don't people need to solve this CI problem for their forked arma-firefox-launcher? If so, why shouldn't they just contribute this effort to help fix the CI problem for the canonical karma-firefox-launcher?

It's not particularly hard to set up CI under a new repo where you can use your own npm credentials. The blocker is the npm credentials, not the technical difficulty of setting up CI.

If Google is considering using GitHub Actions then I can make a start of setting that up, but it will still need someone to supply to the required npm credentials via GitHub secrets in order for publishing to work.

I don't believe I have sufficient privileges to set up Circle CI for this repository, however, so if Google wishes to go with Circle CI, I will need you to enable that first.

karmarunnerbot commented 2 years ago

Hi @birtles https://github.com/birtles,

Thank you for the detailed reply!

I think I understand how semantic-release could automate the release process. But on the other hand, I'm wondering if we could do a manual release, just like how we did it before we set up the semantic-release, to the npm. Is semantic-release mutually exclusive with manual release?

If we couldn't do manual release and have to go down the semantic-release path, then we will need to wait until we have the CI setup again. We haven't made our decision between Github Actions and CircleCI yet. Thank you for offering help on setting up the CI! Once we decide on which CI to go, we could let you know if we need any help. And we could certainly set up the npm credentials via Github Actions if Github Actions is our final choice.

Thanks, Gerry

On Thu, Sep 30, 2021 at 5:49 PM 'Brian Birtles' via Web Test Team < @.***> wrote:

Hi @gjyalpha https://github.com/gjyalpha,

The issue is about releasing new versions of the package. I believe I have sufficient privileges to set up GitHub Action to run tests but I don't have the credentials to publish a new package to npm.

The current setup is something @johnjbarton https://github.com/johnjbarton introduced which uses semantic-release https://github.com/semantic-release/semantic-release to automate publishing of the package. That way, when I merge a PR it will be released without me having access to the npm credentials.

Also, I didn't get the idea how forking karma-firefox-launcher could solve this CI problem. Don't people need to solve this CI problem for their forked arma-firefox-launcher? If so, why shouldn't they just contribute this effort to help fix the CI problem for the canonical karma-firefox-launcher?

It's not particularly hard to set up CI under a new repo where you can use your own npm credentials. The blocker is the npm credentials, not the technical difficulty of setting up CI.

If Google is considering using GitHub Actions then I can make a start of setting that up, but it will still need someone to supply to the required npm credentials via GitHub secrets in order for publishing to work.

I don't believe I have sufficient privileges to set up Circle CI for this repository, however, so if Google wishes to go with Circle CI, I will need you to enable that first.

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/karma-runner/karma-firefox-launcher/issues/149#issuecomment-931807071, or unsubscribe https://github.com/notifications/unsubscribe-auth/AB6A2K6TSBG4APHE2TYUZ2DUEUASBANCNFSM5BZDNNNA . Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

-- You received this message because you are subscribed to the Google Groups "Web Test Team" group. To unsubscribe from this group and stop receiving emails from it, send an email to @.*** To view this discussion on the web visit https://groups.google.com/a/google.com/d/msgid/web-test-team/karma-runner/karma-firefox-launcher/issues/149/931807071%40github.com https://groups.google.com/a/google.com/d/msgid/web-test-team/karma-runner/karma-firefox-launcher/issues/149/931807071%40github.com?utm_medium=email&utm_source=footer .

birtles commented 2 years ago

I think I understand how semantic-release could automate the release process. But on the other hand, I'm wondering if we could do a manual release, just like how we did it before we set up the semantic-release, to the npm. Is semantic-release mutually exclusive with manual release?

By all means, feel free to kick off a manual release at any time!

We'll still want to set up semantic-release or equivalent I think, so that I don't need to ping you every week or two to ask for a new release!

If we couldn't do manual release and have to go down the semantic-release path, then we will need to wait until we have the CI setup again. We haven't made our decision between Github Actions and CircleCI yet. Thank you for offering help on setting up the CI! Once we decide on which CI to go, we could let you know if we need any help. And we could certainly set up the npm credentials via Github Actions if Github Actions is our final choice.

Great! Please let me know once you've made a decision and I'll do what I can to help.

birtles commented 2 years ago

After a few false starts I got GitHub Actions running the automated tests so at least we're not flying entirely blind.

It should simply be a matter of adding a couple of extra lines to trigger a release from that action but first it needs someone to set the appropriate NPM token in GitHub secrets.

gjyalpha commented 2 years ago

Thank you very much for looking into the Github Actions part, Brian!

I talked with Jonathan offline. We have seen contributors helping to set up Github Actions for other Karma repos as well. So while we still want to use the manual release to fill the gap as of now, we've decided to move forward with Github Actions as a short to medium term solution. We will evaluate and decide if CircleCI is a better solution or not later when we have more bandwidth.

So, please send us PRs or instructions about how you set Github Actions, and we could definitely help set up the Github Action secrets for all related downstream services.

On Tue, Oct 5, 2021 at 7:27 PM Brian Birtles @.***> wrote:

After a few false starts I got GitHub Actions running the automated tests so at least we're not flying entirely blind.

It should simply be a matter of adding a couple of extra lines to trigger a release from that action but first it needs someone to set the appropriate NPM token in GitHub secrets.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/karma-runner/karma-firefox-launcher/issues/149#issuecomment-935282681, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAIKPKS5IBBOBOFGVUJJQ23UFOXYVANCNFSM5BZDNNNA . Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

birtles commented 2 years ago

Hi @gjyalpha,

You can see the GitHub Actions setup I added here:

https://github.com/karma-runner/karma-firefox-launcher/blob/master/.github/workflows/ci.yml

Configuring automated releases for GitHub actions is described here: https://github.com/semantic-release/semantic-release/blob/master/docs/recipes/github-actions.md

Basically it should work as follows:

Note that even though I have push access to the repository, I cannot see any defined secrets. Furthermore, GitHub actions will mask them if I try to print them to the log.

It may still be possible for me to access the secrets by modifying the workflow but that could be prevented using a CODEOWNERS file to require review if I attempt to modify the workflow.

Other contributors cannot access the secrets since they are not available on pull_request actions.

There is quite a bit of information here about how to securely configure secrets here: https://docs.github.com/en/actions/security-guides/security-hardening-for-github-actions

I am happy to set up the publishing action described above. It will simply fail to publish until you add the NPM_TOKEN secret to the repository. Once it appears to work, I can add the CODEOWNERS file too, if you like, effectively preventing me from changing the workflow without your approval (or some other contact(s) in your team) thereby ensuring I cannot access the value of the NPM_TOKEN.

jginsburgn commented 2 years ago

Why do we use Yarn?

birtles commented 2 years ago

Why do we use Yarn?

Why not? It seems to be the most popular package manager amongst the Node.js projects I interact with.

jginsburgn commented 2 years ago

I checked and it seems npm is more popular.

birtles commented 2 years ago

Yeah, it's more common overall but for actively developed open source projects, yarn seems popular. It's certainly nicer to work with than npm so I think we'd need a compelling reason to revert to npm.

jginsburgn commented 2 years ago

That's a fair point :)

birtles commented 2 years ago

Closed by #174

gjyalpha commented 2 years ago

Thank you for fixing this, Brian and Jonathan!