From 292e03dc22ddc1d5a3bf143d311344f8cc0d9f75 Mon Sep 17 00:00:00 2001 From: Andrew Ammerlaan Date: Fri, 2 Apr 2021 09:16:15 +0200 Subject: [PATCH] .github/workflows/repoman.yml: Use script to auto run the latest rm By using a seperate script instead of running everything in the yml file, we gain the ability to use and manipulate variables. This means that we can now automatically run the latest version of repoman, which should make this more hands-off by removing the need to update this every now and then. Signed-off-by: Andrew Ammerlaan --- .github/workflows/pkgcheck.yml | 4 +--- .github/workflows/repoman.yml | 15 ++------------- scripts/check-duplicates.sh | 1 - scripts/setup-and-run-repoman.sh | 30 ++++++++++++++++++++++++++++++ 4 files changed, 33 insertions(+), 17 deletions(-) create mode 100755 scripts/setup-and-run-repoman.sh diff --git a/.github/workflows/pkgcheck.yml b/.github/workflows/pkgcheck.yml index 048f17c5f4..e98762769e 100644 --- a/.github/workflows/pkgcheck.yml +++ b/.github/workflows/pkgcheck.yml @@ -10,9 +10,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 8eb8668ad5..b229afc94e 100644 --- a/.github/workflows/repoman.yml +++ b/.github/workflows/repoman.yml @@ -11,17 +11,6 @@ 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.12.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 @@ -29,6 +18,6 @@ jobs: 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 + - name: Setup and run Repoman run: | - python3 portage-portage-3.0.12/repoman/bin/repoman full -dx + ./scripts/setup-and-run-repoman.sh diff --git a/scripts/check-duplicates.sh b/scripts/check-duplicates.sh index 8c6743bbd2..ddd63fa680 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=( diff --git a/scripts/setup-and-run-repoman.sh b/scripts/setup-and-run-repoman.sh new file mode 100755 index 0000000000..f6607549d6 --- /dev/null +++ b/scripts/setup-and-run-repoman.sh @@ -0,0 +1,30 @@ +#! /usr/bin/env bash +# Maintainer: Andrew Ammerlaan +# +# 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