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

Github Actions workflow improvments #1227

Open
daegalus opened this issue Jul 31, 2024 · 0 comments
Open

Github Actions workflow improvments #1227

daegalus opened this issue Jul 31, 2024 · 0 comments
Labels
enhancement New feature or request

Comments

@daegalus
Copy link

daegalus commented Jul 31, 2024

I am currently building a custom wine for Affinity products that need some custom patches.

I noticed there could be some improvements made to improve build time. I listed them below. I can work on PRs for them, but I wanted to discuss if we even wanted them in this repo first.

  1. Cache the wine-git and wine-staging pulls. This removes the need to pull them every time.
    1. Example: https://github.com/daegalus/wine-tkg-affinity/blob/c201dcda38173f467f7f1192b9739504a3010d1e/.github/workflows/wine-arch.yml#L25-L36
    2. Your scripts already check if it exists, and updates them appropriately.
  2. Create base images with all the dependencies already installed.
    1. One of the biggest time consuming aspects is downloading and setting up dependencies, even on Arch where it is the fastest.
    2. For all 3 platforms, create a base builder image, that has a script that just installs dependencies and sets them up right. It can piggy back on the deps script or something.
    3. I understand for Ubuntu, it is trickier, as it needs to switch some dependencies between builds of 32bit and 64bit. (I had to do the same on my wine-builder image: https://github.com/daegalus/wine-builder/blob/e59257d02c963bd3c87656b8390af304c4acf4dc/build-wine.sh#L18
    4. This can shave 5-10 mins off each build, and the builder image can be rebuilt once week, or even once a month. Or if there is a security issue, do a workflow dispatch build.

I have done something similar with https://github.com/daegalus/wine-builder which is an image that has all the deps and pre-requisites to build a wine, but skips all the dep downloads as they are in the image. This saves time, and resources.

Let me know if you would like these changes, and I can work on PRs to add them.

@Tk-Glitch Tk-Glitch added the enhancement New feature or request label Aug 8, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants