naveenrajm7 / rpmbuild

A GitHub Action to build RPMs from source code and spec file, uses rpmbuild .
https://github.com/marketplace/actions/rpm-build
GNU General Public License v3.0
32 stars 48 forks source link

Make rpmbuild work work with private repos #10

Closed belden closed 2 years ago

belden commented 3 years ago

Resolves https://github.com/naveenrajm7/rpmbuild/issues/9

Previously, in order to create /github/home/rpmbuild/SOURCES/foo-1.2.0.tar.gz, rpmbuild did the following:

  1. use curl to download a tarball of the project source
  2. unpack it into a local directory
  3. repack it with the correct desired directory structure
  4. move the repacked tarball to /github/home/rpmbuild/SOURCES

This failed for me at step 1 because the repo I'm trying to use rpmbuild on is a private repo. There's no means of plumbing a github auth token into the curl command, so the tarball fails to download and everything else fails.


Since we have the current repo tree in /github/workspace, we can coerce git to make the archive for us. Now, we:

  1. ask git to make the archive

and everything works with a private repo. In order to make this approach work, I've added git into the build container.

naveenrajm7 commented 2 years ago

@belden I appreciate you taking time to work on this . Thank you for your contribution