Please welcome a new way to build Geany and Geany-Plugins for Windows in the CI.
What's in here:
- the workflow job to checkout Geany-Plugins, Geany and Infrastructure repositories
- use the supporting scripts in https://github.com/geany/infrastructure/tree/add_ci_builders/builders to
- build a Docker image with a full MSYS2 installation (or pull the image from the Geany Docker registry if available)
- use this Docker image to:
- build Geany and create a release-like installer for it as build dependency for the G-P build (or use cache if available)
- install Geany from the previously built Geany installer
- build Geany-Plugins and create and test an installer
- store the Geany and Geany-Plugins installer as artifact on Github
Mostly all of the work is done in the builder scripts on https://github.com/geany/infrastructure/tree/add_ci_builders/builders.
Unfortunately, it grew more than than expected in terms of amount of code.
I tried to document at least the basics so anyone else than me will be available to get an idea what is happening.
Let me know if it worked :).
There is a difference to the Linux CI build which more or less aims at using a rather old setup to ensure backwards compability.
The Mingw-w64 build instead always pulls the latest available packages from the MSYS2 repositories.
I think this is OK as this is also what we do on releases and since we bundle all dependencies into the installer (for release builds as well as for CI builds), the result should be consistent.
Best of all: during the CI build Windows installers are created for Geany and Geany-Plugins and they are stored as artifacts and can be downloaded later on (up to 30 days).
TODO:
- this branch needs a bit more testing with this PR
- we need to merge the PR XXX first
- for now, the necessary Docker image was uploaded to https://github.com/geany/infrastructure/pkgs/container/geany-mingw64-ci by me manually. Basically we could push the image also from the CI job but I'm hesitating to allow this because of the risks it offers to malicious users. Maybe I'll add a separate job in the infrastructure repository later to build and push the image there and restrict this job to admins
You can view, comment on, or merge this pull request online at:
https://github.com/geany/geany-plugins/pull/1201
-- Commit Summary --
* CI: Add Windows build
* CI: Add Windows build
* CI: Add Windows build
* CI: Add Windows build
* CI: Add Windows build
* CI: Add Windows build
* CI: Add Windows build
* CI: Add Windows build
* CI: Add Windows build
* CI: Add Windows build
* CI: Add Windows build
* CI: Add Windows build
* CI: Add Windows build
* CI: Add Windows build
* CI: Add Windows build
* CI: Add Windows build
* CI: Add Windows build
* CI: Add Windows build
* CI: Add Windows build
* CI: Add Windows build
* CI: Add Windows build
* CI: Add Windows build
* CI: Add Windows build
* CI: Add Windows build
* CI: Add Windows build
* CI: Add Windows build
* CI: Add Windows build
* CI: Add Windows build
* CI: Add Windows build
* CI: Add Windows build
* CI: Add Windows build
* CI: Add Windows build
* CI: Add Windows build
* CI: Add Windows build
* CI: Add Windows build
* CI: Add Windows build
* Fix g-p source path
* CI: Add Windows build
* CI: Add Windows build
* CI: Add Windows build
-- File Changes --
M .github/workflows/build.yml (140)
-- Patch Links --
https://github.com/geany/geany-plugins/pull/1201.patchhttps://github.com/geany/geany-plugins/pull/1201.diff
--
Reply to this email directly or view it on GitHub:
https://github.com/geany/geany-plugins/pull/1201
You are receiving this because you are subscribed to this thread.
Message ID: <geany/geany-plugins/pull/1201(a)github.com>
This is a followup of #2630 to fully port the `scripts/create_py_tags.py` script for generating tags for the Python standard library to Python 3.
While continuing on @claudep's work, I noticed plain porting is harder than to more or less rewrite the script. Now the script works by fully importing the modules, if possible, to use Python's `inspect.Signature` API to extract symbols. If this is not possible, the existing regular expression based parser is used as fallback.
Deprecated modules are ignored completely as well as a couple of special modules like the included Idle IDE and executable modules in general.
I'm using the resulting tags file since a few weeks and it feels fine, much better than before especially because of the better extracted argument lists of functions and methods.
You can view, comment on, or merge this pull request online at:
https://github.com/geany/geany/pull/3039
-- Commit Summary --
* Refs #2615 - Convert create_py_tags.py to Python 3
* Rewrite Python standard library tags creation script for Python 3
-- File Changes --
M data/tags/std.py.tags (27660)
M scripts/create_py_tags.py (486)
-- Patch Links --
https://github.com/geany/geany/pull/3039.patchhttps://github.com/geany/geany/pull/3039.diff
--
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/geany/geany/pull/3039
Related to #2615.
I don't know how good the newly generated tags are, my PHP knowledge is basically non-existent anymore :). At least, the diff looks like some were added, removed and changed, some keep even unchanged.
You can view, comment on, or merge this pull request online at:
https://github.com/geany/geany/pull/3488
-- Commit Summary --
* Port create_php_tags to Python3 and generate new PHP tags file
-- File Changes --
M data/tags/std.php.tags (10332)
M scripts/create_php_tags.py (27)
-- Patch Links --
https://github.com/geany/geany/pull/3488.patchhttps://github.com/geany/geany/pull/3488.diff
--
Reply to this email directly or view it on GitHub:
https://github.com/geany/geany/pull/3488
You are receiving this because you are subscribed to this thread.
Message ID: <geany/geany/pull/3488(a)github.com>
It's inconvenient to build and run a C/C++ program by clicking on both the button "build" and the button "run". Many other IDEs, for example, Code::blocks and Dev-C++, provide a "build and run" botton in their toolbars. Why not add a "compile and run" or "build and run" button to the toolbar of Geany?
--
Reply to this email directly or view it on GitHub:
https://github.com/geany/geany/issues/3477
You are receiving this because you are subscribed to this thread.
Message ID: <geany/geany/issues/3477(a)github.com>
At times, I'm working on a project with a large number of files open. As the project has special needs for building and running, I've configure the project's Build properties accordingly.
Now, regularly I have do a quick edit in another program, and run it, but can't because it has other 'Build' requirements.
This presents a hazardous situation: If I close all files (to run the single one), I automatically clear the project file of the large project I'm working on. So I need to first close the project, then re-open the single file.
I see the following solutions: either
- Allow geany to work on several projects simultaneously (would be great)
- When 'Close'ing all files if a project is active (or even when closing just one file), WARN the user that this will modify the project's file list too
- When a new file is opened, ask if it is to be included into the project, else use the default Build Commands.
The above scenarios happened to me 3 times over 2 days. Of course this could be an indication I'm getting to old to do this...
John
--
Reply to this email directly or view it on GitHub:
https://github.com/geany/geany/issues/3505
You are receiving this because you are subscribed to this thread.
Message ID: <geany/geany/issues/3505(a)github.com>
The CI was awaiting a manual approval to run, approved, lets see.
Ideally needs someone who isn't the author to test it, nothing personal, but we all know how badly we test our own software :-)
--
Reply to this email directly or view it on GitHub:
https://github.com/geany/geany-plugins/pull/1221#issuecomment-1555406533
You are receiving this because you are subscribed to this thread.
Message ID: <geany/geany-plugins/pull/1221/c1555406533(a)github.com>
To me it seems like a good one, although I am not sure of its "possibleness" nor whether this is the right place for such innovation.
The idea is to implement a new custom text encoding, the HEX encoding. It would encode each byte with its hexadecimal representation, using the 2 ASCII characters from the chosen font. Do others think this would be doable and to what extent?
EDIT: I will be happy to implement it and send a PR. For that I will need someone's guidance into the source code, to make things easier...
--
Reply to this email directly or view it on GitHub:
https://github.com/geany/geany/discussions/3501
You are receiving this because you are subscribed to this thread.
Message ID: <geany/geany/repo-discussions/3501(a)github.com>