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

Could you please clarify documentation: #83

Closed
tobiasherzke opened this issue Oct 30, 2020 · 7 comments · Fixed by #88
Closed

Could you please clarify documentation: #83

tobiasherzke opened this issue Oct 30, 2020 · 7 comments · Fixed by #88

Comments

@tobiasherzke
Copy link

Your documentation at https://github.com/marketplace/actions/setup-msys2 reads:

MSYS2 is available by default in windows-latest virtual environment for GitHub Actions. However, the default installation is updated every ~10 days, and it includes some pre-installed packages. As a result, startup time can be up to 10 min. Moreover, MSYS2/MINGW are neither added to the PATH nor available as a custom shell option.

From this, I understand that your github action "Setup MSYS2" is mainly for people who

  • require their msys2 packages to be always up-to-date, i.e. a 10 days old msys package is too old for them.
  • actually experience this 10 minute startup time
  • do not want to add a custom default shell like the following to their .yml file:
    defaults:
      run:
        shell: bash.exe --login -eo pipefail "{0}"

At least this is what I understood and concluded that the Setup MSYS2 action is not for me, because the default msys2 installation seems to work fine so far. Can you confirm this understanding and maybe clarify your documentation?

Thank you!

@lazka
Copy link
Member

lazka commented Oct 30, 2020

You can also use this action with release: false (yeah, not sure about that naming) to use the system environment, which would gain you caching of packages specified via install: ..., and you could easily switch between the image/fresh environments, handle updates etc.

Thanks for writing this up, as you said it's not very clear.

@tobiasherzke
Copy link
Author

Thanks for pointing me to release: false. It is mentioned only 2 paragraphs below the one I quoted here, and I now remember seeing it, but somehow it did not register that this would be how I could use your action.

@lazka lazka reopened this Oct 30, 2020
@lazka
Copy link
Member

lazka commented Oct 30, 2020

I'll keep this open a bit if you don't mind. So we don't forget to improve the docs.

@tobiasherzke
Copy link
Author

Sure!

@eine
Copy link
Collaborator

eine commented Oct 30, 2020

In fact, I was waiting for actions/runner-images#1648 to be deployed. It was merged a couple of days ago, so it should be done in about a week. There are still reasons to keep using this Action (see actions/runner-images#1572), but docs need to be updated.

@eine
Copy link
Collaborator

eine commented Oct 30, 2020

At least this is what I understood and concluded that the Setup MSYS2 action is not for me, because the default msys2 installation seems to work fine so far.

Partial updates are a not supported use case in MSYS2. Therefore, if you need to install any package which is not already installed in the default MSYS2 installation, you should first pacman -Syu. That's where the 10min overhead can kick in. It is independent from what packages you want to have installed, as it will first update several GBs of preinstalled toolchains.

Conversely, this action ensures that only the minimal packages you need are installed and updated. Plus, as @lazka said, caching is enabled by default if you use install:.

@lazka
Copy link
Member

lazka commented Oct 30, 2020

Partial updates are a not supported use case in MSYS2.

installs should work though, as long as we don't remove those old packages from the server.

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.

3 participants