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

Add GitHub Actions (CI)? #61

Closed
nelsonic opened this issue Nov 19, 2024 · 9 comments · Fixed by #63
Closed

Add GitHub Actions (CI)? #61

nelsonic opened this issue Nov 19, 2024 · 9 comments · Fixed by #63

Comments

@nelsonic
Copy link
Collaborator

Hi @indexzero, hope you are well. 👋
Any objections to adding GitHub Actions CI so that we can:

  1. Have better integration with GitHub and make it easier to review/approve/reject/merge PRs ...
  2. Update the version of Node.js to more recent versions currently: 🆕

    ps-tree/.appveyor.yml

    Lines 5 to 10 in 2b6476c

    - nodejs_version: '10'
    - nodejs_version: '8'
    - nodejs_version: '6'
    - nodejs_version: '4'
    - nodejs_version: '0.12'
    - nodejs_version: '0.10'
  3. Actively test on Windows e.g. for: ps-tree on Windows 11 24H2 crashes - wmic not part of windows any more #58 🪟

Happy to pick this up and create the necessary files. 🧑‍💻
Still have a few JS/TS projects and have migrated from other CI providers.

Thoughts?

@MikeMcC399
Copy link
Contributor

@nelsonic

GitHub Actions would be a good replacement, as it offers Ubuntu, Windows (Server) and macOS runners out-of-the-box.

The following outdated CI workflows could then be removed:

I guess that AppVeyor would have been covering Windows CI whilst Travis would have done Linux and osx (macOS) back in the day.

Are there any active maintainers for this repo at this time i.e. who have write access to the repo and can approve / merge PRs?

@nelsonic
Copy link
Collaborator Author

@MikeMcC399 I can prepare the PR and/or merge it. :shipit:

@MikeMcC399
Copy link
Contributor

@nelsonic

If you have privileges then I suggest that you go ahead!

@MikeMcC399
Copy link
Contributor

@nelsonic

I was curious and wrote a draft workflow to be run manually. All tests pass. 🙂

name: ci
on:
  workflow_dispatch:

jobs:

  ps-tree-ci:
    strategy:
      fail-fast: false
      matrix:
        node: [18, 20, 22, 23]
        os: [ubuntu-24.04, windows-2022, macos-14]
    runs-on: ${{ matrix.os }}
    steps:
      - name: Setup Node
        uses: actions/setup-node@v4
        with:
          node-version: ${{ matrix.node }}
      - run: node -v
      - run: npm -v
      - name: Checkout
        uses: actions/checkout@v4
      - run: npm ci
      - run: npm test
      - run: npm run coverage
 

@MikeMcC399
Copy link
Contributor

@nelsonic

Are you planning to implement a GitHub Actions CI workflow anytime soon? Or are you waiting for confirmation from @indexzero (who appears to be currently and sporadically active in GitHub, but not in this repo, as far as I can make out)?

@nelsonic
Copy link
Collaborator Author

@MikeMcC399 if you can prepare the PR with this yml you've crafted above, I will merge it. :shipit:
Don't want to create & merge my own PR as that would be an abuse of privilege/power. 💭

@MikeMcC399
Copy link
Contributor

@nelsonic

if you can prepare the PR with this yml you've crafted above, I will merge it. :shipit:

Don't want to create & merge my own PR as that would be an abuse of privilege/power. 💭

That seems to be your own self-imposed rule. If there is concern about one person with write privileges to the repo having unchecked power to merge to the master branch, this can be regulated with branch protections rules. You would need to confer with your other maintainers, however this may be difficult if they are currently inactive and unresponsive.

@nelsonic
Copy link
Collaborator Author

@MikeMcC399 thanks for doing that; your PR is merged. ✅

@indexzero hope you don't mind us doing some proactive maintenance of your repo. 🙏

@MikeMcC399
Copy link
Contributor

@nelsonic

  • The GitHub Actions CI workflow is now running successfully, as can be seen in any of the active Dependabot PRs which have been created or updated after the workflow was created, for example Bump json-schema and jsprim #65

This is shown in the Checks tab

image

and in the merge section

image

If you want PRs to only be merged into the master branch if CI tests pass, then you need to set up branch protection rules - see Require status checks before merging. This setup would need to be done by a maintainer with write privileges to the repo.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants