-
Notifications
You must be signed in to change notification settings - Fork 1
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
Build Script Improvements and Update Automation #8
base: master
Are you sure you want to change the base?
Conversation
Started test build 149656 |
Build 149656 successful
|
Started test build 149657 |
Build 149657 successful
|
I'll let @FelicianoTech figure out whether this is acceptable. In my opinion, this should be worked on (or at least attempted to be worked on) upstream so that the package keeps being built from source. I should also note that the commits don't seem to be organised correctly, the package should still be building after each commit... |
53b628c
to
f84a3d8
Compare
Started test build 149691 |
f84a3d8
to
5c1b5ae
Compare
Seems like my changes didn't get correctly applied, force pushed so they are in the correct order, as well as removed some bad commits. |
Build 149691 failed |
Started test build 149694 |
I'm going to mark this as a draft, I may be able to get this to build from source after all. |
Build 149694 successful
|
5c1b5ae
to
0b9b7d2
Compare
Started test build 149716 |
0b9b7d2
to
6baa9e6
Compare
Build 149716 failed |
Started test build 149719 |
6baa9e6
to
237b210
Compare
Build 149719 failed |
bot, build |
Queued test build for tech.feliciano.pocket-casts. |
Started test build 149722 |
Okay, round two. I have figured out how to get source builds working again, and have bumped every dependency I could to the newest that is supported (FreeDesktop, Node). Additionally I have a solution for managing automatic updates. Normally if you aren't building a node app you can use flatpak-external-data-checker and it will bump the manifest and metainfo automatically (the metainfo is handy if there isn't anything upstream, mainly just adds a placeholder version tag though) With node however we need to generate the NPM cache so the build works while offline. I implemented a Github Actions workflow that will update the generated-sources.json alongside any external-data-checker checks. The external data checker will then create a PR for the update (if there is one) which gets test built by CI and then can be merged by maintainers if it works correctly. Let me know if you'd like any changes. I'm pretty sure the commits can be built cleanly as you had mentioned you'd like it to be that way. |
Some additional context on the Github Actions workflow: It uses the docker based action provided by flathub, so external dependency-wise that is the only one, actions/checkout is maintained by Github and doesn't pose any issues in terms of maintainability. Essentially the workflow checks with the external data checker if there is an update in an edit only mode, I then use git to check if there is any changes to files. If there is, we get the latest upstream tagged release's From there the git repository has the manifest file reset and the external data checker is called again in merge mode (which opens a PR with changes) that will open the PR with the manifest updates and the Hopefully that helps outline what the workflow does. |
Build 149727 successful
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I have no idea about the implications of using GitHub actions, it's something that "somebody" (you or I, or anybody else that might be reading this) would need to research.
I'm happy to commit the rest of the commits after the review changes are applied, if you want to put the GitHub actions changes in a separate PR.
I can do that. I have tested it on my fork already and it seems to work well. See here for a PR example: ProjectSynchro#3 And See the worflow run here: https://github.com/ProjectSynchro/tech.feliciano.pocket-casts/actions/runs/11058580552/job/30724922447 |
I've reordered and merged most of the necessary changes for the build in #10 You can remove The appdata and desktop file changes will definitely have to go through upstream, rather than the very large changes in this PR. |
Apologies, got swamped with work. I'll clean this up to just include the workflow commits and changes. |
8c861ab
to
9e13b25
Compare
Started test build 152945 |
This stops build directories and files from accidentally being staged.
This prevents any updates to the manifest via the external data checker due to the need to update dependencies externally.
Not quite sure why Github closed this, oh well. I'll set it as a draft for now. |
Build 152945 failed |
Started test build 152956 |
This should make this a one shot script, assuming flatpak and flatpak-builder are installed.
This will check for dependencies and generate an updated generated-sources.json.
Build 152956 successful
|
…cation updates. This uses flatpak-external-data-checker itself to update the manifest, as well as node dependencies using flatpak-node-generator.
Ready to go now. |
Started test build 152965 |
Build 152965 successful
|
Discussion is here: |
Updates the application to version 0.8.0, and the FreeDesktop runtime to 24.08.
The manifest has been updated to consume upstream deb packages, enable support for Wayland and uses the external data checker for updates.
I also added an updated metainfo which includes new version information, as well as other information related to the project.
This changes this flatpak to be built from existing binaries. This is mainly due to the difficulty/feasibility behind building using electron-forge offline as well as the lack of support for v3 npm lockfiles in flatpak-builder-tools.
Currently this isn't possible with my testing (at least with the current flatpak tools) but if someone figures this out going back to source building is the way to go. Due to the fact that both AMD64 and ARM64 debian packages are available upstream, nobody loses out on access to this application in the meantime however.
Let me know if you'd like any changes.
Obsoletes #7