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

Replace GabrielBB/xvfb-action with something that will work after node 12 removal from GHA runners #5476

Closed
Czaki opened this issue Jan 13, 2023 · 0 comments · Fixed by #5478
Labels
task Tasks for contributors and maintainers

Comments

@Czaki
Copy link
Collaborator

Czaki commented Jan 13, 2023

🧰 Task

For some time the GHA emits warnings about node 12 deprecation:

obraz

Also GabrielBB/xvfb-action looks unmaintained GabrielBB/xvfb-action#30.

It means that at some moment it will stop working.

It requires some action from our side:

  1. We should either create own fork of this action and update it (maybe handle also herbstluftwm in such action see Set keyboard focus on console when opened #5208 (comment)) or switch to existing fork ex. https://github.com/coactions/setup-xvfb)

  2. Migrate all our repositories to a new action.

  3. Widely advertises such migrations in the whole napari community to reach plugin developers.

Migrated from #5208

@Czaki Czaki added the task Tasks for contributors and maintainers label Jan 13, 2023
alisterburt pushed a commit that referenced this issue Jan 20, 2023
This (potentially) closes #5476 by replacing
https://github.com/GabrielBB/xvfb-action with
https://github.com/aganders3/headless-gui.

I am also happy to move this action into the napari org if the community
prefers to maintain it collectively.

The purpose of this action is to run the same commands on multiple
platforms (Windows, macOS, Linux) for consistency, but Linux requires a
bit of extra setup:
* For GUI tests we need a display server, so we run
[Xvfb](https://en.wikipedia.org/wiki/Xvfb)
* [Some GUI tests additionally require a window
manager](https://pytest-qt.readthedocs.io/en/latest/troubleshooting.html#xvfb-assertionerror-timeouterror-when-using-waituntil-waitexposed-and-ui-events),
so this runs [herbstluftwm](https://herbstluftwm.org/) (though this is
configurable)

Adding the WM startup in here also removes the need for the `linux_wm`
test fixture added in #5208.

Other options:
* Put more logic into the GitHub Actions Workflow file(s) to install
dependencies and modify commands for Linux
* (Maybe?) put more logic into `tox.ini` and other cross-platform
command runners
* Use another existing action e.g.
https://github.com/coactions/setup-xvfb

As part of testing I also added a pre-commit hook to check GitHub
Actions Workflows against a schema. I am happy to remove this or put it
in a separate PR if it's muddying the scope here.

## Type of change
- [x] Bug-fix/CI change

# References
* Prior discussions:
  * #5208 (comment)
  * #5476 
* Old action currently in use: https://github.com/GabrielBB/xvfb-action
* New action proposed by this PR:
https://github.com/aganders3/headless-gui

# How has this been tested?
- [x] PR tests pass with this change in my fork
@aganders3 aganders3 moved this to Done 🚀 in napari H1/2023 Jan 24, 2023
Czaki pushed a commit that referenced this issue Jun 16, 2023
This (potentially) closes #5476 by replacing
https://github.com/GabrielBB/xvfb-action with
https://github.com/aganders3/headless-gui.

I am also happy to move this action into the napari org if the community
prefers to maintain it collectively.

The purpose of this action is to run the same commands on multiple
platforms (Windows, macOS, Linux) for consistency, but Linux requires a
bit of extra setup:
* For GUI tests we need a display server, so we run
[Xvfb](https://en.wikipedia.org/wiki/Xvfb)
* [Some GUI tests additionally require a window
manager](https://pytest-qt.readthedocs.io/en/latest/troubleshooting.html#xvfb-assertionerror-timeouterror-when-using-waituntil-waitexposed-and-ui-events),
so this runs [herbstluftwm](https://herbstluftwm.org/) (though this is
configurable)

Adding the WM startup in here also removes the need for the `linux_wm`
test fixture added in #5208.

Other options:
* Put more logic into the GitHub Actions Workflow file(s) to install
dependencies and modify commands for Linux
* (Maybe?) put more logic into `tox.ini` and other cross-platform
command runners
* Use another existing action e.g.
https://github.com/coactions/setup-xvfb

As part of testing I also added a pre-commit hook to check GitHub
Actions Workflows against a schema. I am happy to remove this or put it
in a separate PR if it's muddying the scope here.

## Type of change
- [x] Bug-fix/CI change

# References
* Prior discussions:
  * #5208 (comment)
  * #5476 
* Old action currently in use: https://github.com/GabrielBB/xvfb-action
* New action proposed by this PR:
https://github.com/aganders3/headless-gui

# How has this been tested?
- [x] PR tests pass with this change in my fork
Czaki pushed a commit that referenced this issue Jun 17, 2023
This (potentially) closes #5476 by replacing
https://github.com/GabrielBB/xvfb-action with
https://github.com/aganders3/headless-gui.

I am also happy to move this action into the napari org if the community
prefers to maintain it collectively.

The purpose of this action is to run the same commands on multiple
platforms (Windows, macOS, Linux) for consistency, but Linux requires a
bit of extra setup:
* For GUI tests we need a display server, so we run
[Xvfb](https://en.wikipedia.org/wiki/Xvfb)
* [Some GUI tests additionally require a window
manager](https://pytest-qt.readthedocs.io/en/latest/troubleshooting.html#xvfb-assertionerror-timeouterror-when-using-waituntil-waitexposed-and-ui-events),
so this runs [herbstluftwm](https://herbstluftwm.org/) (though this is
configurable)

Adding the WM startup in here also removes the need for the `linux_wm`
test fixture added in #5208.

Other options:
* Put more logic into the GitHub Actions Workflow file(s) to install
dependencies and modify commands for Linux
* (Maybe?) put more logic into `tox.ini` and other cross-platform
command runners
* Use another existing action e.g.
https://github.com/coactions/setup-xvfb

As part of testing I also added a pre-commit hook to check GitHub
Actions Workflows against a schema. I am happy to remove this or put it
in a separate PR if it's muddying the scope here.

## Type of change
- [x] Bug-fix/CI change

# References
* Prior discussions:
  * #5208 (comment)
  * #5476 
* Old action currently in use: https://github.com/GabrielBB/xvfb-action
* New action proposed by this PR:
https://github.com/aganders3/headless-gui

# How has this been tested?
- [x] PR tests pass with this change in my fork
Czaki pushed a commit that referenced this issue Jun 18, 2023
This (potentially) closes #5476 by replacing
https://github.com/GabrielBB/xvfb-action with
https://github.com/aganders3/headless-gui.

I am also happy to move this action into the napari org if the community
prefers to maintain it collectively.

The purpose of this action is to run the same commands on multiple
platforms (Windows, macOS, Linux) for consistency, but Linux requires a
bit of extra setup:
* For GUI tests we need a display server, so we run
[Xvfb](https://en.wikipedia.org/wiki/Xvfb)
* [Some GUI tests additionally require a window
manager](https://pytest-qt.readthedocs.io/en/latest/troubleshooting.html#xvfb-assertionerror-timeouterror-when-using-waituntil-waitexposed-and-ui-events),
so this runs [herbstluftwm](https://herbstluftwm.org/) (though this is
configurable)

Adding the WM startup in here also removes the need for the `linux_wm`
test fixture added in #5208.

Other options:
* Put more logic into the GitHub Actions Workflow file(s) to install
dependencies and modify commands for Linux
* (Maybe?) put more logic into `tox.ini` and other cross-platform
command runners
* Use another existing action e.g.
https://github.com/coactions/setup-xvfb

As part of testing I also added a pre-commit hook to check GitHub
Actions Workflows against a schema. I am happy to remove this or put it
in a separate PR if it's muddying the scope here.

## Type of change
- [x] Bug-fix/CI change

# References
* Prior discussions:
  * #5208 (comment)
  * #5476 
* Old action currently in use: https://github.com/GabrielBB/xvfb-action
* New action proposed by this PR:
https://github.com/aganders3/headless-gui

# How has this been tested?
- [x] PR tests pass with this change in my fork
Czaki pushed a commit that referenced this issue Jun 19, 2023
This (potentially) closes #5476 by replacing
https://github.com/GabrielBB/xvfb-action with
https://github.com/aganders3/headless-gui.

I am also happy to move this action into the napari org if the community
prefers to maintain it collectively.

The purpose of this action is to run the same commands on multiple
platforms (Windows, macOS, Linux) for consistency, but Linux requires a
bit of extra setup:
* For GUI tests we need a display server, so we run
[Xvfb](https://en.wikipedia.org/wiki/Xvfb)
* [Some GUI tests additionally require a window
manager](https://pytest-qt.readthedocs.io/en/latest/troubleshooting.html#xvfb-assertionerror-timeouterror-when-using-waituntil-waitexposed-and-ui-events),
so this runs [herbstluftwm](https://herbstluftwm.org/) (though this is
configurable)

Adding the WM startup in here also removes the need for the `linux_wm`
test fixture added in #5208.

Other options:
* Put more logic into the GitHub Actions Workflow file(s) to install
dependencies and modify commands for Linux
* (Maybe?) put more logic into `tox.ini` and other cross-platform
command runners
* Use another existing action e.g.
https://github.com/coactions/setup-xvfb

As part of testing I also added a pre-commit hook to check GitHub
Actions Workflows against a schema. I am happy to remove this or put it
in a separate PR if it's muddying the scope here.

## Type of change
- [x] Bug-fix/CI change

# References
* Prior discussions:
  * #5208 (comment)
  * #5476 
* Old action currently in use: https://github.com/GabrielBB/xvfb-action
* New action proposed by this PR:
https://github.com/aganders3/headless-gui

# How has this been tested?
- [x] PR tests pass with this change in my fork
Czaki pushed a commit that referenced this issue Jun 21, 2023
This (potentially) closes #5476 by replacing
https://github.com/GabrielBB/xvfb-action with
https://github.com/aganders3/headless-gui.

I am also happy to move this action into the napari org if the community
prefers to maintain it collectively.

The purpose of this action is to run the same commands on multiple
platforms (Windows, macOS, Linux) for consistency, but Linux requires a
bit of extra setup:
* For GUI tests we need a display server, so we run
[Xvfb](https://en.wikipedia.org/wiki/Xvfb)
* [Some GUI tests additionally require a window
manager](https://pytest-qt.readthedocs.io/en/latest/troubleshooting.html#xvfb-assertionerror-timeouterror-when-using-waituntil-waitexposed-and-ui-events),
so this runs [herbstluftwm](https://herbstluftwm.org/) (though this is
configurable)

Adding the WM startup in here also removes the need for the `linux_wm`
test fixture added in #5208.

Other options:
* Put more logic into the GitHub Actions Workflow file(s) to install
dependencies and modify commands for Linux
* (Maybe?) put more logic into `tox.ini` and other cross-platform
command runners
* Use another existing action e.g.
https://github.com/coactions/setup-xvfb

As part of testing I also added a pre-commit hook to check GitHub
Actions Workflows against a schema. I am happy to remove this or put it
in a separate PR if it's muddying the scope here.

## Type of change
- [x] Bug-fix/CI change

# References
* Prior discussions:
  * #5208 (comment)
  * #5476 
* Old action currently in use: https://github.com/GabrielBB/xvfb-action
* New action proposed by this PR:
https://github.com/aganders3/headless-gui

# How has this been tested?
- [x] PR tests pass with this change in my fork
Czaki pushed a commit that referenced this issue Jun 21, 2023
This (potentially) closes #5476 by replacing
https://github.com/GabrielBB/xvfb-action with
https://github.com/aganders3/headless-gui.

I am also happy to move this action into the napari org if the community
prefers to maintain it collectively.

The purpose of this action is to run the same commands on multiple
platforms (Windows, macOS, Linux) for consistency, but Linux requires a
bit of extra setup:
* For GUI tests we need a display server, so we run
[Xvfb](https://en.wikipedia.org/wiki/Xvfb)
* [Some GUI tests additionally require a window
manager](https://pytest-qt.readthedocs.io/en/latest/troubleshooting.html#xvfb-assertionerror-timeouterror-when-using-waituntil-waitexposed-and-ui-events),
so this runs [herbstluftwm](https://herbstluftwm.org/) (though this is
configurable)

Adding the WM startup in here also removes the need for the `linux_wm`
test fixture added in #5208.

Other options:
* Put more logic into the GitHub Actions Workflow file(s) to install
dependencies and modify commands for Linux
* (Maybe?) put more logic into `tox.ini` and other cross-platform
command runners
* Use another existing action e.g.
https://github.com/coactions/setup-xvfb

As part of testing I also added a pre-commit hook to check GitHub
Actions Workflows against a schema. I am happy to remove this or put it
in a separate PR if it's muddying the scope here.

## Type of change
- [x] Bug-fix/CI change

# References
* Prior discussions:
  * #5208 (comment)
  * #5476 
* Old action currently in use: https://github.com/GabrielBB/xvfb-action
* New action proposed by this PR:
https://github.com/aganders3/headless-gui

# How has this been tested?
- [x] PR tests pass with this change in my fork
Czaki pushed a commit that referenced this issue Jun 21, 2023
This (potentially) closes #5476 by replacing
https://github.com/GabrielBB/xvfb-action with
https://github.com/aganders3/headless-gui.

I am also happy to move this action into the napari org if the community
prefers to maintain it collectively.

The purpose of this action is to run the same commands on multiple
platforms (Windows, macOS, Linux) for consistency, but Linux requires a
bit of extra setup:
* For GUI tests we need a display server, so we run
[Xvfb](https://en.wikipedia.org/wiki/Xvfb)
* [Some GUI tests additionally require a window
manager](https://pytest-qt.readthedocs.io/en/latest/troubleshooting.html#xvfb-assertionerror-timeouterror-when-using-waituntil-waitexposed-and-ui-events),
so this runs [herbstluftwm](https://herbstluftwm.org/) (though this is
configurable)

Adding the WM startup in here also removes the need for the `linux_wm`
test fixture added in #5208.

Other options:
* Put more logic into the GitHub Actions Workflow file(s) to install
dependencies and modify commands for Linux
* (Maybe?) put more logic into `tox.ini` and other cross-platform
command runners
* Use another existing action e.g.
https://github.com/coactions/setup-xvfb

As part of testing I also added a pre-commit hook to check GitHub
Actions Workflows against a schema. I am happy to remove this or put it
in a separate PR if it's muddying the scope here.

## Type of change
- [x] Bug-fix/CI change

# References
* Prior discussions:
  * #5208 (comment)
  * #5476 
* Old action currently in use: https://github.com/GabrielBB/xvfb-action
* New action proposed by this PR:
https://github.com/aganders3/headless-gui

# How has this been tested?
- [x] PR tests pass with this change in my fork
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
task Tasks for contributors and maintainers
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant