Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Only build stable on version change and in virtualmin repo #10

Merged
merged 11 commits into from
Jul 10, 2023
1 change: 1 addition & 0 deletions .github/workflows/build-devel-deb.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ on:
jobs:
build:
runs-on: ubuntu-20.04
if: github.repository == 'virtualmin/*'
steps:
- uses: actions/checkout@v3
with:
Expand Down
1 change: 1 addition & 0 deletions .github/workflows/build-devel-rpm.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ on:
jobs:
build:
runs-on: ubuntu-20.04
if: github.repository == 'virtualmin/*'
steps:
- uses: actions/checkout@v3
with:
Expand Down
30 changes: 30 additions & 0 deletions .github/workflows/build-stable-deb.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
name: "build-stable-deb"

on:
push:
branches:
- stable
paths:
- 'module.info'

jobs:
build:
runs-on: ubuntu-20.04
if: github.repository == 'virtualmin/*'
steps:
- uses: actions/checkout@v3
with:
path: 'jailkit'

- name: Install dependencies
run: |-
sudo apt-get -y update
sudo apt-get -y install perl build-essential gnupg curl
curl -O https://raw.githubusercontent.com/webmin/webmin/master/mod_def_list.txt
curl -O https://raw.githubusercontent.com/webmin/webmin/master/makemoduledeb.pl
- name: Build package
env:
APTLY_USER: ${{ secrets.APTLY_USER }}
APTLY_PASSWD: ${{ secrets.APTLY_PASSWD }}
run: |-
jailkit/build-stable-deb.sh
37 changes: 37 additions & 0 deletions .github/workflows/build-stable-rpm.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
name: "build-devel-rpm"

on:
push:
branches:
- stable
paths:
- 'module.info'

jobs:
build:
runs-on: ubuntu-20.04
if: github.repository == 'virtualmin/*'
steps:
- uses: actions/checkout@v3
with:
path: 'jailkit'

- name: Install dependencies
run: |-
sudo apt-get -y update
sudo apt-get -y install rpm perl build-essential gnupg curl
curl -O https://raw.githubusercontent.com/webmin/webmin/master/mod_def_list.txt
curl -O https://raw.githubusercontent.com/webmin/webmin/master/makemodulerpm.pl
- name: Setup ssh
env:
BUILD_SSH_PRIVATE_KEY: ${{ secrets.BUILD_SSH_PRIVATE_KEY }}
BUILD_SSH_KNOWN_HOSTS: ${{ secrets.BUILD_SSH_KNOWN_HOSTS }}
run: |-
install -m 600 -D /dev/null ~/.ssh/id_ed25519
echo "${{ secrets.BUILD_SSH_PRIVATE_KEY }}" > ~/.ssh/id_ed25519
echo "${{ secrets.BUILD_SSH_KNOWN_HOSTS }}" > ~/.ssh/known_hosts
- name: Build package
env:
BUILD_SSH_USER: ${{ secrets.BUILD_SSH_USER }}
run: |-
jailkit/build-stable-rpm.sh
5 changes: 3 additions & 2 deletions build-devel-rpm.sh
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,8 @@ ls "${HOME}/rpmbuild/SPECS"
perl makemodulerpm.pl --rpm-depends --licence 'GPLv3' --allow-overwrite $epoch "$MOD" "$VERSION"

# Copy to build/deploy server
scp -i "${HOME}/.ssh/id_ed25519" "${HOME}/rpmbuild/RPMS/noarch/${NAME}-${VERSION}-1.noarch.rpm" "$BUILD_SSH_USER@build.virtualmin.com:/home/build/result/vm/7/gpl-devel/rpm/noarch"
chmod g+w "${HOME}/rpmbuild/RPMS/noarch/${NAME}-${VERSION}-1.noarch.rpm"
scp -i "${HOME}/.ssh/id_ed25519" -p "${HOME}/rpmbuild/RPMS/noarch/${NAME}-${VERSION}-1.noarch.rpm" "$BUILD_SSH_USER@build.virtualmin.com:/home/build/result/vm/7/gpl-devel/rpm/noarch"
# Add it to the publish queue
ssh -i "${HOME}/.ssh/id_ed25519" "$BUILD_SSH_USER@build.virtualmin.com" "flock /home/build/rpm-publish-queue -c 'echo vm/7/gpl-devel/rpm/noarch >> /home/build/rpm-publish-queue'"
ssh -i "${HOME}/.ssh/id_ed25519" "$BUILD_SSH_USER@build.virtualmin.com" "flock /home/build/rpm-publish-queue -c 'echo vm/7/gpl-devel/rpm/noarch/${NAME}-${VERSION}-1.noarch.rpm >> /home/build/rpm-publish-queue'"

24 changes: 24 additions & 0 deletions build-stable-deb.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
#!/bin/bash
# Build and publish a package, called by github actions

# echo, exit on error/undefined vars
set -xeu

MOD='jailkit'
NAME="webmin-$MOD"

# Load module.info to get version
version=$(grep version $MOD/module.info | cut -d'=' -f2)
VERSION="${version}"

mkdir tmp
perl makemoduledeb.pl --deb-depends --licence 'GPLv3' --email 'joe@virtualmin.com' --allow-overwrite --target-dir tmp "$MOD" "$VERSION"
mv "tmp/${NAME}_${VERSION}_all.deb" .

# Publish to aptly
curl --user $APTLY_USER:$APTLY_PASSWD -X POST -F file=@${NAME}_${VERSION}_all.deb https://aptly.virtualmin.com/api/files/${NAME}_${VERSION}
curl --user $APTLY_USER:$APTLY_PASSWD -X POST https://aptly.virtualmin.com/api/repos/virtualmin-7-gpl/file/${NAME}_${VERSION}
curl -i --user $APTLY_USER:$APTLY_PASSWD -X PUT -H 'Content-Type: application/json' --data '{}' https://aptly.virtualmin.com/api/publish/filesystem:7-gpl:./virtualmin
curl --user $APTLY_USER:$APTLY_PASSWD -X POST -F file=@${NAME}_${VERSION}_all.deb https://aptly.virtualmin.com/api/files/${NAME}_${VERSION}
curl --user $APTLY_USER:$APTLY_PASSWD -X POST https://aptly.virtualmin.com/api/repos/virtualmin-gpl-universal/file/${NAME}_${VERSION}
curl -i --user $APTLY_USER:$APTLY_PASSWD -X PUT -H 'Content-Type: application/json' --data '{}' https://aptly.virtualmin.com/api/publish/filesystem:gpl:./virtualmin-universal
31 changes: 31 additions & 0 deletions build-stable-rpm.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
#!/bin/bash
# Build and publish a package, called by github actions

# echo, exit on error/undefined vars
set -xeu

MOD='jailkit'
NAME="wbm-$MOD"

# Load module.info to get version
version=$(grep version $MOD/module.info | cut -d'=' -f2)
VERSION="${version}"

if [ -f epoch ]; then
epoch="--epoch $(cat epoch)"
else
epoch=""
fi

# FIXME after PR is merged to Webmin
mkdir -p ${HOME}/rpmbuild/{BUILD,BUILDROOT,RPMS,SOURCES,SPECS,SRPMS}
mkdir -p "${HOME}/rpmbuild/RPMS/noarch"
perl makemodulerpm.pl --rpm-depends --licence 'GPLv3' --allow-overwrite $epoch "$MOD" "$VERSION"

# Copy to build/deploy server
chmod g+w "${HOME}/rpmbuild/RPMS/noarch/${NAME}-${VERSION}-1.noarch.rpm"
scp -i "${HOME}/.ssh/id_ed25519" -p "${HOME}/rpmbuild/RPMS/noarch/${NAME}-${VERSION}-1.noarch.rpm" "$BUILD_SSH_USER@build.virtualmin.com:/home/build/result/vm/7/gpl/rpm/noarch"
scp -i "${HOME}/.ssh/id_ed25519" -p "${HOME}/rpmbuild/RPMS/noarch/${NAME}-${VERSION}-1.noarch.rpm" "$BUILD_SSH_USER@build.virtualmin.com:/home/build/result/vm/6/gpl/universal"
# Add it to the publish queue
ssh -i "${HOME}/.ssh/id_ed25519" "$BUILD_SSH_USER@build.virtualmin.com" "flock /home/build/rpm-publish-queue -c 'echo vm/7/gpl/rpm/noarch/${NAME}-${VERSION}-1.noarch.rpm >> /home/build/rpm-publish-queue'"
ssh -i "${HOME}/.ssh/id_ed25519" "$BUILD_SSH_USER@build.virtualmin.com" "flock /home/build/rpm-publish-queue -c 'echo vm/6/gpl/universal/${NAME}-${VERSION}-1.noarch.rpm >> /home/build/rpm-publish-queue'"
2 changes: 1 addition & 1 deletion module.info
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,4 @@ name=Jailkit
desc=Jailkit Jail Manager
os_support=*-linux
category=system
version=0.7
version=0.9