mirror of
https://gitlab.gnome.org/GNOME/glib.git
synced 2025-01-13 15:56:23 +01:00
Merge branch 'wip/pwithnall/ci-cleanups' into 'main'
ci: Various cleanups and moving Android API 21 and FreeBSD 12 to scheduled run See merge request GNOME/glib!2514
This commit is contained in:
commit
94f3bb7074
@ -26,19 +26,29 @@ variables:
|
|||||||
except:
|
except:
|
||||||
- tags
|
- tags
|
||||||
|
|
||||||
.build:
|
# Some jobs run on CI runners which don’t have good isolation between CI jobs,
|
||||||
extends: .only-default
|
# and don’t have much available resource. Limit those jobs to only ones on the
|
||||||
before_script:
|
# origin repository (GNOME/glib), rather than people’s forks. Code in the origin
|
||||||
- bash .gitlab-ci/show-execution-environment.sh
|
# repository can be trusted.
|
||||||
- cp -r $HOME/subprojects/* subprojects/
|
.only-origin:
|
||||||
|
only:
|
||||||
|
- branches@GNOME/glib
|
||||||
|
except:
|
||||||
|
- tags
|
||||||
|
|
||||||
# Some jobs take a long time and are unlikely to find failures (or will find
|
# Some jobs take a long time and are unlikely to find failures (or will find
|
||||||
# failures which are not merge-blockers to fix), so they’re executed on a weekly
|
# failures which are not merge-blockers to fix), so they’re executed on a weekly
|
||||||
# schedule in order to save CI resources and speed up branch pipelines.
|
# schedule in order to save CI resources and speed up branch pipelines.
|
||||||
.build-only-schedules:
|
.only-schedules:
|
||||||
extends: .build
|
|
||||||
only:
|
only:
|
||||||
- schedules
|
- schedules
|
||||||
|
except:
|
||||||
|
- tags
|
||||||
|
|
||||||
|
.build-linux:
|
||||||
|
before_script:
|
||||||
|
- bash .gitlab-ci/show-execution-environment.sh
|
||||||
|
- cp -r $HOME/subprojects/* subprojects/
|
||||||
|
|
||||||
style-check-diff:
|
style-check-diff:
|
||||||
extends: .only-default
|
extends: .only-default
|
||||||
@ -60,7 +70,9 @@ check-todos:
|
|||||||
- .gitlab-ci/run-check-todos.sh
|
- .gitlab-ci/run-check-todos.sh
|
||||||
|
|
||||||
fedora-x86_64:
|
fedora-x86_64:
|
||||||
extends: .build
|
extends:
|
||||||
|
- .build-linux
|
||||||
|
- .only-default
|
||||||
image: $FEDORA_IMAGE
|
image: $FEDORA_IMAGE
|
||||||
stage: build
|
stage: build
|
||||||
needs: []
|
needs: []
|
||||||
@ -109,7 +121,9 @@ fedora-x86_64:
|
|||||||
- "_coverage"
|
- "_coverage"
|
||||||
|
|
||||||
debian-stable-x86_64:
|
debian-stable-x86_64:
|
||||||
extends: .build
|
extends:
|
||||||
|
- .build-linux
|
||||||
|
- .only-default
|
||||||
image: $DEBIAN_IMAGE
|
image: $DEBIAN_IMAGE
|
||||||
stage: build
|
stage: build
|
||||||
needs: []
|
needs: []
|
||||||
@ -139,7 +153,9 @@ debian-stable-x86_64:
|
|||||||
- "_build/${CI_JOB_NAME}-report.xml"
|
- "_build/${CI_JOB_NAME}-report.xml"
|
||||||
|
|
||||||
installed-tests:
|
installed-tests:
|
||||||
extends: .build-only-schedules
|
extends:
|
||||||
|
- .build-linux
|
||||||
|
- .only-schedules
|
||||||
image: $FEDORA_IMAGE
|
image: $FEDORA_IMAGE
|
||||||
stage: build
|
stage: build
|
||||||
needs: []
|
needs: []
|
||||||
@ -175,7 +191,9 @@ installed-tests:
|
|||||||
- "_build/installed-tests-report/"
|
- "_build/installed-tests-report/"
|
||||||
|
|
||||||
G_DISABLE_ASSERT:
|
G_DISABLE_ASSERT:
|
||||||
extends: .build-only-schedules
|
extends:
|
||||||
|
- .build-linux
|
||||||
|
- .only-schedules
|
||||||
image: $FEDORA_IMAGE
|
image: $FEDORA_IMAGE
|
||||||
stage: build
|
stage: build
|
||||||
needs: []
|
needs: []
|
||||||
@ -202,7 +220,9 @@ G_DISABLE_ASSERT:
|
|||||||
- "_build/${CI_JOB_NAME}-report.xml"
|
- "_build/${CI_JOB_NAME}-report.xml"
|
||||||
|
|
||||||
valgrind:
|
valgrind:
|
||||||
extends: .build-only-schedules
|
extends:
|
||||||
|
- .build-linux
|
||||||
|
- .only-schedules
|
||||||
image: $FEDORA_IMAGE
|
image: $FEDORA_IMAGE
|
||||||
stage: analysis
|
stage: analysis
|
||||||
needs: []
|
needs: []
|
||||||
@ -235,8 +255,8 @@ valgrind:
|
|||||||
- "_build/glib/glibconfig.h"
|
- "_build/glib/glibconfig.h"
|
||||||
- "_build/meson-logs"
|
- "_build/meson-logs"
|
||||||
|
|
||||||
.cross-template: &cross-template
|
.cross-build-linux:
|
||||||
extends: .build
|
extends: .build-linux
|
||||||
stage: build
|
stage: build
|
||||||
needs: []
|
needs: []
|
||||||
artifacts:
|
artifacts:
|
||||||
@ -245,18 +265,10 @@ valgrind:
|
|||||||
paths:
|
paths:
|
||||||
- "_build/meson-logs"
|
- "_build/meson-logs"
|
||||||
|
|
||||||
cross-android_api21_arm64:
|
|
||||||
<<: *cross-template
|
|
||||||
image: $ANDROID_IMAGE
|
|
||||||
script:
|
|
||||||
# FIXME: add --werror
|
|
||||||
# We use -Diconv=auto to test that we successfully detect that iconv is not
|
|
||||||
# provided by android api 21, and detect the external iconv instead.
|
|
||||||
- meson ${MESON_COMMON_OPTIONS} --cross-file=/opt/cross_file_android_arm64_21.txt -Diconv=auto _build
|
|
||||||
- ninja -C _build
|
|
||||||
|
|
||||||
cross-android_api28_arm64:
|
cross-android_api28_arm64:
|
||||||
<<: *cross-template
|
extends:
|
||||||
|
- .cross-build-linux
|
||||||
|
- .only-default
|
||||||
image: $ANDROID_IMAGE
|
image: $ANDROID_IMAGE
|
||||||
script:
|
script:
|
||||||
# FIXME: add --werror
|
# FIXME: add --werror
|
||||||
@ -264,7 +276,9 @@ cross-android_api28_arm64:
|
|||||||
- ninja -C _build
|
- ninja -C _build
|
||||||
|
|
||||||
cross-mingw64:
|
cross-mingw64:
|
||||||
<<: *cross-template
|
extends:
|
||||||
|
- .cross-build-linux
|
||||||
|
- .only-default
|
||||||
image: $MINGW_IMAGE
|
image: $MINGW_IMAGE
|
||||||
script:
|
script:
|
||||||
# FIXME: Add --werror
|
# FIXME: Add --werror
|
||||||
@ -351,9 +365,11 @@ vs2017-x64-static:
|
|||||||
- "_build/${env:CI_JOB_NAME}-report.xml"
|
- "_build/${env:CI_JOB_NAME}-report.xml"
|
||||||
|
|
||||||
freebsd-12-x86_64:
|
freebsd-12-x86_64:
|
||||||
|
# The FreeBSD 13 build is run on each commit, so the FreeBSD 12 build can be
|
||||||
|
# run less regularly to save CI resources. The chance of a regression on
|
||||||
|
# FreeBSD 12 and not FreeBSD 13 is tiny.
|
||||||
|
extends: .only-schedules
|
||||||
stage: build
|
stage: build
|
||||||
only:
|
|
||||||
- branches@GNOME/glib
|
|
||||||
tags:
|
tags:
|
||||||
# To run a FreeBSD builder, install gitlab-runner package and start both
|
# To run a FreeBSD builder, install gitlab-runner package and start both
|
||||||
# gitlab-runner and dbus service because we need /var/lib/dbus/machine-id.
|
# gitlab-runner and dbus service because we need /var/lib/dbus/machine-id.
|
||||||
@ -382,8 +398,6 @@ freebsd-12-x86_64:
|
|||||||
- meson ${MESON_COMMON_OPTIONS} --localstatedir=/var -Db_lundef=false -Diconv=external -Dxattr=false _build
|
- meson ${MESON_COMMON_OPTIONS} --localstatedir=/var -Db_lundef=false -Diconv=external -Dxattr=false _build
|
||||||
- ninja -C _build
|
- ninja -C _build
|
||||||
- bash -x ./.gitlab-ci/run-tests.sh
|
- bash -x ./.gitlab-ci/run-tests.sh
|
||||||
except:
|
|
||||||
- tags
|
|
||||||
artifacts:
|
artifacts:
|
||||||
reports:
|
reports:
|
||||||
junit: "_build/${CI_JOB_NAME}-report.xml"
|
junit: "_build/${CI_JOB_NAME}-report.xml"
|
||||||
@ -396,9 +410,8 @@ freebsd-12-x86_64:
|
|||||||
- "_build/${CI_JOB_NAME}-report.xml"
|
- "_build/${CI_JOB_NAME}-report.xml"
|
||||||
|
|
||||||
freebsd-13-x86_64:
|
freebsd-13-x86_64:
|
||||||
|
extends: .only-origin
|
||||||
stage: build
|
stage: build
|
||||||
only:
|
|
||||||
- branches@GNOME/glib
|
|
||||||
tags:
|
tags:
|
||||||
- freebsd-13
|
- freebsd-13
|
||||||
needs: []
|
needs: []
|
||||||
@ -412,8 +425,6 @@ freebsd-13-x86_64:
|
|||||||
- meson ${MESON_COMMON_OPTIONS} --localstatedir=/var -Db_lundef=false -Diconv=external -Dxattr=false _build
|
- meson ${MESON_COMMON_OPTIONS} --localstatedir=/var -Db_lundef=false -Diconv=external -Dxattr=false _build
|
||||||
- ninja -C _build
|
- ninja -C _build
|
||||||
- bash -x ./.gitlab-ci/run-tests.sh
|
- bash -x ./.gitlab-ci/run-tests.sh
|
||||||
except:
|
|
||||||
- tags
|
|
||||||
artifacts:
|
artifacts:
|
||||||
reports:
|
reports:
|
||||||
junit: "_build/${CI_JOB_NAME}-report.xml"
|
junit: "_build/${CI_JOB_NAME}-report.xml"
|
||||||
@ -426,10 +437,8 @@ freebsd-13-x86_64:
|
|||||||
- "_build/${CI_JOB_NAME}-report.xml"
|
- "_build/${CI_JOB_NAME}-report.xml"
|
||||||
|
|
||||||
macos:
|
macos:
|
||||||
extends: .only-default
|
extends: .only-origin
|
||||||
stage: build
|
stage: build
|
||||||
only:
|
|
||||||
- branches@GNOME/glib
|
|
||||||
tags:
|
tags:
|
||||||
- macos
|
- macos
|
||||||
needs: []
|
needs: []
|
||||||
@ -478,7 +487,9 @@ coverage:
|
|||||||
coverage: '/^\s+lines\.+:\s+([\d.]+\%)\s+/'
|
coverage: '/^\s+lines\.+:\s+([\d.]+\%)\s+/'
|
||||||
|
|
||||||
scan-build:
|
scan-build:
|
||||||
extends: .build-only-schedules
|
extends:
|
||||||
|
- .build-linux
|
||||||
|
- .only-schedules
|
||||||
image: $FEDORA_IMAGE
|
image: $FEDORA_IMAGE
|
||||||
stage: analysis
|
stage: analysis
|
||||||
needs: []
|
needs: []
|
||||||
@ -502,7 +513,9 @@ scan-build:
|
|||||||
- "_scan_build/meson-logs/scanbuild"
|
- "_scan_build/meson-logs/scanbuild"
|
||||||
|
|
||||||
coverity:
|
coverity:
|
||||||
extends: .build-only-schedules
|
extends:
|
||||||
|
- .build-linux
|
||||||
|
- .only-schedules
|
||||||
image: $COVERITY_IMAGE
|
image: $COVERITY_IMAGE
|
||||||
stage: analysis
|
stage: analysis
|
||||||
needs: []
|
needs: []
|
||||||
|
@ -60,7 +60,6 @@ ENV ANDROID_NDK_PATH /opt/android-ndk
|
|||||||
COPY android-download-ndk.sh .
|
COPY android-download-ndk.sh .
|
||||||
RUN ./android-download-ndk.sh
|
RUN ./android-download-ndk.sh
|
||||||
COPY android-setup-env.sh .
|
COPY android-setup-env.sh .
|
||||||
RUN ./android-setup-env.sh arm64 21
|
|
||||||
RUN ./android-setup-env.sh arm64 28
|
RUN ./android-setup-env.sh arm64 28
|
||||||
RUN rm -rf $ANDROID_NDK_PATH
|
RUN rm -rf $ANDROID_NDK_PATH
|
||||||
|
|
||||||
|
@ -38,21 +38,6 @@ export LD=$target_host-ld
|
|||||||
export STRIP=$target_host-strip
|
export STRIP=$target_host-strip
|
||||||
export PATH=$PATH:$toolchain_path/bin
|
export PATH=$PATH:$toolchain_path/bin
|
||||||
|
|
||||||
# Cross build libiconv when using API level <= 28.
|
|
||||||
# Newer Android has it in its libc already.
|
|
||||||
if [ "$api" -lt "28" ]; then
|
|
||||||
wget --quiet http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.15.tar.gz
|
|
||||||
echo "1233fe3ca09341b53354fd4bfe342a7589181145a1232c9919583a8c9979636855839049f3406f253a9d9829908816bb71fd6d34dd544ba290d6f04251376b1a libiconv-1.15.tar.gz" | sha512sum -c
|
|
||||||
tar xzf libiconv-1.15.tar.gz
|
|
||||||
pushd libiconv-1.15
|
|
||||||
./configure --host="${target_host}" --prefix="${prefix_path}" --libdir="${prefix_path}/lib64"
|
|
||||||
make
|
|
||||||
make install
|
|
||||||
popd
|
|
||||||
rm libiconv-1.15.tar.gz
|
|
||||||
rm -r libiconv-1.15
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Cross build libffi
|
# Cross build libffi
|
||||||
wget --quiet https://github.com/libffi/libffi/releases/download/v3.3-rc0/libffi-3.3-rc0.tar.gz
|
wget --quiet https://github.com/libffi/libffi/releases/download/v3.3-rc0/libffi-3.3-rc0.tar.gz
|
||||||
echo "e6e695d32cd6eb7d65983f32986fccdfc786a593d2ea18af30ce741f58cfa1eb264b1a8d09df5084cb916001aea15187b005c2149a0620a44397a4453b6137d4 libffi-3.3-rc0.tar.gz" | sha512sum -c
|
echo "e6e695d32cd6eb7d65983f32986fccdfc786a593d2ea18af30ce741f58cfa1eb264b1a8d09df5084cb916001aea15187b005c2149a0620a44397a4453b6137d4 libffi-3.3-rc0.tar.gz" | sha512sum -c
|
||||||
|
Loading…
Reference in New Issue
Block a user