image: alpine/latest packages: - coreutils - losetup - multipath-tools - procps - py3-requests - xz sources: - "https://gitlab.postmarketos.org/postmarketOS/pmaports.git/" - "https://gitlab.postmarketos.org/postmarketOS/pmbootstrap.git/" - "https://gitlab.postmarketos.org/postmarketOS/build.postmarketos.org.git/" environment: BPO_TOKEN_FILE: "/home/build/.token" BPO_API_HOST: https://build.postmarketos.org BPO_JOB_NAME: get_depends secrets: - 482975ec-22f7-49fd-9b54-486b0b1947c3 triggers: - action: webhook condition: failure url: https://build.postmarketos.org/api/public/update-job-status tasks: - bpo_setup: | export BPO_JOB_ID="$JOB_ID" git -C pmbootstrap checkout master # Switch branch and release channel mkdir -p ~/.config ( echo "[pmbootstrap]" echo "is_default_channel = False" ) > ~/.config/pmbootstrap_v3.cfg git -C pmaports checkout master sudo ln -s "$PWD"/pmbootstrap/pmbootstrap.py /usr/bin/pmbootstrap yes "" | pmbootstrap --aports=$PWD/pmaports -q init sudo modprobe binfmt_misc sudo mount -t binfmt_misc none /proc/sys/fs/binfmt_misc branch="$(git -C pmaports rev-parse --abbrev-ref HEAD)" if [ "$branch" != master ]; then echo "ERROR: pmbootstrap switched to the wrong branch: $branch" exit 1 fi # Put apk cache into tmpfs to use less disk space (pma#1623) sudo mkdir -p /mnt/tmpfs-for-apks sudo mount -t tmpfs -o size=1500M tmpfs /mnt/tmpfs-for-apks WORK="$(pmbootstrap config work)" for arch in x86_64 aarch64 armv7 armhf x86 riscv64; do mkdir -p /mnt/tmpfs-for-apks/cache_apk_"$arch" sudo rm -rf "$WORK"/cache_apk_"$arch" ln -s /mnt/tmpfs-for-apks/cache_apk_"$arch" "$WORK" done - set_repos_x86_64: | export BPO_JOB_ID="$JOB_ID" pmbootstrap config mirrors.alpine http://dl-cdn.alpinelinux.org/alpine/ pmbootstrap config mirrors.pmaports https://mirror.postmarketos.org/postmarketos/ pmbootstrap config mirrors.systemd https://mirror.postmarketos.org/postmarketos/extra-repos/systemd/ - master_x86_64: | export BPO_JOB_ID="$JOB_ID" export ARCH=x86_64 export JSON="depends.$ARCH.json" # Get systemd packages too pmbootstrap config systemd always pmbootstrap \ \ --aports=$PWD/pmaports \ repo_missing --built --arch "$ARCH" \ > "$JSON" cat "$JSON" - set_repos_aarch64: | export BPO_JOB_ID="$JOB_ID" pmbootstrap config mirrors.alpine http://dl-cdn.alpinelinux.org/alpine/ pmbootstrap config mirrors.pmaports https://mirror.postmarketos.org/postmarketos/ pmbootstrap config mirrors.systemd none - master_aarch64: | export BPO_JOB_ID="$JOB_ID" export ARCH=aarch64 export JSON="depends.$ARCH.json" # Get systemd packages too pmbootstrap config systemd always pmbootstrap \ \ --aports=$PWD/pmaports \ repo_missing --built --arch "$ARCH" \ > "$JSON" cat "$JSON" - set_repos_armv7: | export BPO_JOB_ID="$JOB_ID" pmbootstrap config mirrors.alpine http://dl-cdn.alpinelinux.org/alpine/ pmbootstrap config mirrors.pmaports https://mirror.postmarketos.org/postmarketos/ pmbootstrap config mirrors.systemd none - master_armv7: | export BPO_JOB_ID="$JOB_ID" export ARCH=armv7 export JSON="depends.$ARCH.json" # Get systemd packages too pmbootstrap config systemd always pmbootstrap \ \ --aports=$PWD/pmaports \ repo_missing --built --arch "$ARCH" \ > "$JSON" cat "$JSON" - set_repos_armhf: | export BPO_JOB_ID="$JOB_ID" pmbootstrap config mirrors.alpine http://dl-cdn.alpinelinux.org/alpine/ pmbootstrap config mirrors.pmaports https://mirror.postmarketos.org/postmarketos/ pmbootstrap config mirrors.systemd none - master_armhf: | export BPO_JOB_ID="$JOB_ID" export ARCH=armhf export JSON="depends.$ARCH.json" # Get systemd packages too pmbootstrap config systemd always pmbootstrap \ \ --aports=$PWD/pmaports \ repo_missing --built --arch "$ARCH" \ > "$JSON" cat "$JSON" - set_repos_x86: | export BPO_JOB_ID="$JOB_ID" pmbootstrap config mirrors.alpine http://dl-cdn.alpinelinux.org/alpine/ pmbootstrap config mirrors.pmaports https://mirror.postmarketos.org/postmarketos/ pmbootstrap config mirrors.systemd none - master_x86: | export BPO_JOB_ID="$JOB_ID" export ARCH=x86 export JSON="depends.$ARCH.json" # Get systemd packages too pmbootstrap config systemd always pmbootstrap \ \ --aports=$PWD/pmaports \ repo_missing --built --arch "$ARCH" \ > "$JSON" cat "$JSON" - set_repos_riscv64: | export BPO_JOB_ID="$JOB_ID" pmbootstrap config mirrors.alpine http://dl-cdn.alpinelinux.org/alpine/ pmbootstrap config mirrors.pmaports https://mirror.postmarketos.org/postmarketos/ pmbootstrap config mirrors.systemd none - master_riscv64: | export BPO_JOB_ID="$JOB_ID" export ARCH=riscv64 export JSON="depends.$ARCH.json" # Get systemd packages too pmbootstrap config systemd always pmbootstrap \ \ --aports=$PWD/pmaports \ repo_missing --built --arch "$ARCH" \ > "$JSON" cat "$JSON" - submit: | export BPO_JOB_ID="$JOB_ID" export BPO_API_ENDPOINT="get-depends" export BPO_ARCH="" export BPO_BRANCH=master export BPO_DEVICE="" export BPO_PAYLOAD_FILES="$(ls -1 depends.*.json)" export BPO_PAYLOAD_FILES_PREVIOUS="" export BPO_PAYLOAD_IS_JSON="0" export BPO_PKGNAME="" export BPO_SPLITREPO="" export BPO_UI="" export BPO_VERSION="" exec build.postmarketos.org/helpers/submit.py