This is a GitHub Action that will
build a Debian package
(.deb
file) using the latest version of Debian Stretch.
on:
push:
branches:
- master
jobs:
build-deb:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: singingwolfboy/build-dpkg-stretch@v1
id: build
with:
args: --unsigned-source --unsigned-changes
- uses: actions/upload-artifact@v1
with:
name: ${{ steps.build.outputs.filename }}
path: ${{ steps.build.outputs.filename }}
This Action wraps the dpkg-buildpackage
command. To use it, you must have a debian
directory at the top of
your repository, with all the files that dpkg-buildpackage
expects.
This Action does the following things inside a Docker container:
- Call
mk-build-deps
to ensure that the build dependencies defined thedebian/control
file are installed in the Docker image. - Call
dpkg-buildpackage
with whatever arguments are passed to theargs
input in the step definition. - Move the resulting
*.deb
files into the top level of your repository, so that other GitHub Actions steps can process them futher. - Set the
filename
andfilename-dbgsym
outputs, so that other GitHub Actions steps can easily reference the resulting files.
If you need to build Debian packages on a different release, check out the following:
If you want to upload the package to Amazon S3
instead of using
actions/upload-artifact
,
you may want to use
the official Docker image for the AWS CLI,
like this:
jobs:
build-deb:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: singingwolfboy/build-dpkg-stretch@v1
id: build
with:
args: --unsigned-source --unsigned-changes
- uses: docker://amazon/aws-cli:latest
env:
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
with:
args: >-
s3
cp
${{ steps.build.outputs.filename }}
s3://my-bucket-name/${{ steps.build.outputs.filename }}
--content-type "application/vnd.debian.binary-package"