Skip to content

build-deb-action builds a simple debian package.

License

Notifications You must be signed in to change notification settings

shumailaahmed/build-deb-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

95 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

build-deb-action

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

build-deb-action builds a simple debian package.

See build-rpm-action if you want to create rpm package.

Input

inputs:
  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
  version:
    description: 'Package version.'
    required: true
  installed_size:
    description: 'Package installed size. GitHub Actions set summarized byte size of `package_root` directory when this parameter is empty.'
    default: ''
    required: false
  depends:
    description: 'Package dependencies.'
    default: 'none'
    required: false
  arch:
    description: 'Package architecture.'
    default: 'amd64'
    required: false
  desc:
    description: 'Package description.'
    default: ''
    required: false

Output

outputs:
  file_name:
    description: 'File name of resulting .deb 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 .debpkg/usr/bin
          mkdir -p .debpkg/usr/lib/samplescript
          echo -e "echo sample" > .debpkg/usr/bin/samplescript
          chmod +x .debpkg/usr/bin/samplescript
          echo -e "a=1" > .debpkg/usr/lib/samplescript/samplescript.conf

          # create DEBIAN directory if you want to add other pre/post scripts
          mkdir -p .debpkg/DEBIAN
          echo -e "echo postinst" > .debpkg/DEBIAN/postinst
          chmod +x .debpkg/DEBIAN/postinst
      - uses: jiro4989/build-deb-action@v2
        with:
          package: samplescript
          package_root: .debpkg
          maintainer: your_name
          version: ${{ github.ref }} # refs/tags/v*.*.*
          arch: 'amd64'
          depends: 'libc6 (>= 2.2.1), git'
          desc: 'this is sample 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:

About

build-deb-action builds a simple debian package.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Nim 54.2%
  • Shell 34.3%
  • Dockerfile 11.5%