Commit graph

49 commits

Author SHA1 Message Date
Oliver Smith
77e4902dfb
CI: install_pmb: use git clone, not tarball (!980)
GitLab disabled downloads of tarballs currently, because it was being
exploited for DoS agains their infrastructure. Work around this by using
git clone for now. I've thought about using --depth=1, but that would
break the ability to choose different branches.

Related: https://status.gitlab.com
2020-02-22 21:46:49 +01:00
Minecrell
f7a4fcc3e7
CI: stop verifying kernel subpackage names (!907)
At the moment we check that the kernel variants for a device package
match the suffix of an existing linux-postmarketos-<suffix> package.

However, in most cases the name of the kernel subpackage has nothing
to do with the actual kernel that is used:

  - the kernel subpackages usually have generic names like "mainline" or
    "downstream", which have nothing to do with the actual suffixes like
    "qcom-msm8916", "allwinner" or "novathor"

  - pine64-dontbeevil uses kernel subpackages to switch between
    "longts" and "shortts" device tree variants. Both are actually
    using linux-postmarketos-allwinner.

So far we have been whitelisting names like "longts" or "shortts",
but the check does not seem very useful overall.

Removing it fixes the following CI failure for MSM8916:
  RuntimeError: Invalid kernel subpackage name 'mainline-modem',
  valid: ['downstream', 'rpi', 'rpi2', 'longts', 'shortts', 'stable', 'mainline',
          'allwinner', 'qcom-msm8916', 'qcom-msm8974', 'novathor']
2020-02-16 12:48:00 +01:00
Daniele Debernardi
3c9c61eb48
CI: skip linting check for cross/ folder (!881) 2020-01-16 00:47:16 +01:00
Alexey Min
c203ee697d
CI: add new requirements for pmbootstrap
02e514f4d3
added a new required program from host system: git
2020-01-12 15:46:10 +03:00
Bart Ribbers
d6ea9107bd
CI: fix linter checking non-APKBUILDs (!867)
Only check APKBUILD files
2020-01-10 02:23:54 +03:00
Bart Ribbers
7c31d47745
CI: skip linting check for temp/ folder (!864)
Since we copy these aports directly from Alpine and try to keep them in
sync, we don't want to differ from upstream because our CI doesn't pass
on linting. If the APKBUILD should be improved, it should be done
upstream which is then synced back to us.
2020-01-09 02:40:38 +03:00
Oliver Smith
6b267e8010
CI: disable test_soname_bump
Temporarily disabled, because the postmarketOS binary repository has
armhf packages for various kde related packages depending on
qt5-qtwebengine-dev, although qt5-qtwebengine-dev isn't available for
armhf anymore. All related pmaports were disabled for armhf, however
currently the binary repository does not delete binary packages yet,
after the corresponding pmaport was deleted/disabled for a given arch.
I'll work on this with high priority, so we can enable the test again.

Related: https://gitlab.com/postmarketOS/build.postmarketos.org/issues/38
2020-01-06 05:03:04 +01:00
Oliver Smith
388e593ab1
Change copyright to 2020 2020-01-06 02:47:56 +01:00
Daniele Debernardi
3c43c503ee
CI: fix parsing wiki page (!814) 2019-12-21 03:09:47 +01:00
Oliver Smith
6f464f96bf
CI: skip git versions in framework check
The framework check is supposed to make sure, that we always have the
same versions of multiple packages that belong to the same framework.
We must exclude git versions for this check to have it working properly.

The interesting question is of course: why was this working before?

The check is using the url field to figure out which packages belong to
a certain framework, and by chance, all packages that had a git version,
did also use single quotes around the URL:
	url='http://qt-project.org/'
With the old APKINDEX parsing code, this was parsed as:
	url: "'http://qt-project.org/'"
And therefore, this was considered a different URL than the URL with
double quotes (again, by chance!) used by the stable qt versions:
	url: "http://qt-project.org/"
I have improved the APKBUILD parsing code in pmbootstrap today, and now
it is properly parsing both URLs.

Related: https://gitlab.com/postmarketOS/pmbootstrap/merge_requests/1837
2019-11-30 15:18:20 +01:00
Bart Ribbers
8b7c90d328
CI: various improvements (!694)
* Only run the wiki test, if anything matching device/device-* was
  modified.
* Split testcase linting (flake8) from shellcheck and only run flake8 if
  .gitlab-ci/* was modified.
* Rename .gitlab-ci/static_code_analysis.sh to .gitlab-ci/shellcheck.sh
  and make it scan all pre/post install/upgrade/deinstall scripts.

[ci:skip-vercheck]: other commits in this merge request have several
                    intended version downgrades, such as 3 -> 1.0.0
2019-11-05 22:22:53 +01:00
Bart Ribbers
6c42c53cd5
main/postmarketos-splash: build from new repo (!694) 2019-11-05 22:15:10 +01:00
Bart Ribbers
310d7314cb
CI: remove redundant C linter check (!694) 2019-11-05 22:15:10 +01:00
Oliver Smith
b407687761
CI: whitelist firmware-asus-me176c-acpi in devpkg (!699)
Without this, the device will simply run the broken ACPI DSDT table, so
we might as well update it. If we had put it into a subpackage, it
would not be possible to use the fixed DSDT without any other firmware
packages.
2019-11-03 15:58:21 +01:00
Oliver Smith
c8143f0212
CI: framework versions test: handle hotfixes (!639)
Cut off the hotfix-version (fourth number) from the version strings
before comparing them, to fix invalid errors like:

[14:57:00] Reference pkgver: 5.16.90 (from 'khotkeys')
[14:57:00] ERROR: plasma-workspace has version 5.16.90.1
2019-09-29 20:39:03 +02:00
Oliver Smith
a3510eca5e
CI: test_upstream_compat: check binutils again
Related: #357
2019-09-16 22:52:19 +02:00
Daniele Debernardi
bc399297dc
CI: check for CHANGEME in all dirs (!628)
With pmbootstrap!1811, generated aports in temp/ can also have a
"(CHANGEME!)" string. Let's check in all dirs, not just in the device
dir.
2019-09-14 05:24:37 +02:00
Luca Weiss
82b143f3f0
Fix spelling mistakes (!466)
codespell --skip="./.git,*.patch,*.diff,config-*.*"

[ci:skip-build]
[ci:skip-vercheck]
2019-06-30 01:40:02 +02:00
Luca Weiss
90e2cc7eff
CI: check coding style of C code (!465) 2019-06-26 22:36:20 +02:00
Daniel Michelin
0a634a4932
CI: check_mr_settings: disallow squashing commits (!464) 2019-06-26 21:55:47 +02:00
Martijn Braam
1b5e1e0d0c
tests: Allow longts and shortts as kernel name (!407)
This is required for the pinephone-dontbeevil.
2019-06-20 00:18:46 +02:00
Oliver Smith
cd94b3ef74
CI: test_upstream_compat: disable binutils check
We need to freeze binutils at 2.31 (Alpine has 2.32 already), until
issue #295 is resolved. Let's disable the test, so the testsuite passes
again if everything else is good, and we don't start to ignore whether
it fails or not.
2019-06-11 21:33:32 +02:00
Oliver Smith
75c8eaeaf7
CI: fix package count check + ci:skip-build (!404)
Do not require ci:ignore-count, when using ci:skip-build in a MR that
has change a lot of packages. If the user already supplies ci:skip-build
then we can safely assume that we don't to check the package count.

Fixes #267
2019-05-31 00:38:17 +02:00
Oliver Smith
e504c8d1b9
CI: version check: fix running on upstream/master (!403)
When running on upstream/master, don't compare HEAD against
upstream/master. This is the same commit, so all versions will be the
same. Instead compare against HEAD~1.
2019-05-31 00:27:41 +02:00
Oliver Smith
11b1448aa5
CI: add check_changed_aports_versions.py (!382)
Make sure that changed aports always have a higher version than what is
currently in master. This check can be skipped with ci:skip-vercheck (in
square brackets).

Related: #187
2019-05-30 16:11:33 +02:00
Oliver Smith
debf530c78
CI: add common.py (from build_changed_aports.py)
Move most code from build_changed_aports.py to common.py. Another patch
will follow soon, which uses common.py to check the versions of changed
aports.

Related: #187
2019-05-24 22:48:05 +02:00
Oliver Smith
21852b3cc6
CI: verify sources when ci:skip-build (!371)
Instead of simply skipping the build check, when ci:skip-build is in
the last commit message (in brackets), download the sources and verify
their checksums.

Depends: pmbootstrap!1788
2019-05-24 19:37:13 +00:00
Oliver Smith
1031ff82a6
CI: enable crossdirect again
All bugs should be ironed out now. Let's get some more testing by
enabling crossdirect in CI again. The crossdirect feature is still only
in pmbootstrap master, not in the latest pmbootstrap release. But if it
works without problems for some time, we're ready to make a release.

This reverts commit 6e3252e401.
2019-04-14 04:11:01 +02:00
Oliver Smith
dfebf60c9b CI: upstream compatibility: add grub-efi-x86 (!302)
Make sure we keep it in sync with Alpine's version.
2019-04-06 01:29:32 +02:00
Oliver Smith
6e3252e401 CI: disable crossdirect for now (!301)
Disable it, until more bugs are ironed out (see pmaports issues,
everything related to crossdirect that is still open). Will be enabled
again soon.
2019-04-06 00:17:55 +02:00
Oliver Smith
3030c00ba2
CI: check_mr_settings.py: fix check for same repo (!255)
Do not crash when a MR was made from the same repository, because the
"allow_maintainer_to_push" key does not exist in the GitLab API's
output. Check first if the "source_project_id" is the same as the
"target_project_id", and if it is, do not try to access
"allow_maintainer_to_push" at all.
2019-03-05 09:00:23 +01:00
Oliver Smith
e8a7926eb6
CI: check if maintainers can write to MR branch (!248)
Check if users activated the 'Allow commits from members who can merge
to the target branch' option in their MRs.

Add the "only" parameter to each job in .gitlab.yml, so the pipeline
can properly run in a "merge request specific context" and give us the
environment variable that contains the MR ID.
2019-02-28 17:54:27 +01:00
Oliver Smith
946328507b CI: add "ci:ignore-count" and "ci:skip-build" (!210)
Allow skipping the "too many packages changed" check by specifying
"ci:ignore-count" in the commit message.

Allow skipping the package build step by specifying "ci:skip-build"
in the commit message. In contrary to the usual "skip ci" method,
this will still run all the other CI checks.
2019-02-28 09:34:43 +01:00
Luca Weiss
156aac8199
testcases: support system-wide pmbootstrap install (!208)
Fix this error when installing pmbootstrap with pip and running the
pmaports.git testcases:

ERROR: 'pmbootstrap' is not a symlink to pmbootstrap.py
2019-02-27 09:43:18 +01:00
Oliver Smith
6d3d5723b6
CI: ignore _git packages in Qt version check
Do not fail the CI check with the _git packages that have been added
in the initial unity8 packaging.
2019-02-15 10:56:55 +01:00
Oliver Smith
158ac15143 CI: show meaningful error for outdated pmaports (!167)
When we bump the version in pmaports.cfg and the min. required pmaports
version in the pmbootstrap code, then forks of pmaports.git must be
rebased on pmaports.git master. Otherwise "pmbootstrap init" fails, and
because we have it set to quiet (so the output does not distract from
the interesting output if everything goes fine), there was no meaningful
error message yet.

Wrap the "pmbootstrap init" call and display a helpful message that
tells the user to rebase.
2019-01-22 07:47:12 +00:00
Oliver Smith
b95b73e26c
Update copyright to 2019
Happy new year! \o/
2019-01-02 09:29:47 +01:00
Oliver Smith
8d4232d1fd
test_aports_kde: test Qt version too and rename (!119)
Rename test_aports_kde.py to test_aports_framework_versions.py and
generalize all referenes in the code from "KDE frameworks" to
"frameworks". Check that all Qt packages have the same version, support
having the real version in _pkgver and pkgver=9999.

Scan all pmaports, not only the ones in the kde dir. Do not output all
packages of the "other" category anymore, the package count is enough.
2018-12-30 20:53:52 +01:00
Oliver Smith
ea3dc3d5a5
check_devices_in_wiki.py: update instructions
Explain that one needs to set "booting = yes" in the infobox, instead
of manually adding the device to the overview nowadays.
2018-12-17 08:21:54 +01:00
Oliver Smith
6179f45791
build_changed_aports: allow existing remote
In this CI test, we add the upstrem postmarketOS/pmaports.git
remote to the checked out git repository. Do not crash when it exists
already, so we don't need to remove it before each run when testing
locally.
2018-12-13 07:35:58 +01:00
Oliver Smith
683bc62f96
build_changed_aports: don't build deleted aports
Do not attempt to build deleted aports and fail on them. In the
overview of changed files, note which ones have been deleted.
2018-12-13 07:35:58 +01:00
Oliver Smith
c7b42e9ed6
Cosmetic: build_changed_aports: improve comments
* Move a comment that was after a line of code above that line. That
  line was very long compared to all others in the file, and now the
  file fits in 80 characters in every line, like PEP-8 recommends.
* Replace "folder" with "dir" in the comments (as I learned lately
  that "folder" is only a Windows concept).
2018-12-13 07:35:58 +01:00
Oliver Smith
0ab7ce3676
tests: check for deviceinfo_weston_pixman_type
Make sure this obsolete option won't be used by future devices.
2018-11-29 07:31:06 +01:00
Oliver Smith
ac6c0a2997
test_aports.py: disallow noarch device packages
Check if all device packages have the same arch in their device
APKBUILD as they have in their deviceinfo. And that they have
!archcheck set in the options.
2018-11-27 07:47:11 +01:00
Oliver Smith
36f4e86688 CI package build: don't buffer output and silent "git fetch" 2018-09-26 05:57:29 +00:00
Luca Weiss
25380ced2f Fix detecting changed aports 2018-09-25 05:29:15 +00:00
Oliver Smith
e9fd509914
Remove obsolete test case test_aportgen.py
This test case only makes sense in the pmbootstrap repository, and
we have it there already. In pmaports, we don't need to check if the
"aportgen" code is working - and to check the versions of the aports
we already have the test_upstream_compatibility case.
2018-09-22 11:24:13 +02:00
Oliver Smith
35a54fd1e8
CI: get pmbootstrap from master branch 2018-09-05 09:24:36 +02:00
Oliver Smith
0d5e2fae31
Add test cases and .gitignore
Copy all test cases from the pmbootstrap repository, that are actually
testing the aports. They were all adjusted to work nicely in this
repository, together with a brand new set of gitlab-ci configs.

This also includes the changes from this merge request, that had a
better detection of changed packages:
<https://gitlab.com/postmarketOS/pmbootstrap/merge_requests/1621>
2018-09-04 08:46:17 +02:00