Build o2-full-deps repositories #58
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
--- | |
# Create repositories with all O2 prerequisites plus aliBuild and push them | |
# upstream (e.g. to S3). | |
name: o2-full-deps release | |
# Controls when the action will run. This workflow is triggered manually. | |
"on": | |
workflow_dispatch: | |
permissions: {} | |
jobs: | |
rpm-el7: | |
runs-on: ubuntu-latest | |
container: centos:7 | |
env: | |
ALIBUILD_TAG: v1.14.5 | |
steps: | |
# For rpms/*.spec | |
- uses: actions/checkout@v3 | |
- name: Install prerequisites | |
run: | | |
set -x | |
yum install -y rpm-build scl-utils-build createrepo unzip git python3-setuptools | |
curl https://rclone.org/install.sh | bash | |
cat << EOF > /tmp/rclone.conf | |
${{ secrets.S3_RCLONE_CONFIG }} | |
EOF | |
- name: Build the EL7 RPM and create a yum repo | |
run: | | |
set -x | |
rpmbuild -ba rpms/o2-prereq.spec | |
git clone -b "$ALIBUILD_TAG" https://github.com/alisw/alibuild | |
pushd alibuild | |
perl -p -i -e "s/LAST_TAG/$ALIBUILD_TAG/g" alibuild_helpers/__init__.py | |
python3 setup.py bdist_rpm --requires python3,python3-requests,git,python3-PyYAML | |
cp dist/alibuild-*.noarch.rpm ~/rpmbuild/RPMS/x86_64/ | |
popd | |
cd ~/rpmbuild/RPMS/x86_64/ | |
createrepo . | |
rclone --config /tmp/rclone.conf --transfers=10 --progress --delete-before \ | |
sync local:./ rpms3:alibuild-repo/RPMS/o2-full-deps_x86-64/ | |
rpm-el8: | |
runs-on: ubuntu-latest | |
container: centos:8 | |
env: | |
ALIBUILD_TAG: v1.14.5 | |
steps: | |
# For rpms/*.spec | |
- uses: actions/checkout@v3 | |
- name: Install prerequisites | |
run: | | |
set -x | |
sed -i.bak -e 's/mirrorlist/#mirrorlist/g' /etc/yum.repos.d/CentOS-* | |
sed -i.bak -e 's|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g' /etc/yum.repos.d/CentOS-* | |
find /etc/yum.repos.d -name "*.bak" -delete | |
yum clean all | |
yum update -y | |
yum install -y rpm-build scl-utils-build createrepo unzip git python3-setuptools python3 | |
curl https://rclone.org/install.sh | bash | |
cat << EOF > /tmp/rclone.conf | |
${{ secrets.S3_RCLONE_CONFIG }} | |
EOF | |
- name: Build the EL8 RPM and create a yum repo | |
run: | | |
set -x | |
rpmbuild -ba rpms/o2-prereq-cc8.spec | |
git clone -b "$ALIBUILD_TAG" https://github.com/alisw/alibuild | |
pushd alibuild | |
perl -p -i -e "s/LAST_TAG/$ALIBUILD_TAG/g" alibuild_helpers/__init__.py | |
python3 setup.py bdist_rpm --requires python3,git,python3-pyyaml | |
cp dist/alibuild-*.noarch.rpm ~/rpmbuild/RPMS/x86_64/ | |
popd | |
cd ~/rpmbuild/RPMS/x86_64/ | |
createrepo . | |
ls -la | |
rclone --config /tmp/rclone.conf --transfers=10 --progress --delete-before \ | |
sync local:./ rpms3:alibuild-repo/RPMS/o2-full-deps_el8.x86-64/ | |
rpm-el9: | |
runs-on: ubuntu-latest | |
container: almalinux:9 | |
env: | |
ALIBUILD_TAG: v1.15.0 | |
steps: | |
# For rpms/*.spec | |
- uses: actions/checkout@v3 | |
- name: Install prerequisites | |
run: | | |
set -x | |
yum clean all | |
yum update -y | |
yum install -y rpm-build scl-utils-build createrepo unzip git python3 python3-pip python3-setuptools | |
curl https://rclone.org/install.sh | bash | |
cat << EOF > /tmp/rclone.conf | |
${{ secrets.S3_RCLONE_CONFIG }} | |
EOF | |
- name: Build the EL9 RPM and create a yum repo | |
run: | | |
set -x | |
rpmbuild -ba rpms/o2-prereq-alma9.spec | |
git clone -b "$ALIBUILD_TAG" https://github.com/alisw/alibuild | |
pushd alibuild | |
python3 setup.py bdist_rpm --requires python3,git,python3-pyyaml,python3-requests,python3-distro | |
cp dist/alibuild-*.noarch.rpm ~/rpmbuild/RPMS/x86_64/ | |
popd | |
cd ~/rpmbuild/RPMS/x86_64/ | |
createrepo . | |
ls -la | |
rclone --config /tmp/rclone.conf --transfers=10 --progress --delete-before \ | |
sync local:./ rpms3:alibuild-repo/RPMS/o2-full-deps_el9.x86-64/ | |
rpm-fedora: | |
runs-on: ubuntu-latest | |
container: fedora:33 | |
env: | |
ALIBUILD_TAG: v1.14.5 | |
steps: | |
# For rpms/*.spec | |
- uses: actions/checkout@v3 | |
- name: Install prerequisites | |
run: | | |
set -x | |
yum install -y rpm-build scl-utils-build createrepo unzip git python3-setuptools python3 | |
curl https://rclone.org/install.sh | bash | |
cat << EOF > /tmp/rclone.conf | |
${{ secrets.S3_RCLONE_CONFIG }} | |
EOF | |
- name: Build the Fedora RPM and create a yum repo. | |
run: | | |
set -x | |
rpmbuild -ba --define '__python %__python3' rpms/o2-prereq-fedora.spec | |
git clone -b "$ALIBUILD_TAG" https://github.com/alisw/alibuild | |
pushd alibuild | |
perl -p -i -e "s/LAST_TAG/$ALIBUILD_TAG/g" alibuild_helpers/__init__.py | |
python3 setup.py bdist_rpm --requires python3,git,python3-pyyaml,python3-requests | |
cp dist/alibuild-*.noarch.rpm ~/rpmbuild/RPMS/x86_64/ | |
popd | |
cd ~/rpmbuild/RPMS/x86_64/ | |
createrepo . | |
ls -la | |
rclone --config /tmp/rclone.conf --transfers=10 --progress --delete-before \ | |
sync local:./ rpms3:alibuild-repo/RPMS/o2-full-deps_fedora.x86-64/ | |
deb-ubuntu: | |
runs-on: ubuntu-latest | |
strategy: | |
# Keep running jobs for other Ubuntu versions, even if one fails. | |
fail-fast: false | |
matrix: | |
ubuntu_codename: | |
- bionic # 18.04 | |
- focal # 20.04 | |
- jammy # 22.04 | |
container: ubuntu:${{ matrix.ubuntu_codename }} | |
env: | |
ALIBUILD_TAG: v1.14.5 | |
ALIBUILD_DISTRO: ${{ matrix.ubuntu_codename }} | |
DEBIAN_FRONTEND: noninteractive | |
steps: | |
- name: Install prerequisites | |
run: | | |
apt update | |
apt install -y vim git devscripts build-essential lintian debhelper dh-python python3-all python3-setuptools python3-setuptools-scm | |
gpg --import - <<\EOF | |
${{ secrets.LAUNCHPAD_PPA_GPG_KEY }} | |
EOF | |
- name: Build a DEB for Ubuntu and push it to the PPA | |
run: | | |
set -x | |
git clone -b "$ALIBUILD_TAG" https://github.com/alisw/alibuild | |
cd alibuild | |
cat <<EOF > debian/changelog | |
python3-alibuild (${ALIBUILD_TAG#v}~$ALIBUILD_DISTRO) $ALIBUILD_DISTRO; urgency=medium | |
* Bump to $ALIBUILD_TAG | |
-- Giulio Eulisse <[email protected]> $(date -R -u) | |
EOF | |
debuild --no-lintian -k48F330BAFFA564EF2383E2B472E9262B5C0D9DE5 -S | |
dput ppa:alisw/ppa "../python3-alibuild_${ALIBUILD_TAG#v}~${ALIBUILD_DISTRO}_source.changes" |