From 6309b729943cd6fa58905ed8eceb217db07d04d0 Mon Sep 17 00:00:00 2001 From: nyyu Date: Sat, 7 Jan 2023 01:08:26 +0100 Subject: [PATCH] mondrian: build both variant --- .drone.yml | 110 -------------------------------- .vscode/settings.json | 5 ++ .woodpecker.yml | 89 -------------------------- .woodpecker/.build-lte.yml | 34 ++++++++++ .woodpecker/.build-wifi.yml | 33 ++++++++++ .woodpecker/.copy.yml | 46 +++++++++++++ .woodpecker/.final.yml | 25 ++++++++ .woodpecker/.publish.yml | 28 ++++++++ .woodpecker/.sync.yml | 31 +++++++++ mondrianlte.xml => mondrian.xml | 3 +- sync.sh | 14 ++-- 11 files changed, 214 insertions(+), 204 deletions(-) delete mode 100644 .drone.yml create mode 100644 .vscode/settings.json delete mode 100644 .woodpecker.yml create mode 100644 .woodpecker/.build-lte.yml create mode 100644 .woodpecker/.build-wifi.yml create mode 100644 .woodpecker/.copy.yml create mode 100644 .woodpecker/.final.yml create mode 100644 .woodpecker/.publish.yml create mode 100644 .woodpecker/.sync.yml rename mondrianlte.xml => mondrian.xml (95%) diff --git a/.drone.yml b/.drone.yml deleted file mode 100644 index 3a83bc9..0000000 --- a/.drone.yml +++ /dev/null @@ -1,110 +0,0 @@ -kind: pipeline -type: docker -name: mondrianwifi - -environment: - device: mondrianwifi - version: 20.0 - -steps: - - name: sync - pull: always - image: docker.nyyu.dev/lineage/android:latest - commands: - - cd /build - - rm -rf .repo/repo - - repo init -u https://github.com/LineageOS-UL/android.git -b lineage-$version - - mkdir -p .repo/local_manifests - - cp $DRONE_WORKSPACE_BASE/$device.xml .repo/local_manifests/roomservice.xml - - bash $DRONE_WORKSPACE_BASE/sync.sh - volumes: - - name: build - path: /build - - name: build - pull: always - image: docker.nyyu.dev/lineage/android:latest - commands: - - cd /build - - bash -c ". build/envsetup.sh && lunch lineage_$device-userdebug && mka bacon -j6" - volumes: - - name: build - path: /build - - name: tools - path: /tools - - name: copy - pull: always - image: docker.nyyu.dev/lineage/android:latest - commands: - - rm -f /http/lineage-$version-*-UNOFFICIAL-$device.zip* - - mv -f /build/out/target/product/$device/lineage-$version-*-UNOFFICIAL-$device.zip* /http/ - - cat /build/changelog-$device-$version.md >> /http/changelog-$device-$version.md - - ls -lh /http/lineage-$version-*-UNOFFICIAL-$device.zip* - volumes: - - name: build - path: /build - - name: http - path: /http - - name: clean - pull: always - image: docker.nyyu.dev/lineage/android:latest - commands: - - rm -f /build/out/target/product/$device/lineage-$version-*-UNOFFICIAL-$device.zip_* /build/out/target/product/$device/lineage_$device-ota-eng.*.zip - - rm -f /build/changelog-$device-$version.md - volumes: - - name: build - path: /build -trigger: - event: - - custom - - cron - -volumes: - - name: http - host: - path: /srv/http/drone - - name: build - host: - path: /media/fast/lineage/lineage-20.0 - - name: tools - host: - path: /media/fast/lineage/tools - -image_pull_secrets: - - dockerconfig ---- -kind: pipeline -type: docker -name: mondrianwifi-publish - -environment: - device: mondrianwifi - version: 20.0 - -steps: - - name: publish - pull: always - image: docker.nyyu.dev/lineage/android:latest - commands: - - mv /http/lineage-$version-*-UNOFFICIAL-$device.zip* /publish/$version/$device/ - - cat /http/changelog-$device-$version.md >> /publish/$version/$device/changelog.md - - rm -f /http/changelog-$device-$version.md - - ls -lh /publish/$version/$device/ - volumes: - - name: http - path: /http - - name: publish - path: /publish -trigger: - event: - - promote - -volumes: - - name: http - host: - path: /srv/http/drone - - name: publish - host: - path: /mnt/android/lineage - -image_pull_secrets: - - dockerconfig diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..738a076 --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,5 @@ +{ + "yaml.schemas": { + "https://raw.githubusercontent.com/woodpecker-ci/woodpecker/master/pipeline/schema/schema.json": "file:///home/nyyu/dev/lineage/build/.woodpecker/.build.yml" + } +} \ No newline at end of file diff --git a/.woodpecker.yml b/.woodpecker.yml deleted file mode 100644 index c72b012..0000000 --- a/.woodpecker.yml +++ /dev/null @@ -1,89 +0,0 @@ -variables: - - &build_vol '/media/fast/lineage/lineage-20.0:/build' - - &tools_vol '/media/fast/lineage/tools:/tools' - - &http_vol '/srv/http/drone:/http' - - &pub_vol '/mnt/android/lineage:/publish' - -matrix: - include: - - device: mondrianlte - version: 20.0 - -pipeline: - sync: - pull: true - image: docker.nyyu.dev/lineage/android - commands: - - HOME=/home/drone - - git config --global user.email 'drone@nyyu.dev' - - git config --global user.name 'drone' - - cd /build - - rm -rf .repo/repo - - repo init -u https://github.com/LineageOS-UL/android.git -b lineage-$version - - mkdir -p .repo/local_manifests - - cp $CI_WORKSPACE/$device.xml .repo/local_manifests/roomservice.xml - - bash $CI_WORKSPACE/sync.sh - volumes: - - *build_vol - when: - event: - - manual - - cron - build: - pull: true - image: docker.nyyu.dev/lineage/android - environment: - - BUILD_HOSTNAME=docker - commands: - - cd /build - - bash -c ". build/envsetup.sh && lunch lineage_$device-userdebug && mka bacon -j6" - volumes: - - *build_vol - - *tools_vol - when: - event: - - manual - - cron - copy: - pull: true - image: alpine - commands: - - rm -f /http/lineage-$version-*-UNOFFICIAL-$device.zip* - - mv -f /build/out/target/product/$device/lineage-$version-*-UNOFFICIAL-$device.zip* /http/ - - cat /build/changelog-$device-$version.md >> /http/changelog-$device-$version.md - - ls -lh /http/lineage-$version-*-UNOFFICIAL-$device.zip* - volumes: - - *build_vol - - *http_vol - when: - event: - - manual - - cron - clean: - pull: true - image: alpine - commands: - - rm -f /build/out/target/product/$device/lineage-$version-*-UNOFFICIAL-$device.zip_* /build/out/target/product/$device/lineage_$device-ota-eng.*.zip - - rm -rf /build/out/target/product/$device/obj/PACKAGING/target_files_intermediates/* - - find /build/out/target/product/$device -type f -name '*.prop' -exec rm -vf {} + - - rm -f /build/changelog-$device-$version.md - volumes: - - *build_vol - when: - event: - - manual - - cron - publish: - pull: true - image: alpine - commands: - - mv /http/lineage-$version-*-UNOFFICIAL-$device.zip* /publish/$version/$device/ - - cat /http/changelog-$device-$version.md >> /publish/$version/$device/changelog.md - - rm -f /http/changelog-$device-$version.md - - ls -lh /publish/$version/$device/ - volumes: - - *http_vol - - *pub_vol - when: - event: - - deployment diff --git a/.woodpecker/.build-lte.yml b/.woodpecker/.build-lte.yml new file mode 100644 index 0000000..c370144 --- /dev/null +++ b/.woodpecker/.build-lte.yml @@ -0,0 +1,34 @@ +variables: + - &build_vol '/media/fast/lineage/lineage-20.0:/build' + - &tools_vol '/media/fast/lineage/tools:/tools' + - &http_vol '/srv/http/drone:/http' + - &pub_vol '/mnt/android/lineage:/publish' + +matrix: + include: + - device: mondrianlte + version: 20.0 + +skip_clone: true + +pipeline: + build: + pull: true + image: docker.nyyu.dev/lineage/android + environment: + - BUILD_HOSTNAME=docker + commands: + - cd /build + - find /build/out/target/product/$device -type f -name '*.prop' -exec rm -vf {} + + - bash -c ". build/envsetup.sh && lunch lineage_$device-userdebug && mka bacon -j6" + volumes: + - *build_vol + - *tools_vol + when: + event: + - manual + - cron + +depends_on: + - sync + - build-wifi \ No newline at end of file diff --git a/.woodpecker/.build-wifi.yml b/.woodpecker/.build-wifi.yml new file mode 100644 index 0000000..6ead6fa --- /dev/null +++ b/.woodpecker/.build-wifi.yml @@ -0,0 +1,33 @@ +variables: + - &build_vol '/media/fast/lineage/lineage-20.0:/build' + - &tools_vol '/media/fast/lineage/tools:/tools' + - &http_vol '/srv/http/drone:/http' + - &pub_vol '/mnt/android/lineage:/publish' + +matrix: + include: + - device: mondrianwifi + version: 20.0 + +skip_clone: true + +pipeline: + build: + pull: true + image: docker.nyyu.dev/lineage/android + environment: + - BUILD_HOSTNAME=docker + commands: + - cd /build + - find /build/out/target/product/$device -type f -name '*.prop' -exec rm -vf {} + + - bash -c ". build/envsetup.sh && lunch lineage_$device-userdebug && mka bacon -j6" + volumes: + - *build_vol + - *tools_vol + when: + event: + - manual + - cron + +depends_on: + - sync \ No newline at end of file diff --git a/.woodpecker/.copy.yml b/.woodpecker/.copy.yml new file mode 100644 index 0000000..c9ee490 --- /dev/null +++ b/.woodpecker/.copy.yml @@ -0,0 +1,46 @@ +variables: + - &build_vol '/media/fast/lineage/lineage-20.0:/build' + - &http_vol '/srv/http/drone:/http' + +matrix: + include: + - device: mondrianwifi + version: 20.0 + - device: mondrianlte + version: 20.0 + +skip_clone: true + +pipeline: + copy: + pull: true + image: alpine + commands: + - rm -f /http/lineage-$version-*-UNOFFICIAL-$device.zip* + - mv -f /build/out/target/product/$device/lineage-$version-*-UNOFFICIAL-$device.zip* /http/ + - cat /build/changelog-mondrian-$version.md >> /http/changelog-$device-$version.md + - ls -lh /http/lineage-$version-*-UNOFFICIAL-$device.zip* + volumes: + - *build_vol + - *http_vol + when: + event: + - manual + - cron + clean: + pull: true + image: alpine + commands: + - rm -f /build/out/target/product/$device/lineage-$version-*-UNOFFICIAL-$device.zip_* /build/out/target/product/$device/lineage_$device-ota-eng.*.zip + - rm -rf /build/out/target/product/$device/obj/PACKAGING/target_files_intermediates/* + - rm -f /build/changelog-$device-$version.md + volumes: + - *build_vol + when: + event: + - manual + - cron + +depends_on: + - build-wifi + - build-lte \ No newline at end of file diff --git a/.woodpecker/.final.yml b/.woodpecker/.final.yml new file mode 100644 index 0000000..709f4f5 --- /dev/null +++ b/.woodpecker/.final.yml @@ -0,0 +1,25 @@ +variables: + - &build_vol '/media/fast/lineage/lineage-20.0:/build' + +matrix: + include: + - device: mondrian + version: 20.0 + +skip_clone: true + +pipeline: + final: + pull: true + image: alpine + commands: + - cd /build + - mv -f gitstate-$device-$version.tmp.txt gitstate-$device-$version.txt + volumes: + - *build_vol + when: + event: + - deployment + +depends_on: + - publish \ No newline at end of file diff --git a/.woodpecker/.publish.yml b/.woodpecker/.publish.yml new file mode 100644 index 0000000..3d0b8ce --- /dev/null +++ b/.woodpecker/.publish.yml @@ -0,0 +1,28 @@ +variables: + - &http_vol '/srv/http/drone:/http' + - &pub_vol '/mnt/android/lineage:/publish' + +matrix: + include: + - device: mondrianwifi + version: 20.0 + - device: mondrianlte + version: 20.0 + +skip_clone: true + +pipeline: + publish: + pull: true + image: alpine + commands: + - mv /http/lineage-$version-*-UNOFFICIAL-$device.zip* /publish/$version/$device/ + - cat /http/changelog-$device-$version.md >> /publish/$version/$device/changelog.md + - rm -f /http/changelog-$device-$version.md + - ls -lh /publish/$version/$device/ + volumes: + - *http_vol + - *pub_vol + when: + event: + - deployment \ No newline at end of file diff --git a/.woodpecker/.sync.yml b/.woodpecker/.sync.yml new file mode 100644 index 0000000..0049939 --- /dev/null +++ b/.woodpecker/.sync.yml @@ -0,0 +1,31 @@ +variables: + - &build_vol '/media/fast/lineage/lineage-20.0:/build' + +matrix: + include: + - device: mondrian + version: 20.0 + +pipeline: + sync: + pull: true + image: docker.nyyu.dev/lineage/android + commands: + - HOME=/home/drone + - git config --global user.email 'drone@nyyu.dev' + - git config --global user.name 'drone' + - cd /build + - rm -rf .repo/repo + - repo init -u https://github.com/LineageOS-UL/android.git -b lineage-$version + - mkdir -p .repo/local_manifests + - cp $CI_WORKSPACE/$device.xml .repo/local_manifests/roomservice.xml + - repo forall -c 'git reset --hard --quiet' || true + - bash $CI_WORKSPACE/sync.sh + environment: + version: '20.0' + volumes: + - *build_vol + when: + event: + - manual + - cron \ No newline at end of file diff --git a/mondrianlte.xml b/mondrian.xml similarity index 95% rename from mondrianlte.xml rename to mondrian.xml index e7038b1..629719e 100644 --- a/mondrianlte.xml +++ b/mondrian.xml @@ -13,4 +13,5 @@ - + + \ No newline at end of file diff --git a/sync.sh b/sync.sh index e176ed1..403c2f8 100644 --- a/sync.sh +++ b/sync.sh @@ -6,10 +6,15 @@ if [[ -z "$CI_WORKSPACE" ]]; then fi TOPDIR=$(pwd) -changelog=${TOPDIR}/changelog-${device}-${version}.md +changelog=${TOPDIR}/changelog-mondrian-${version}.md declare -A before -tmp=($(repo forall -c 'echo "${REPO_PATH}:$(git rev-parse --short HEAD)"')) +if [[ -f gitstate-mondrian-${version}.txt ]] +then + read -a tmp < gitstate-mondrian-${version}.txt +else + tmp=($(repo forall -c 'echo "${REPO_PATH}:$(git rev-parse --short HEAD)"')) +fi for i in "${tmp[@]}"; do IFS=: read -r folder commit <<<"${i}" before[${folder}]=${commit} @@ -17,9 +22,10 @@ done repo sync -q -c -j 6 --fail-fast --force-sync --no-tags -echo -e "# Build $(date '+%Y-%m-%d %H:%M:%S') UTC\n" >>"${changelog}" +echo -e "# Build $(date '+%Y-%m-%d %H:%M:%S %Z')\n" >>"${changelog}" tmp=($(repo forall -c 'echo "${REPO_PATH}:$(git rev-parse --short HEAD)"')) +echo "${tmp[@]}" > gitstate-mondrian-${version}.tmp.txt for i in "${tmp[@]}"; do IFS=: read -r folder commit <<<"${i}" if [[ "${folder}" != lineage/* && "${before[${folder}]}" != "${commit}" ]]; then @@ -35,9 +41,9 @@ for i in "${tmp[@]}"; do cd "${TOPDIR}" || continue fi done -echo -e "\n" >>"${changelog}" cat "${changelog}" + cd packages/apps/LineageParts git am $CI_WORKSPACE/fix-always-enable-taskbar-toggle.patch || git am --abort cd $TOPDIR