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

Proposal: Move YAIL generation for Android APK/AAB builds to the buildserver #3415

Open
pavi2410 opened this issue Mar 14, 2025 · 4 comments
Assignees

Comments

@pavi2410
Copy link
Member

pavi2410 commented Mar 14, 2025

Background

I am working on Ecosystem CI at Kodular - that is a CI job that builds real world user-submitted AIA files to test any changes against those AIA files to ensure nothing breaks. I wrote an Ant target to build APKs and AABs in parallel for all AIA files present. While running it, I am stuck with the error - "No user code exists" which occurs when no YAIL file for screens are present inside the AIA file. The YAIL files are compiled in the frontend, and exported AIA files do not include the YAIL files. To fix that, I have to include a YAIL generation step in the Ant build script for each of the AIA files.

Issue

The exported AIAs do not contain the YAIL files, and the buildserver can't directly build those AIA files, even when they are perfectly valid and compliant! Plus, those exported AIA can't be built locally via CLI which could be useful for debugging user AIA files without running the frontend which requires manual labour.

Screenshot attached showing that the YAIL files are missing in the exported AIA:
Image

Solution

  1. Keep YAIL generation in the frontend for REPL usages. No changes in the frontend.
  2. Generate YAIL files if missing on the buildserver before bailing out.

Notes

Blockly JS file and its dependencies are needed to be copied to the buildserver. Buildserver now requires NodeJS to be able to run JS script which runs the YAIL generator. Blockly must be run in headless mode.

Status

I am working on a small JS script to test the headless YAIL generator against Kodular sources.

@pavi2410 pavi2410 self-assigned this Mar 14, 2025
@ewpatton
Copy link
Member

I'd rather we just have a script in the sources that we can call. Whether that ends up being called by some projects in the buildserver is fine, but I don't want to place an additional dependency on the buildserver infrastructure.

@ewpatton
Copy link
Member

I've been working on something similar for our Aptly project, so it would be good if we can coordinate on this @pavi2410. Note that in the latest tests with the Blockly 10 update we do have a way of doing the YAIL generation using headless Firefox.

@yashchhangani
Copy link

I want to contribute in it please assign it to me

@SusanRatiLane
Copy link
Contributor

I want to contribute in it please assign it to me

This is a proposal that is still under discussion. We prefer if you start with issues with our Help Wanted tag: help wanted

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

No branches or pull requests

4 participants