Code Monkey home page Code Monkey logo

mock-rpm's Introduction

Mock RPM Action

This GitHub Action provides a friendly interface for building RPMs using Mock.

For building source RPMs (SRPMs) please see the jw3/mock-srpm action.

Example workflow

name: build
on: [push, pull_request]

jobs:
  rpm:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: jw3/mock-srpm@v1
        with:
          chroot: fedora-39-x86_64
          spec: test/simple/simple.spec
      - uses: jw3/mock-rpm@v1
        with:
          chroot: fedora-39-x86_64
          srpm: simple-*.src.rpm

Inputs

Name Required Default Description
chroot Y Mock chroot id (list)
srpm Y Path to the src rpm
cache N Enable chroot environment caching
image N fedora:latest Container image for Mock execution
debug N Show rpmbuild logs on success (auto on-fail)
result-dir Y github.workspace Target path for writing build artifacts

Caching

Using actions/cache to persit the Mock chroot, via the root_cache plugin, is enabled by default.

Also cached is the container image, but only when mock has been installed by this action.

To enable caching set the cache property to 'true'

About Mock

Mock is used by the Fedora Build system to populate a chroot environment, which is then used in building a source-RPM (SRPM). It can be used for long-term management of a chroot environment, but generally a chroot is populated (using DNF), an SRPM is built in the chroot to generate binary RPMs, and the chroot is then discarded.

https://github.com/rpm-software-management/mock

License

MIT

mock-rpm's People

Contributors

jw3 avatar

Watchers

 avatar

Forkers

bschonec

mock-rpm's Issues

Add option to run a preconfigured Docker Image to bypass all of the DNF mock installation

It takes quite a bit of time and bandwidth to install mock. Could this action be updated so that it could use a pre-configured Docker image with the mock stuff already installed so that all of the repetitive downloads aren't necessary? I've got several, very small SPEC files that take about 10 seconds to build but it takes about three minutes just to build the mock environment. The vast majority of this time is initializing the mock environment.

Perhaps fedora:latest could be a variable and then logic surrounding the initialization and configuration of mock could be bypassed in the event that (for example) ${mock_container} is defined.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.