lineageos4microg / docker-lineage-cicd

Docker microservice for LineageOS Continuous Integration and Continous Deployment
https://hub.docker.com/r/lineageos4microg/docker-lineage-cicd
GNU General Public License v3.0
480 stars 189 forks source link

Pixel 3 family devices are not building #627

Closed petefoth closed 1 month ago

petefoth commented 1 month ago

Builds are failing for the following Pixel 3 family devices: blueline, bonito, crosshatch, sargo

We have not managed to build successfully for these devices since March. In the time there have been two major changes:

  1. The QPRS changes which broke upstream builds
  2. We implemented the fix for #588 in this commit Use mka otaimage bacon: see if we hit the posix spawn error and PR #601

Upstream are building successfully for these devices, so it's not 1. Upstream build using brunch rather than mka ... - maybe we need to do that

petefoth commented 1 month ago

Possible fix: change the command in this line in src/build.sh from mka "${jobs_arg[@]}" otapackage bacon to brunch "${jobs_arg[@]}" $codename

But brunch just calls mka bacon, so we're likely to hit #588 again

Alternatively change to mka "${jobs_arg[@]}" target-files-package bacon

petefoth commented 1 month ago

Created branches for each possible fix

petefoth commented 1 month ago

Try using the pf-use-target-files-package branch

screen -S l4mDockerBuild

docker run \
  -v "/srv/src:/srv/src" \
  -v "/srv/zips:/srv/zips" \
  -v "/srv/logs:/srv/logs" \
  -v "/srv/cache:/srv/ccache" \
  -v "/srv/keys:/srv/keys" \
  -v "/srv/tmp:/srv/tmp" \
  -v "/srv/local_manifests:/srv/local_manifests" \
  -v "/srv/userscripts:/srv/userscripts" \
  -e "BRANCH_NAME=lineage-21.0" \
  -e "WITH_GMS=true" \
  -e "RELEASE_TYPE=4microg-UNOFFICIAL" \
  -e "SIGN_BUILDS=true" \
  -e "CLEAN_AFTER_BUILD=false" \
  -e "SIGNATURE_SPOOFING=no" \
  -e "INCLUDE_PROPRIETARY=true" \
  -e "DEVICE_LIST=bonito" \
  lineageos4microg/docker-lineage-cicd:pf-use-target-files-package

docker run \ -v "/srv/src:/srv/src" \ -v "/srv/zips:/srv/zips" \ -v "/srv/logs:/srv/logs" \ -v "/srv/cache:/srv/ccache" \ -v "/srv/keys:/srv/keys" \ -v "/srv/tmp:/srv/tmp" \ -v "/srv/local_manifests:/srv/local_manifests" \ -v "/srv/userscripts:/srv/userscripts" \ -e "CALL_REPO_SYNC=false \ -e "CALL_REPO_INIT=false \ -e "BRANCH_NAME=lineage-21.0" \ -e "WITH_GMS=true" \ -e "RELEASE_TYPE=4microg-UNOFFICIAL" \ -e "SIGN_BUILDS=true" \ -e "CLEAN_AFTER_BUILD=false" \ -e "SIGNATURE_SPOOFING=no" \ -e "INCLUDE_PROPRIETARY=true" \ -e "DEVICE_LIST=bonito" \ lineageos4microg/docker-lineage-cicd:pf-use-brunch-1

- that worked too - no sign of the `posix spawn` error. Try building `pdx203`, which is where the original error occurred: no, failed with some other error -probably because I didn't clean & repo sync

FAILED: out/target/product/pdx203/obj/ETC/build-manifest_intermediates/build-manifest.xml /bin/bash -c "(mkdir -p out/target/product/pdx203/obj/ETC/build-manifestintermediates/ ) && (python3 .repo/repo/repo manifest -o - -r | grep -Ev \"proprietary\" > out/target/product/pdx203/obj/ETC/build-manifest_intermediates/build-manifest.xml )" Traceback (most recent call last): File "/srv/src/LINEAGE_21_0/.repo/repo/git_command.py", line 460, in _RunCommand p = subprocess.Popen( ^^^^^^^^^^^^^^^^^ File "internal/python3.11/subprocess.py", line 1026, in init File "internal/python3.11/subprocess.py", line 1950, in _execute_child FileNotFoundError: [Errno 2] No such file or directory: '/srv/src/LINEAGE_21_0/vendor/xiaomi/miatoll'


- try with `MAKE_IMG_ZIP_FILE=true` - failed
`ValueError: out/target/product/bonito/obj/PACKAGING/target_files_intermediates/lineage_bonito-target_files-eng.root.zip is not exist`
- OK try with `pf-use-target-files-package` branch & `MAKE_IMG_ZIP_FILE=true`: same error. Filename is actually
`lineage_bonito-target_files.zip`. We need to make the logic flexible in `src/build.sh` (and fix #620 by doing so)
eg. 

infile=$(find "$sourcedir" -name "lineage$codename-target_files*.zip") if [ -z "$infile" ]; then echo ">> [$(date)] $infile does not exist" | tee -a "$DEBUG_LOG" else img_zip_file="lineage-$los_ver-$builddate-$RELEASE_TYPE-$codename-img.zip" img_from_target_files "$infile" "$img_zip_file" &>> "$DEBUG_LOG"

move img_zip_file to the zips directory

mv "$img_zip_file" "$ZIP_DIR/$zipsubdir/" &>> "$DEBUG_LOG" files_to_hash+=( "$img_zip_file" ) fi

petefoth commented 1 month ago

All these devices now have 21.0 builds. I'll close the defect when the working branch (pf-use-target-files-package ) is megred to master (after a bit more testing 😄 )

mddvul22 commented 1 month ago

Thank you!