commit:     b626e67544b166813669b54835108a43ade9d2ac
Author:     Andrew Ammerlaan <andrewammerlaan <AT> riseup <DOT> net>
AuthorDate: Fri Apr  2 10:04:44 2021 +0000
Commit:     Andrew Ammerlaan <andrewammerlaan <AT> riseup <DOT> net>
CommitDate: Fri Apr  2 10:04:44 2021 +0000
URL:        https://gitweb.gentoo.org/proj/sci.git/commit/?id=b626e675

.github/workflows: always use the latest version of repoman

Signed-off-by: Andrew Ammerlaan <andrewammerlaan <AT> riseup.net>

 .github/workflows/duplicates.yml |  6 +-----
 .github/workflows/pkgcheck.yml   |  4 +---
 .github/workflows/repoman.yml    | 22 ++++------------------
 scripts/check-duplicates.sh      |  2 --
 scripts/setup-and-run-repoman.sh | 30 ++++++++++++++++++++++++++++++
 scripts/setup-master-gentoo.sh   | 10 ++++++++++
 6 files changed, 46 insertions(+), 28 deletions(-)

diff --git a/.github/workflows/duplicates.yml b/.github/workflows/duplicates.yml
index 656d2d871..0a1f34a9d 100644
--- a/.github/workflows/duplicates.yml
+++ b/.github/workflows/duplicates.yml
@@ -15,11 +15,7 @@ jobs:
     - uses: actions/checkout@v2
     - name: Setup master gentoo repository
       run: |
-        sudo mkdir -p /var/db/repos/gentoo /etc/portage /var/cache/distfiles
-        wget -qO - 
"https://github.com/gentoo-mirror/gentoo/archive/master.tar.gz"; | sudo tar xz 
-C /var/db/repos/gentoo --strip-components=1
-        sudo wget "https://www.gentoo.org/dtd/metadata.dtd"; -O 
/var/cache/distfiles/metadata.dtd
-        sudo wget 
"https://gitweb.gentoo.org/proj/portage.git/plain/cnf/repos.conf"; -O 
/etc/portage/repos.conf
-        sudo ln -s /var/db/repos/gentoo/profiles/default/linux/amd64/17.1 
/etc/portage/make.profile
+        ./scripts/setup-master-gentoo.sh
     - name: Check for duplicates
       run: |
         ./scripts/check-duplicates.sh

diff --git a/.github/workflows/pkgcheck.yml b/.github/workflows/pkgcheck.yml
index 3a20016ac..e3abc3de6 100644
--- a/.github/workflows/pkgcheck.yml
+++ b/.github/workflows/pkgcheck.yml
@@ -12,9 +12,7 @@ jobs:
   build:
     runs-on: ubuntu-latest
     steps:
-    - name: Checkout code
-      uses: actions/checkout@v2
-
+    - uses: actions/checkout@v2
     - name: Run pkgcheck
       uses: pkgcore/pkgcheck-action@v1
       with:

diff --git a/.github/workflows/repoman.yml b/.github/workflows/repoman.yml
index a06a23b3b..afea3ae53 100644
--- a/.github/workflows/repoman.yml
+++ b/.github/workflows/repoman.yml
@@ -13,24 +13,10 @@ jobs:
     runs-on: ubuntu-latest
     steps:
     - uses: actions/checkout@v2
-    - name: Set up Python 3.9
-      uses: actions/setup-python@v2
-      with:
-        python-version: 3.9
-    - name: Setup repoman
-      run: |
-        python -m pip install --upgrade pip
-        pip install lxml pyyaml
-        wget -qO - 
"https://github.com/gentoo/portage/archive/portage-3.0.17.tar.gz"; | tar xz
-        sudo groupadd -g 250 portage
-        sudo useradd -g portage -d /var/tmp/portage -s /bin/false -u 250 
portage
     - name: Setup master gentoo repository
       run: |
-        sudo mkdir -p /var/db/repos/gentoo /etc/portage /var/cache/distfiles
-        wget -qO - 
"https://github.com/gentoo-mirror/gentoo/archive/master.tar.gz"; | sudo tar xz 
-C /var/db/repos/gentoo --strip-components=1
-        sudo wget "https://www.gentoo.org/dtd/metadata.dtd"; -O 
/var/cache/distfiles/metadata.dtd
-        sudo wget 
"https://gitweb.gentoo.org/proj/portage.git/plain/cnf/repos.conf"; -O 
/etc/portage/repos.conf
-        sudo ln -s /var/db/repos/gentoo/profiles/default/linux/amd64/17.1 
/etc/portage/make.profile
-    - name: Test with repoman
+        ./scripts/setup-master-gentoo.sh
+    - name: Setup and run Repoman
       run: |
-        python3 portage-portage-3.0.17/repoman/bin/repoman full -dx
+        ./scripts/setup-and-run-repoman.sh
+

diff --git a/scripts/check-duplicates.sh b/scripts/check-duplicates.sh
index d8e56463e..3f1c38329 100755
--- a/scripts/check-duplicates.sh
+++ b/scripts/check-duplicates.sh
@@ -4,7 +4,6 @@
 #
 # This checks for potential and exact package matches within an overlay & 
::gentoo
 # Note that this is not going to be 100% accurate
-#
 
 GENTOO_DIR="/var/db/repos/gentoo"
 GENTOO_PACKAGES=(
@@ -73,6 +72,5 @@ if [[ -n ${PKG_EXACT_MATCH} ]]; then
        printf "\nERROR: The following packages override packages in the main 
Gentoo repository:\n"
        printf "${PKG_EXACT_MATCH}"
        printf "Please remove these packages.\n"
-       # do not fatally exit
        # exit 1
 fi

diff --git a/scripts/setup-and-run-repoman.sh b/scripts/setup-and-run-repoman.sh
new file mode 100755
index 000000000..f6607549d
--- /dev/null
+++ b/scripts/setup-and-run-repoman.sh
@@ -0,0 +1,30 @@
+#! /usr/bin/env bash
+# Maintainer: Andrew Ammerlaan <andrewammerl...@riseup.net>
+#
+# This sets up repoman and runs the latest version
+#
+# TODO: Force repoman to output in colour
+
+### Setup prerequisites
+python3 -m pip install --upgrade pip
+pip install lxml pyyaml
+sudo groupadd -g 250 portage
+sudo useradd -g portage -d /var/tmp/portage -s /bin/false -u 250 portage
+
+### Sync the portage repository
+git clone https://github.com/gentoo/portage.git
+cd portage
+
+# Get all versions, and read into array
+mapfile -t RM_VERSIONS < <( git tag | grep repoman | sort -u )
+
+# Select latests version (last element in array)
+RM_VERS="${RM_VERSIONS[-1]}"
+
+# Checkout this version
+git checkout tags/${RM_VERS} -b ${RM_VERS}
+
+cd ..
+
+### Run repoman
+python3 portage/repoman/bin/repoman -dx full

diff --git a/scripts/setup-master-gentoo.sh b/scripts/setup-master-gentoo.sh
new file mode 100755
index 000000000..a2939721a
--- /dev/null
+++ b/scripts/setup-master-gentoo.sh
@@ -0,0 +1,10 @@
+#! /usr/bin/env bash
+# Maintainer: Andrew Ammerlaan <andrewammerl...@riseup.net>
+#
+# Fetch and setup the latest ::gentoo
+
+sudo mkdir -p /var/db/repos/gentoo /etc/portage /var/cache/distfiles
+wget -qO - "https://github.com/gentoo-mirror/gentoo/archive/master.tar.gz"; | 
sudo tar xz -C /var/db/repos/gentoo --strip-components=1
+sudo wget "https://www.gentoo.org/dtd/metadata.dtd"; -O 
/var/cache/distfiles/metadata.dtd
+sudo wget "https://gitweb.gentoo.org/proj/portage.git/plain/cnf/repos.conf"; -O 
/etc/portage/repos.conf
+sudo ln -s /var/db/repos/gentoo/profiles/default/linux/amd64/17.1 
/etc/portage/make.profile

Reply via email to