Skip to content

Add support to third party feeds #380

Add support to third party feeds

Add support to third party feeds #380

Workflow file for this run

name: Testing
on:
pull_request:
push:
paths-ignore: [LICENSE, README.md]
jobs:
apt-opts:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: ./
env:
DEB_BUILD_OPTIONS: noautodbgsym
with:
apt-opts: --install-recommends --no-install-suggests
buildpackage-opts: --build=binary --no-sign
source-dir: test
- run: |
dpkg --info debian/artifacts/test_1_amd64.deb
dpkg --contents debian/artifacts/test_1_amd64.deb | grep ./usr/bin/mybin
test -f debian/artifacts/test_1_amd64.buildinfo
test -f debian/artifacts/test_1_amd64.changes
before-build-hook:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: ./
env:
DEB_BUILD_OPTIONS: noautodbgsym
with:
before-build-hook: |
cd test
dch --maintmaint --newversion 2 "Version 2"
dch --maintmaint --release ""
buildpackage-opts: --build=binary --no-sign
extra-build-deps: devscripts
source-dir: test
- run: |
dpkg --info debian/artifacts/test_2_amd64.deb
dpkg --contents debian/artifacts/test_2_amd64.deb | grep ./usr/bin/mybin
test -f debian/artifacts/test_2_amd64.buildinfo
test -f debian/artifacts/test_2_amd64.changes
default-source-dir:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- run: cp -r test/* .
- uses: ./
env:
DEB_BUILD_OPTIONS: noautodbgsym
with:
buildpackage-opts: --build=binary --no-sign
- run: |
dpkg --info debian/artifacts/test_1_amd64.deb
dpkg --contents debian/artifacts/test_1_amd64.deb | grep ./usr/bin/mybin
test -f debian/artifacts/test_1_amd64.buildinfo
test -f debian/artifacts/test_1_amd64.changes
different-artifacts-dir:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: ./
env:
DEB_BUILD_OPTIONS: noautodbgsym
with:
artifacts-dir: my_artifacts
buildpackage-opts: --build=binary --no-sign
source-dir: test
- run: |
dpkg --info my_artifacts/test_1_amd64.deb
dpkg --contents my_artifacts/test_1_amd64.deb | grep ./usr/bin/mybin
test -f my_artifacts/test_1_amd64.buildinfo
test -f my_artifacts/test_1_amd64.changes
different-docker-image:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: ./
env:
DEB_BUILD_OPTIONS: noautodbgsym
with:
buildpackage-opts: --build=binary --no-sign
docker-image: ubuntu:latest
source-dir: test
- run: |
dpkg --info debian/artifacts/test_1_amd64.deb
dpkg --contents debian/artifacts/test_1_amd64.deb | grep ./usr/bin/mybin
test -f debian/artifacts/test_1_amd64.buildinfo
test -f debian/artifacts/test_1_amd64.changes
different-host-arch:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: ./
env:
DEB_BUILD_OPTIONS: noautodbgsym
with:
buildpackage-opts: --build=binary --no-sign
host-arch: i386
source-dir: test
- run: |
dpkg --info debian/artifacts/test_1_i386.deb
dpkg --contents debian/artifacts/test_1_i386.deb | grep ./usr/bin/mybin
test -f debian/artifacts/test_1_i386.buildinfo
test -f debian/artifacts/test_1_i386.changes
extra-apt-sources:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- run: cat test/Makefile_extra-apt-sources >> test/Makefile
- uses: ./
env:
DEB_BUILD_OPTIONS: noautodbgsym
with:
apt-sources: |
Types: deb
URIs: http://download.opensuse.org/repositories/shells:/fish:/release:/3/Debian_12/
Suites: /
Signed-By: /usr/share/keyrings/build-deb-action.gpg
apt-key: |
-----BEGIN PGP PUBLIC KEY BLOCK-----
mQENBFJUIeUBCADc62ZBGiIY3OWWSs7hj4TWrHARq43mjxuwqN9XLi/bdDXLDpfZ
NAH+8CcgB0eSDjBuNkZcCk17nCuVru3XJp/CEpJoK0MvsJg/nGM5BaDqeXpgat36
llvqSvs9u3C1vgEbR9Ct+aQa73WNP6WQsDVuPDw1T5F9iMo3PhoeBYA5FCmp+Y/Z
6kP4HUrXZcu7PWwwRkQzvvGjodfH6j2d7oYBJvXqkaiDlKc8qrTZOSqMSqeWz6QB
s/y1MNszh490vatbirieEroRaNINHewjcXvBJQfoO/Nl/hDjWD7XrJWPpi34dH58
9IGXLS9Qb6GYnisAjwhCyhCXa4Rsse4jo1cXABEBAAG0OHNoZWxsczpmaXNoIE9C
UyBQcm9qZWN0IDxzaGVsbHM6ZmlzaEBidWlsZC5vcGVuc3VzZS5vcmc+iQE8BBMB
AgAmBQJiVuZXAhsDBQkUIXRyBgsJCAcDAgQVAggDBBYCAwECHgECF4AACgkQLOKs
CNiAyOTxGQf+NGWiSyXHn5kCFnqGDt5tMX/4quf+Jf1LMWC/QVPYa5xZUDwtoEyI
Rq70YULn4IlR/2a6dy26mwTPvHsVWmXxwYR2Lbz3YwapoFUpnvC4UM1CPvqLoVfe
iDrZKv1+goV6aIj89TZw7L4gxPIDa6/wV7RDmBx07HqElNJoNDo9nz5LtRxH8vco
7eezpy8Ruf1B2aqjaRPWu65eMNooSuy7Fb5sQEInk6PNZN6JR2rCQ5MQR+AqbRlA
zTGGdIbX09jpeSaSTTWrcT0qLBv5gWWhvm4stGzAe6A1t3PjtEAIQIcVF+ede9G9
1PG/BqCW1QJhklj4LvJ/JrXk0idjcrkZKohGBBMRAgAGBQJSVCHlAAoJEDswEbdr
nWUjYg4An0xyb6ofXvNifTCINq/aE4ArH1XgAKCgjoMJ2Wjo8RVSgkSOaQvK6uPq
eQ==
=HAMp
-----END PGP PUBLIC KEY BLOCK-----
apt-preferences: |
Package: *
Pin: origin download.opensuse.org
Pin-Priority: 900
buildpackage-opts: --build=binary --no-sign
# Install the fish shell because I really like fish (the shell).
extra-build-deps: fish
source-dir: test
- run: |
dpkg --info debian/artifacts/test_1_amd64.deb
dpkg --contents debian/artifacts/test_1_amd64.deb | grep ./usr/bin/mybin
test -f debian/artifacts/test_1_amd64.buildinfo
test -f debian/artifacts/test_1_amd64.changes
extra-build-deps:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- run: cat test/Makefile_extra-build-deps >> test/Makefile
- uses: ./
env:
DEB_BUILD_OPTIONS: noautodbgsym
with:
buildpackage-opts: --build=binary --no-sign
# Install an extra package unlikely to be ever installed by default:
extra-build-deps: libzt1
source-dir: test
- run: |
dpkg --info debian/artifacts/test_1_amd64.deb
dpkg --contents debian/artifacts/test_1_amd64.deb | grep ./usr/bin/mybin
test -f debian/artifacts/test_1_amd64.buildinfo
test -f debian/artifacts/test_1_amd64.changes
extra-docker-args:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- run: cat test/Makefile_extra-docker-args >> test/Makefile
- uses: ./
env:
DEB_BUILD_OPTIONS: noautodbgsym
with:
buildpackage-opts: --build=binary --no-sign
source-dir: test
extra-docker-args: --add-host extra-args-test:127.0.0.1
- run: |
dpkg --info debian/artifacts/test_1_amd64.deb
dpkg --contents debian/artifacts/test_1_amd64.deb | grep ./usr/bin/mybin
test -f debian/artifacts/test_1_amd64.buildinfo
test -f debian/artifacts/test_1_amd64.changes
full-build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: ./
env:
DEB_BUILD_OPTIONS: noautodbgsym
with:
buildpackage-opts: --build=full --no-sign
source-dir: test
- run: |
dpkg --info debian/artifacts/test_1_amd64.deb
dpkg --contents debian/artifacts/test_1_amd64.deb | grep ./usr/bin/mybin
test -f debian/artifacts/test_1.dsc
test -f debian/artifacts/test_1.tar.xz
test -f debian/artifacts/test_1_amd64.buildinfo
test -f debian/artifacts/test_1_amd64.changes
git-as-root-in-hook:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: ./
env:
DEB_BUILD_OPTIONS: noautodbgsym
with:
before-build-hook: |
cd test
# Using `git rev-parse` here instead of github.sha to specifically
# test the git usage.
rev=$(git rev-parse HEAD)
dch --maintmaint --newversion "1+$rev" "Version 1+$rev"
dch --maintmaint --release ""
buildpackage-opts: --build=binary --no-sign
extra-build-deps: devscripts git
source-dir: test
- run: |
dpkg --info debian/artifacts/test_1+${{ github.sha }}_amd64.deb
dpkg --contents debian/artifacts/test_1+${{ github.sha }}_amd64.deb | grep ./usr/bin/mybin
test -f debian/artifacts/test_1+${{ github.sha }}_amd64.buildinfo
test -f debian/artifacts/test_1+${{ github.sha }}_amd64.changes
local-dockerfile:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- run: cat test/Makefile_local-dockerfile >> test/Makefile
- uses: ./
env:
DEB_BUILD_OPTIONS: noautodbgsym
with:
buildpackage-opts: --build=binary --no-sign
docker-image: test/Dockerfile
source-dir: test
- run: |
dpkg --info debian/artifacts/test_1_amd64.deb
dpkg --contents debian/artifacts/test_1_amd64.deb | grep ./usr/bin/mybin
test -f debian/artifacts/test_1_amd64.buildinfo
test -f debian/artifacts/test_1_amd64.changes
multiple-packages:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: ./
with:
buildpackage-opts: --build=binary --no-sign
source-dir: test
- run: |
dpkg --info debian/artifacts/test_1_amd64.deb
dpkg --info debian/artifacts/test-dbgsym_1_amd64.deb
dpkg --contents debian/artifacts/test_1_amd64.deb | grep ./usr/bin/mybin
dpkg --contents debian/artifacts/test-dbgsym_1_amd64.deb
test -f debian/artifacts/test_1_amd64.buildinfo
test -f debian/artifacts/test_1_amd64.changes
# Regression test following issue #3 (“Did not find the .buildinfo file in
# debian/files”)
non-trivial-package-version:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- run: |
sed -i '1 s/\(1\)/4.3.2-1+final~42-5.deb+long~version/' test/debian/changelog
sed -i 's/native/quilt/' test/debian/source/format
- uses: ./
env:
DEB_BUILD_OPTIONS: noautodbgsym
with:
artifacts-dir: .
buildpackage-opts: --build=binary --no-sign
source-dir: test
- run: |
dpkg --info test_4.3.2-1+final~42-5.deb+long~version_amd64.deb
dpkg --contents test_4.3.2-1+final~42-5.deb+long~version_amd64.deb | grep ./usr/bin/mybin
test -f test_4.3.2-1+final~42-5.deb+long~version_amd64.buildinfo
test -f test_4.3.2-1+final~42-5.deb+long~version_amd64.changes
not-moving-artifacts:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: ./
env:
DEB_BUILD_OPTIONS: noautodbgsym
with:
artifacts-dir: .
buildpackage-opts: --build=binary --no-sign
source-dir: test
- run: |
dpkg --info test_1_amd64.deb
dpkg --contents test_1_amd64.deb | grep ./usr/bin/mybin
test -f test_1_amd64.buildinfo
test -f test_1_amd64.changes
single-package:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: ./
env:
DEB_BUILD_OPTIONS: noautodbgsym
with:
buildpackage-opts: --build=binary --no-sign
source-dir: test
- run: |
test "$(ls -1 debian/artifacts/*.deb | wc -l)" = 1
dpkg --info debian/artifacts/test_1_amd64.deb
dpkg --contents debian/artifacts/test_1_amd64.deb | grep ./usr/bin/mybin
test -f debian/artifacts/test_1_amd64.buildinfo
test -f debian/artifacts/test_1_amd64.changes
source-package:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: ./
with:
buildpackage-opts: --build=source --no-sign
source-dir: test
- run: |
! ls -1 debian/artifacts/*.deb 2>/dev/null
test -f debian/artifacts/test_1.dsc
test -f debian/artifacts/test_1.tar.xz
test -f debian/artifacts/test_1_source.buildinfo
test -f debian/artifacts/test_1_source.changes