Skip to content
GitLab
Explore
Sign in
Register
Primary navigation
Search or go to…
Project
pmaports
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Terms and privacy
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
postmarketOS
pmaports
Commits
bb7b69d4
Unverified
Commit
bb7b69d4
authored
7 months ago
by
Clayton Craft
Browse files
Options
Downloads
Patches
Plain Diff
CI: lib: update for pmb v3 (MR 5566)
[ci:skip-build]: already built successfully in CI
parent
26f3fec9
Branches
Branches containing commit
No related tags found
No related merge requests found
Pipeline
#203752
passed
7 months ago
Stage: lint
Stage: build
Changes
2
Pipelines
1
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
.ci/lib/build_changed_aports.py
+7
-4
7 additions, 4 deletions
.ci/lib/build_changed_aports.py
.ci/lib/check_changed_aports_versions.py
+18
-11
18 additions, 11 deletions
.ci/lib/check_changed_aports_versions.py
with
25 additions
and
15 deletions
.ci/lib/build_changed_aports.py
+
7
−
4
View file @
bb7b69d4
...
...
@@ -2,6 +2,7 @@
# Copyright 2021 Oliver Smith
# SPDX-License-Identifier: GPL-3.0-or-later
import
sys
import
pathlib
# Same dir
import
common
...
...
@@ -11,6 +12,7 @@ import add_pmbootstrap_to_import_path
import
pmb.parse
import
pmb.parse._apkbuild
import
pmb.helpers.pmaports
from
pmb.core.context
import
get_context
def
build_strict
(
packages
,
arch
):
...
...
@@ -59,15 +61,16 @@ if __name__ == "__main__":
verify_checksums
(
packages
,
arch
)
sys
.
exit
(
0
)
#
Prepare "args" to use pmbootstrap code
sys
.
argv
=
[
"
pmbootstrap
"
,
"
chroot
"
]
#
Load context
sys
.
argv
=
[
"
pmbootstrap
.py
"
,
"
chroot
"
]
args
=
pmb
.
parse
.
arguments
()
context
=
get_context
()
# Filter out packages that can't be built for given arch
# (Iterate over copy of packages, because we modify it in this loop)
for
package
in
packages
.
copy
():
apkbuild_path
=
pmb
.
helpers
.
pmaports
.
find
(
args
,
package
)
apkbuild
=
pmb
.
parse
.
_apkbuild
.
apkbuild
(
f
"
{
apkbuild_path
}
/
APKBUILD
"
)
apkbuild_path
=
pmb
.
helpers
.
pmaports
.
find
(
package
)
apkbuild
=
pmb
.
parse
.
_apkbuild
.
apkbuild
(
pathlib
.
Path
(
apkbuild_path
,
"
APKBUILD
"
)
)
if
not
pmb
.
helpers
.
pmaports
.
check_arches
(
apkbuild
[
"
arch
"
],
arch
):
print
(
f
"
{
package
}
: not enabled for
{
arch
}
, skipping
"
)
...
...
This diff is collapsed.
Click to expand it.
.ci/lib/check_changed_aports_versions.py
+
18
−
11
View file @
bb7b69d4
...
...
@@ -3,6 +3,7 @@
# SPDX-License-Identifier: GPL-3.0-or-later
import
glob
import
pathlib
import
tempfile
import
sys
import
subprocess
...
...
@@ -15,8 +16,9 @@ import add_pmbootstrap_to_import_path # noqa
import
pmb.parse
import
pmb.parse.version
import
pmb.helpers.logging
from
pmb.core.context
import
get_context
def
get_package_contents
(
args
,
package
,
revision
,
check
=
True
):
def
get_package_contents
(
package
,
revision
,
check
=
True
):
# Redirect stderr to /dev/null, so git doesn't complain about files not
# existing in upstream branch for new packages
stderr
=
None
...
...
@@ -37,15 +39,16 @@ def get_package_contents(args, package, revision, check=True):
with
tempfile
.
TemporaryDirectory
()
as
tempdir
:
with
open
(
tempdir
+
"
/APKBUILD
"
,
"
w
"
,
encoding
=
"
utf-8
"
)
as
handle
:
handle
.
write
(
apkbuild_content
)
parsed
=
pmb
.
parse
.
apkbuild
(
tempdir
+
"
/APKBUILD
"
,
False
,
False
)
parsed
=
pmb
.
parse
.
apkbuild
(
pathlib
.
Path
(
tempdir
,
"
APKBUILD
"
),
False
,
False
)
return
parsed
def
get_package_version
(
args
,
package
,
revision
,
check
=
True
):
def
get_package_version
(
package
,
revision
,
check
=
True
):
"""
returns version in the format
"
{pkgver}-r{pkgrel}
"
, or None if no
matching package is found
"""
parsed
=
get_package_contents
(
args
,
package
,
revision
,
check
)
parsed
=
get_package_contents
(
package
,
revision
,
check
)
if
parsed
is
None
:
return
None
return
parsed
[
"
pkgver
"
]
+
"
-r
"
+
parsed
[
"
pkgrel
"
]
...
...
@@ -91,7 +94,7 @@ def exit_with_error_message():
exit
(
1
)
def
check_versions
(
args
,
packages
):
def
check_versions
(
packages
):
error
=
False
# Get relevant commits: compare HEAD against upstream branch or HEAD~1
...
...
@@ -110,8 +113,8 @@ def check_versions(args, packages):
for
package
in
packages
:
# Get versions, skip new packages
head
=
get_package_version
(
args
,
package
,
"
HEAD
"
)
upstream
=
get_package_version
(
args
,
package
,
commit
,
False
)
head
=
get_package_version
(
package
,
"
HEAD
"
)
upstream
=
get_package_version
(
package
,
commit
,
False
)
if
not
upstream
:
if
head
.
rpartition
(
'
r
'
)[
2
]
!=
"
0
"
:
print
(
f
"
-
{
package
}
:
{
head
}
(HEAD) (new package) [ERROR]
"
)
...
...
@@ -129,8 +132,8 @@ def check_versions(args, packages):
# Additional checks for device packages
if
package
.
startswith
(
'
device-
'
):
head_parsed
=
get_package_contents
(
args
,
package
,
"
HEAD
"
,
False
)
upstream_parsed
=
get_package_contents
(
args
,
package
,
commit
,
False
)
head_parsed
=
get_package_contents
(
package
,
"
HEAD
"
,
False
)
upstream_parsed
=
get_package_contents
(
package
,
commit
,
False
)
# checksums did not change
if
head_parsed
[
"
sha512sums
"
]
==
upstream_parsed
[
"
sha512sums
"
]:
...
...
@@ -191,8 +194,12 @@ if __name__ == "__main__":
# Initialize args (so we can use pmbootstrap's APKBUILD parsing)
sys
.
argv
=
[
"
pmbootstrap.py
"
,
"
chroot
"
]
args
=
pmb
.
parse
.
arguments
()
pmb
.
helpers
.
logging
.
init
(
args
)
context
=
get_context
()
# pmb.helpers.logging.init(args)
pmb
.
helpers
.
logging
.
init
(
context
.
log
,
args
.
verbose
,
context
.
details_to_stdout
)
# Verify package versions
print
(
"
checking changed package versions...
"
)
check_versions
(
args
,
packages
)
check_versions
(
packages
)
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment