gltlab-ci: implement target multiple Alpine releases
This commit is contained in:
parent
8d0f7b55ce
commit
6d4cb0f4f1
3 changed files with 40 additions and 33 deletions
|
@ -42,14 +42,19 @@ lint:
|
|||
build-v3.18:
|
||||
extends: .build
|
||||
when: always
|
||||
variables:
|
||||
CI_ALPINE_TARGET_RELEASE: v3.18
|
||||
tags:
|
||||
- apk-v3.18-x86_64
|
||||
- apk-$CI_ALPINE_TARGET_RELEASE-x86_64
|
||||
|
||||
build-v3.17:
|
||||
build-edge:
|
||||
extends: .build
|
||||
when: manual
|
||||
when: always
|
||||
variables:
|
||||
CI_ALPINE_TARGET_RELEASE: edge
|
||||
tags:
|
||||
- apk-v3.17-x86_64
|
||||
- apk-$CI_ALPINE_TARGET_RELEASE-x86_64
|
||||
|
||||
|
||||
push:
|
||||
interruptible: true
|
||||
|
|
|
@ -169,7 +169,8 @@ copy_artifacts() {
|
|||
|
||||
if [ "$packages_size" -lt $MAX_ARTIFACT_SIZE ]; then
|
||||
msg "Copying packages for artifact upload"
|
||||
cp -ar "$REPODEST"/* packages/ 2>/dev/null
|
||||
mkdir packages/$CI_ALPINE_TARGET_RELEASE
|
||||
cp -ar "$REPODEST"/* packages/$CI_ALPINE_TARGET_RELEASE 2>/dev/null
|
||||
cp ~/.abuild/*.rsa.pub keys/
|
||||
else
|
||||
msg "Artifact size $packages_size larger than max ($MAX_ARTIFACT_SIZE), skipping uploading them" yellow
|
||||
|
|
|
@ -11,8 +11,6 @@ readonly APORTSDIR=$CI_PROJECT_DIR
|
|||
readonly REPOS="backports user"
|
||||
readonly BASEBRANCH=$CI_MERGE_REQUEST_TARGET_BRANCH_NAME
|
||||
|
||||
ALPINE_RELEASE=$(echo $CI_RUNNER_TAGS | awk -F '-' '{print $2}')
|
||||
|
||||
export GIT_SSH_COMMAND="ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no"
|
||||
|
||||
gitlab_key_to_rsa $ABUILD_KEY rsa-private $HOME/.abuild/$ABUILD_KEY_NAME.rsa
|
||||
|
@ -25,14 +23,6 @@ echo "PACKAGER_PRIVKEY=$HOME/.abuild/$ABUILD_KEY_NAME.rsa" > $HOME/.abuild/abuil
|
|||
echo "REPODEST=$HOME/repo-apk/qubes" >> $HOME/.abuild/abuild.conf
|
||||
sudo cp $HOME/.abuild/$ABUILD_KEY_NAME.rsa.pub /etc/apk/keys/.
|
||||
|
||||
if [ -d $HOME/repo-apk ]; then
|
||||
git -C $HOME/repo-apk fetch
|
||||
git -C $HOME/repo-apk checkout $ALPINE_RELEASE
|
||||
git -C $HOME/repo-apk pull --rebase
|
||||
else
|
||||
git clone git@lab.ilot.io:ayakael/repo-apk -b $ALPINE_RELEASE $HOME/repo-apk
|
||||
fi
|
||||
|
||||
get_qubes_release() {
|
||||
case $BASEBRANCH in
|
||||
r*) echo $BASEBRANCH;;
|
||||
|
@ -43,22 +33,33 @@ get_qubes_release() {
|
|||
|
||||
QUBES_REL=$(get_qubes_release)
|
||||
|
||||
for i in $(find packages -type f -name "*.apk"); do
|
||||
install -vDm644 $i ${i/packages\/qubes-aports/$HOME\/repo-apk\/qubes\/$QUBES_REL}
|
||||
for release in $(find packages -type d -maxdepth 1 -mindepth 1 -printf '%f\n'); do
|
||||
|
||||
if [ -d $HOME/repo-apk ]; then
|
||||
git -C $HOME/repo-apk fetch
|
||||
git -C $HOME/repo-apk checkout $release
|
||||
git -C $HOME/repo-apk pull --rebase
|
||||
else
|
||||
git clone git@lab.ilot.io:ayakael/repo-apk -b $release $HOME/repo-apk
|
||||
fi
|
||||
|
||||
for i in $(find packages/$release -type f -name "*.apk"); do
|
||||
install -vDm644 $i ${i/packages\/$release\/qubes-aports/$HOME\/repo-apk\/qubes\/$QUBES_REL}
|
||||
done
|
||||
|
||||
fetch_flags="-qn"
|
||||
git fetch $fetch_flags "$CI_MERGE_REQUEST_PROJECT_URL" \
|
||||
"+refs/heads/$BASEBRANCH:refs/heads/$BASEBRANCH"
|
||||
|
||||
rm $HOME/repo-apk/qubes/$QUBES_REL/*/APKINDEX.tar.gz || true
|
||||
mkdir -p qubes/$QUBES_REL/DUMMY
|
||||
echo "pkgname=DUMMY" > qubes/$QUBES_REL/DUMMY/APKBUILD
|
||||
cd qubes/$QUBES_REL/DUMMY
|
||||
abuild index
|
||||
cd "$CI_PROJECT_DIR"
|
||||
rm -R qubes/$QUBES_REL/DUMMY
|
||||
|
||||
git -C $HOME/repo-apk add .
|
||||
git -C $HOME/repo-apk commit -m "Update from $CI_MERGE_REQUEST_IID - $CI_MERGE_REQUEST_TITLE"
|
||||
git -C $HOME/repo-apk push
|
||||
done
|
||||
|
||||
fetch_flags="-qn"
|
||||
git fetch $fetch_flags "$CI_MERGE_REQUEST_PROJECT_URL" \
|
||||
"+refs/heads/$BASEBRANCH:refs/heads/$BASEBRANCH"
|
||||
|
||||
rm $HOME/repo-apk/qubes/$QUBES_REL/*/APKINDEX.tar.gz || true
|
||||
mkdir -p qubes/$QUBES_REL/DUMMY
|
||||
echo "pkgname=DUMMY" > qubes/$QUBES_REL/DUMMY/APKBUILD
|
||||
cd qubes/$QUBES_REL/DUMMY
|
||||
abuild index
|
||||
cd "$CI_PROJECT_DIR"
|
||||
rm -R qubes/$QUBES_REL/DUMMY
|
||||
|
||||
git -C $HOME/repo-apk add .
|
||||
git -C $HOME/repo-apk commit -m "Update from $CI_MERGE_REQUEST_IID - $CI_MERGE_REQUEST_TITLE"
|
||||
git -C $HOME/repo-apk push
|
||||
|
|
Loading…
Reference in a new issue