mondrian: build both variant
All checks were successful
ci/woodpecker/push/sync Pipeline was successful

This commit is contained in:
nyyu 2023-01-07 01:08:26 +01:00
parent e9bf2125fd
commit 6309b72994
11 changed files with 214 additions and 204 deletions

View File

@ -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

5
.vscode/settings.json vendored Normal file
View File

@ -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"
}
}

View File

@ -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

View File

@ -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

View File

@ -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

46
.woodpecker/.copy.yml Normal file
View File

@ -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

25
.woodpecker/.final.yml Normal file
View File

@ -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

28
.woodpecker/.publish.yml Normal file
View File

@ -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

31
.woodpecker/.sync.yml Normal file
View File

@ -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

View File

@ -13,4 +13,5 @@
<project name="TheMuppets/proprietary_vendor_samsung" path="vendor/samsung" remote="github" revision="lineage-18.1" /> <project name="TheMuppets/proprietary_vendor_samsung" path="vendor/samsung" remote="github" revision="lineage-18.1" />
<remove-project name="platform/prebuilts/clang/host/darwin-x86" /> <remove-project name="platform/prebuilts/clang/host/darwin-x86" />
<remove-project name="prebuilts/go/darwin-x86" />
</manifest> </manifest>

14
sync.sh
View File

@ -6,10 +6,15 @@ if [[ -z "$CI_WORKSPACE" ]]; then
fi fi
TOPDIR=$(pwd) TOPDIR=$(pwd)
changelog=${TOPDIR}/changelog-${device}-${version}.md changelog=${TOPDIR}/changelog-mondrian-${version}.md
declare -A before 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 for i in "${tmp[@]}"; do
IFS=: read -r folder commit <<<"${i}" IFS=: read -r folder commit <<<"${i}"
before[${folder}]=${commit} before[${folder}]=${commit}
@ -17,9 +22,10 @@ done
repo sync -q -c -j 6 --fail-fast --force-sync --no-tags 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)"')) tmp=($(repo forall -c 'echo "${REPO_PATH}:$(git rev-parse --short HEAD)"'))
echo "${tmp[@]}" > gitstate-mondrian-${version}.tmp.txt
for i in "${tmp[@]}"; do for i in "${tmp[@]}"; do
IFS=: read -r folder commit <<<"${i}" IFS=: read -r folder commit <<<"${i}"
if [[ "${folder}" != lineage/* && "${before[${folder}]}" != "${commit}" ]]; then if [[ "${folder}" != lineage/* && "${before[${folder}]}" != "${commit}" ]]; then
@ -35,9 +41,9 @@ for i in "${tmp[@]}"; do
cd "${TOPDIR}" || continue cd "${TOPDIR}" || continue
fi fi
done done
echo -e "\n" >>"${changelog}"
cat "${changelog}" cat "${changelog}"
cd packages/apps/LineageParts cd packages/apps/LineageParts
git am $CI_WORKSPACE/fix-always-enable-taskbar-toggle.patch || git am --abort git am $CI_WORKSPACE/fix-always-enable-taskbar-toggle.patch || git am --abort
cd $TOPDIR cd $TOPDIR