name: RPM/DEB build x86-64 on: push: branches: [ "master", "test-ci" ] paths: [ 'RELEASE', '.github/workflows/build-rpm-x86-64.yml' ] jobs: ci: name: "${{ matrix.target }}" strategy: matrix: target: - ubuntu-latest runs-on: ${{ matrix.target }} steps: - uses: actions/checkout@v5 - name: env run: | pwd echo "RELEASE=$(cat RELEASE)" >> $GITHUB_ENV echo "VERSION=$(date +%y%m%d%H%M%S)" >> $GITHUB_ENV echo "MAJOR=$(cat RELEASE | cut -d "-" -f 1)" >> $GITHUB_ENV echo "SUBMAJOR=$(cat RELEASE | cut -d "-" -f 2)" >> $GITHUB_ENV echo "MINOR=$(cat RELEASE | cut -d "-" -f 3)" >> $GITHUB_ENV - name: echo env run: echo "release $RELEASE version $VERSION major $MAJOR submajor $SUBMAJOR minor $MINOR" - name: Linux libraries run: | sudo apt update sudo apt install libssl-dev libpam-dev libpcre2-dev rpm build-essential debhelper - name: configure rpm/deb env run: | mkdir ~/debian mkdir -p ~/rpmbuild/{BUILD,RPMS,SOURCES,SPECS,SRPMS} tar -czf ~/rpmbuild/SOURCES/3proxy-$RELEASE.tar.gz --transform "s,^,3proxy-$RELEASE/," . ln -s ~/rpmbuild/SOURCES/3proxy-$RELEASE.tar.gz ~/rpmbuild/SOURCES/$RELEASE.tar.gz cp scripts/rh/3proxy.spec ~/rpmbuild/SPECS/3proxy-$RELEASE.spec cp ~/rpmbuild/SOURCES/3proxy-$RELEASE.tar.gz ~/debian/3proxy_$RELEASE.orig.tar.gz - name: rpmbuild run: | ret=`pwd` cd ~/rpmbuild/SPECS rpmbuild -ba 3proxy-$RELEASE.spec cd $ret mv ~/rpmbuild/RPMS/x86_64/3proxy-$RELEASE-1.x86_64.rpm 3proxy-$RELEASE.x86_64.rpm - name: Get artifact rpm uses: actions/upload-artifact@v6 with: name: "3proxy-${{ env.RELEASE }}-x86_64.rpm" path: "*.rpm" - name: debbuild run: | ret=`pwd` cd ~/debian/ tar xzf 3proxy_$RELEASE.orig.tar.gz cd 3proxy-$RELEASE echo "3proxy ($RELEASE-$VERSION) buster; urgency=medium" >debian/changelog echo " " >>debian/changelog echo " *3proxy $RELEASE build" >>debian/changelog echo " " >>debian/changelog echo " -- z3APA3A <3apa3a@3proxy.org> "`date "+%a, %d %b %Y %H:%M:%S %z"` >>debian/changelog echo "">>debian/changelog dpkg-buildpackage cd $ret cp ~/debian/3proxy_$RELEASE-"$VERSION"_amd64.deb ./3proxy-$RELEASE.x86_64.deb - name: Get artifact deb uses: actions/upload-artifact@v6 with: name: "3proxy-${{ env.RELEASE }}-x86_64.deb" path: "*.deb"