Skip to content
check

GitHub Action

build-rpm-action

v2.5.0 Latest version

build-rpm-action

check

build-rpm-action

Build rpm package

Installation

Copy and paste the following snippet into your .yml file.

              

- name: build-rpm-action

uses: jiro4989/[email protected]

Learn more about this action in jiro4989/build-rpm-action

Choose a version

build-rpm-action

Test reviewdog release GitHub release (latest SemVer) action-bumpr supported

build-rpm-action builds a simple rpm package.

See build-deb-action if you want to create debian package.

Input

inputs:
  summary:
    description: 'Package summary.'
    required: true
  package:
    description: 'Package name of debian package.'
    required: true
  package_root:
    description: 'Directory of release files.'
    required: true
  maintainer:
    description: 'Package maintainer name.'
    required: true
  vendor:
    description: 'Package vendor.'
    default: ''
  version:
    description: 'Package version.'
    required: true
  arch:
    description: 'Package architecture.'
    default: 'x86_64'
  desc:
    description: 'Package description.'
    default: ''
  license:
    description: 'Package LICENSE.'
  post:
    description: 'Package post.'
    default: ''
  build_requires:
    description: 'Package build requires.'
    # NOTE: for nim parseops package bugs
    default: '-'
  requires:
    description: 'Package requires.'
    # NOTE: for nim parseops package bugs
    default: '-'

Output

outputs:
  file_name:
    description: 'File name of resulting .rpm file. This does not contain a debuginfo file.'
  debuginfo_file_name:
    description: 'File name of resulting .rpm debuginfo file.'

Usage

name: build

on:
  push:
    tags:
      - 'v*.*.*'

jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2

      - name: create sample script
        run: |
          mkdir -p .rpmpkg/usr/bin
          mkdir -p .rpmpkg/usr/lib/testbin
          echo -e "echo hello" > .rpmpkg/usr/bin/testbin
          echo -e "echo hello2" > .rpmpkg/usr/bin/testbin2
          echo -e "a=1" > .rpmpkg/usr/lib/testbin/testbin.conf
          chmod +x .rpmpkg/usr/bin/*

      - uses: jiro4989/build-rpm-action@v2
        with:
          summary: 'testbin is a test script'
          package: testbin
          package_root: .rpmpkg
          maintainer: jiro4989
          version: ${{ github.ref }} # refs/tags/v*.*.*
          arch: 'x86_64'
          desc: 'test package'

Example projects

Development

Flow

  1. Create a new branch
  2. Commit
  3. Merge the branch into develop branch
  4. Push develop branch
  5. Check passing all tests
  6. Create a new pull request
  7. Merge the branch into master branch

This actions is using a DockerHub image. We must push docker-v0.0.0 git-tag to create a new tagged docker image. Published a new tagged docker image, and change tag of action.yml into develop branch, and check passing all tests, and merge into master.

Release

You can bump version on merging Pull Requests with specific labels (bump:major,bump:minor,bump:patch). Pushing tag manually by yourself also work.

This action updates major/minor release tags on a tag push. e.g. Update v1 and v1.2 tag when released v1.2.3. ref: https://help.github.com/en/articles/about-actions#versioning-your-action

Lint - reviewdog integration

This reviewdog action template itself is integrated with reviewdog to run lints which is useful for Docker container based actions.

reviewdog integration

Supported linters: