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-depsto ensure that the build dependencies defined thedebian/controlfile are installed in the Docker image. - Call
dpkg-buildpackagewith whatever arguments are passed to theargsinput in the step definition. - Move the resulting
*.debfiles into the top level of your repository, so that other GitHub Actions steps can process them futher. - Set the
filenameandfilename-dbgsymoutputs, 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"