Skip to content

jiro4989/build-rpm-action

Use this GitHub action with your project
Add this Action to an existing workflow or create a new one
View on Marketplace

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

60 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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: