-
Notifications
You must be signed in to change notification settings - Fork 115
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
ci: add PKGBUILD scripts and GitHub Actions workflow #20
Conversation
Hm, I don't quite understand it either. Isn't there an "export" missing for MINGW_INSTALLS?
Looks like it, but I don't know much about compilers. I can only say that 32 bit things are seeing less testing nowadays with decreased usage.. |
@umarcor, Good work. An automatic build will be great. |
@lazka, in a new commit, I added a simpler MWE. So, it's a "regular" build of https://github.com/umarcor/gtkwave/blob/ci-msys2/MSYS2/gtk3/PKGBUILD with
I don't think it is required. MINGW_INSTALLS seems to be properly detected by makepkg-mingw. Anyway, I tested it with an explicit
This seems not to be an issue with 32 bit things, but with gtk2 and the latest GCC. In fact, in the latest runs, MINGW32 worked but MINGW64 failed: https://github.com/umarcor/gtkwave/runs/754002195?check_suite_focus=true. This is different from previous runs, where either both failed or MINGW32 failed but MINGW64 failed. That's why I think it might be some regression in the compiler, which is triggered inconsistently. |
@umarcor, If you finished the nightly build script can you please give the path where output zip will be store. Eagerly looking for it. |
@tbzcode I've been really busy lately, but you can have a look at https://github.com/umarcor/gtkwave/releases/tag/nightly and https://github.com/umarcor/gtkwave/actions/runs/155017826. I will update this PR accordingly, as soon as I have some time to do it properly. Note that |
fa3292a
to
74943bc
Compare
@gtkwave, I think this is ready to merge. Not perfect, but good enough. Let me be specific:
@tbzcode, I tried
|
ping @gtkwave In the last run, all jobs were successful: https://github.com/umarcor/gtkwave/runs/889604982?check_suite_focus=true |
Thanks @gtkwave! Note that, for the full procedure to work:
The tag can point to any commit initially, because it will be updated after each execution of the workflow. I suggest not to write any title or description in the pre-release, so that it shows the body of the latest commit. EDIT It seems that the run after merging this was stuck. You can either restart the workflow, or wait for it to be executed again when scheduled. |
I just saw that things aren't quite working right (see below).
I haven't used git outside of this project or messed with any of these workflows so if you can give me the right sequence of commands, that would help.
Thanks,
-Tony
Run failed for master (e049b93)
Repository: gtkwave/gtkwave
Workflow: build
Duration: 16 minutes and 50.0 seconds
Finished: 2020-07-21 00:44:00 UTC
View results
Jobs:
msys2 (MINGW32, i686, 2) failed (1 annotation)
msys2 (MINGW32, i686, 3) succeeded (0 annotations)
msys2 (MINGW64, x86_64, 2) failed (1 annotation)
msys2 (MINGW64, x86_64, 3) succeeded (0 annotations)
nightly failed (0 annotations)
—
You are receiving this because this workflow ran on your branch.
Manage your GitHub Actions notifications here.
On Monday, July 20, 2020, 04:42:19 PM EDT, umarcor <notifications@github.com> wrote:
Thanks @gtkwave! Note that, for the full procedure to work:
you NEED to create a tag, push it to the repo and create a pre-release from it (NOT a release). I picked name 'nightly', but it can be changed.
The tag can point to any commit initially, because it will be updated after each execution of the workflow. I suggest not to write any title or description in the pre-release, so that it shows the body of the latest commit.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or unsubscribe.
|
They are working as expected; not perfect, but well enough:
The error in the last (fifth) job is the one we can fix. It takes all the artifacts (2, 3 or 4, depending on the number of successful jobs) and it tries to upload them as assets of an existing pre-release. It is currently failing because pre-release "nightly" does NOT exist: https://github.com/gtkwave/gtkwave/runs/892261733?check_suite_focus=true#step:4:22
Sure!
git tag nightly
The result will be similar to https://github.com/umarcor/gtkwave/releases From there on, the fifth job will work and workflow runs will be successful, regardless of gtk2 builds failing randomly. Latest successful artifacts/assets will be gathered in https://github.com/gtkwave/gtkwave/releases/tag/nightly. |
@umarcor , Great work. Thanks for your efforts. After extracting the package gtkwave_gtk3_mingw64_standalone.tgz, the I am not Linux guy, so I don't know significance of these. But they are not required for Windows.
This is applicable to both gtk2 and gtk3 builds. |
@tbzcode, those I don't know what are
Currently, there are no standalone packages for gtk2. Do you have the list of files for gtk2 builds? |
@gtkwave, you created the tag and the pre-release properly 🎉: https://github.com/gtkwave/gtkwave/releases This time 3/4 jobs were successful: https://github.com/gtkwave/gtkwave/actions/runs/177661749 However, the fifth job was skipped. That is CORRECT. It is because the workflow was triggered by the tag. However, the last job is only executed when changes are pushed to branch Hence, the artifacts will be pushed to the pre-relase next time. Optionally, you can restart the run from yesterday: https://github.com/gtkwave/gtkwave/actions/runs/176410626 |
I think they will not be useful in windows binary distribution. So better to remove them in my opinion.
Yes. I have list of files for gtk2 also. I have added the gtk2 list in my 18# Comment Also you can check windows distribution package in my Fork release for reference. |
As commented in #18, this is work in progress to provide nightly built packages of GtkWave (gtk2 and gtk3) for MSYS2 (MINGW32 and MINGW64). The scheme is as follows:
Pending tasks:
Further notes:
The second row of stepIt was a PEBCAK,Install dependencies
in the workflow (L41) should NOT be required, since dependencies are explicitly defined in the PKGBUILD files. However, pacman seems to have issues with installing it during the call tomakepkg-mingw
(L47): https://github.com/umarcor/gtkwave/runs/748479855?check_suite_focus=true#step:5:140. @lazka, is this a legit bug or a PEBCAK?--noconfirm
was missing.gtk3 builds are successful (both on MINGW32 and on MINGW64). However, gtk2 builds fail inconsistently. For example, in https://github.com/umarcor/gtkwave/actions/runs/128204639 the MINGW32 build failed, but the MINGW64 build was successful. However, in https://github.com/umarcor/gtkwave/actions/runs/128193194 both failed. In all cases, the failure is produced when compiling
include/gtk-2.0/gtk/gtktypeutils.h
:This is surprising because gtkwave with gtk2 is already an MSYS2 package, and pre-built binaries are available for both MINGW32 and MINGW64. However, those binaries were built in february (see https://packages.msys2.org/search?t=binpkg&q=gtkwave). gtk2 packages were built in july last year: https://packages.msys2.org/search?t=binpkg&q=gtk2. Since MSYS2 is a rolling release, this might be a regression in the compiler. @lazka, which is the recommended procedure?
Installing cmake explicitly (as suggested in https://github.com/gtkwave/gtkwave/blob/master/gtkwave3-gtk3/README#L174) seems not to be required. Either it is a "light" dependency, or it is installed anyway as a dependency of some other package (base-devel? toolchain?). @gtkwave, is it optional?
The current proposal replaces the "Steps to build gtkwave3-gtk3 with MSYS2 on Windows10" procedure from #18:640177835. However, "Steps to create gtkwave3-gtk3 distribution zip" is not implemented yet. I'd like to compare the "manual" procedure with https://github.com/achadwick/styrene (or some other reference from https://www.msys2.org/wiki/Distributing/) and/or https://www.msys2.org/wiki/Using-packages/#finding-dependencies-of-a-package.
/cc @e-tabrez