Skip to content

Commit 0ead09d

Browse files
committed
CI: Add Github Actions for ppc64le and s390x
We cannot run valgrind on these because it is incompatible with the qemu-static virtualization, but this will allow us to at least run all of the standard CI tests on those architectures. Signed-off-by: Stephen Gallagher <[email protected]>
1 parent c2c6bfc commit 0ead09d

File tree

4 files changed

+109
-49
lines changed

4 files changed

+109
-49
lines changed

.ci/fedora/Dockerfile.deps.tmpl

Lines changed: 3 additions & 49 deletions
Original file line numberDiff line numberDiff line change
@@ -2,53 +2,7 @@ FROM __IMAGE__
22

33
MAINTAINER Stephen Gallagher <[email protected]>
44

5-
RUN dnf -y --setopt=install_weak_deps=False --setopt=tsflags='' \
6-
--nogpgcheck --skip-broken install \
7-
python3-black \
8-
clang \
9-
clang-analyzer \
10-
clang-tools-extra \
11-
createrepo_c \
12-
"libmodulemd >= 2.3" \
13-
curl \
14-
elinks \
15-
file-devel \
16-
gcc \
17-
gcc-c++ \
18-
git-core \
19-
glib2-devel \
20-
glib2-doc \
21-
gobject-introspection-devel \
22-
gtk-doc \
23-
help2man \
24-
jq \
25-
libyaml-devel \
26-
meson \
27-
ninja-build \
28-
openssl \
29-
packit \
30-
pkgconf \
31-
popt-devel \
32-
python2-devel \
33-
python2-six \
34-
python2-gobject-base \
35-
python3-autopep8 \
36-
python3-devel \
37-
python3-GitPython \
38-
python3-gobject-base \
39-
python3-koji \
40-
python3-pycodestyle \
41-
python3-rpm-macros \
42-
redhat-rpm-config \
43-
rpm-build \
44-
rpm-devel \
45-
rpmdevtools \
46-
ruby \
47-
"rubygem(json)" \
48-
rubygems \
49-
sudo \
50-
valgrind \
51-
wget \
52-
&& dnf -y clean all
5+
COPY ./fedora/get_fedora_deps.sh /root
6+
7+
RUN /root/get_fedora_deps.sh
538

54-
RUN ln -sf /builddir/bindings/python/gi/overrides/Modulemd.py $(python3 -c "import gi; print(gi._overridesdir)")/Modulemd.py

.ci/fedora/ci-tasks.sh

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ set -x
77
PROCESSORS=$(/usr/bin/getconf _NPROCESSORS_ONLN)
88
MESON_DIRTY_REPO_ARGS="-Dtest_dirty_git=${DIRTY_REPO_CHECK:-false}"
99
RETRY_CMD=/builddir/.ci/retry-command.sh
10+
WITH_RPM_TESTS=${WITH_RPM_TESTS:-true}
1011

1112
override_dir=`python3 -c 'import gi; print(gi._overridesdir)'`
1213

@@ -60,6 +61,10 @@ else
6061
popd #ci_scanbuild
6162
fi
6263

64+
if [ $WITH_RPM_TESTS != true ]; then
65+
exit 0
66+
fi
67+
6368

6469
# Always install and run the installed RPM tests last so we don't pollute the
6570
# testing environment above.

.ci/fedora/get_fedora_deps.sh

Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
#!/usr/bin/env bash
2+
3+
set -e
4+
set -x
5+
6+
SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
7+
pushd $SCRIPT_DIR
8+
9+
dnf -y --setopt=install_weak_deps=False --setopt=tsflags='' \
10+
--nogpgcheck --skip-broken --quiet install \
11+
python3-black \
12+
clang \
13+
clang-analyzer \
14+
clang-tools-extra \
15+
createrepo_c \
16+
"libmodulemd >= 2.3" \
17+
curl \
18+
elinks \
19+
file-devel \
20+
gcc \
21+
gcc-c++ \
22+
git-core \
23+
glib2-devel \
24+
glib2-doc \
25+
gobject-introspection-devel \
26+
gtk-doc \
27+
help2man \
28+
jq \
29+
libyaml-devel \
30+
meson \
31+
ninja-build \
32+
openssl \
33+
packit \
34+
pkgconf \
35+
popt-devel \
36+
python2-devel \
37+
python2-six \
38+
python2-gobject-base \
39+
python3-autopep8 \
40+
python3-devel \
41+
python3-GitPython \
42+
python3-gobject-base \
43+
python3-koji \
44+
python3-pycodestyle \
45+
python3-rpm-macros \
46+
redhat-rpm-config \
47+
rpm-build \
48+
rpm-devel \
49+
rpmdevtools \
50+
ruby \
51+
"rubygem(json)" \
52+
rubygems \
53+
sudo \
54+
valgrind \
55+
wget
56+
57+
dnf -y clean all
58+
59+
ln -sf /builddir/bindings/python/gi/overrides/Modulemd.py $(python3 -c "import gi; print(gi._overridesdir)")/Modulemd.py
60+
61+
popd

.github/workflows/multiarch.yaml

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
name: Other Architectures
2+
on: [push, pull_request]
3+
4+
jobs:
5+
multiarch:
6+
runs-on: ubuntu-20.04
7+
name: ${{ matrix.distro }} on ${{ matrix.arch }}
8+
continue-on-error: true
9+
10+
# Run steps on a matrix of 3 arch/distro combinations
11+
strategy:
12+
matrix:
13+
include:
14+
- arch: ppc64le
15+
distro: fedora_latest
16+
- arch: s390x
17+
distro: fedora_latest
18+
19+
steps:
20+
- uses: actions/checkout@v2
21+
22+
- uses: uraimo/[email protected]
23+
name: Perform upstream tests
24+
25+
with:
26+
arch: ${{ matrix.arch }}
27+
distro: ${{ matrix.distro }}
28+
29+
# Not required, but speeds up builds by storing container images in
30+
# a GitHub package registry.
31+
githubToken: ${{ github.token }}
32+
33+
# Work-around ldd bug in rawhide CIs
34+
run: |
35+
$GITHUB_WORKSPACE/.ci/fedora/get_fedora_deps.sh
36+
sed -i -e 's/test -r/test -f/g' -e 's/test -x/test -f/g' /bin/ldd
37+
meson setup --buildtype=debugoptimized -Dverbose_tests=false /tmp/ci $GITHUB_WORKSPACE
38+
meson test --suite formatters -C /tmp/ci --print-errorlogs -t 5
39+
meson test --suite ci -C /tmp/ci --print-errorlogs -t 5
40+

0 commit comments

Comments
 (0)