diff options
author | Josh Morman <jmorman@perspectalabs.com> | 2021-03-11 16:27:49 -0500 |
---|---|---|
committer | mormj <34754695+mormj@users.noreply.github.com> | 2021-03-22 10:07:26 -0400 |
commit | 0b03f46d6e5099005f0473670a56ec8b790134fc (patch) | |
tree | d527687fa408422e39ac7e93262e223e646b7805 /.github | |
parent | CMake: Look for MPIR only when no GMP is found, be verbose (diff) | |
download | gnuradio-0b03f46d6e5099005f0473670a56ec8b790134fc.tar.xz gnuradio-0b03f46d6e5099005f0473670a56ec8b790134fc.zip |
pkg: add packaging for debian/fedora in-tree
Signed-off-by: Josh Morman <jmorman@perspectalabs.com>
Diffstat (limited to '.github')
-rw-r--r-- | .github/workflows/pkg-debian.yml | 76 | ||||
-rw-r--r-- | .github/workflows/pkg-fedora.yml | 76 |
2 files changed, 152 insertions, 0 deletions
diff --git a/.github/workflows/pkg-debian.yml b/.github/workflows/pkg-debian.yml new file mode 100644 index 000000000..101741206 --- /dev/null +++ b/.github/workflows/pkg-debian.yml @@ -0,0 +1,76 @@ +name: 'Package-Debian' +on: + workflow_dispatch: + inputs: + build_branch: + description: 'Branch to build from' + required: true + default: 'master' + rev: + description: 'Package revision' + required: true + default: '1' + distribution: + description: 'Target distribution' + required: true + default: 'focal' +jobs: + linux-docker: + runs-on: ubuntu-20.04 + # The GH default is 360 minutes (it's also the max as of Feb-2021). However + # we should fail sooner. The only reason to exceed this time is if a test + # hangs. + timeout-minutes: 120 + strategy: + # Enabling fail-fast would kill all Dockers if one of them fails. We want + # maximum output. + fail-fast: false + matrix: + # For every distro we want to test here, add one key 'distro' with a + # descriptive name, and one key 'containerid' with the name of the + # container (i.e., what you want to docker-pull) + include: + - distro: 'Ubuntu 20.04' + containerid: 'gnuradio/ci:ubuntu-20.04-3.9' + cxxflags: -Werror + name: ${{ matrix.distro }} + container: + image: ${{ matrix.containerid }} + volumes: + - build_data:/build + options: --cpus 2 + steps: + - uses: actions/checkout@v2 + with: + fetch-depth: 0 + ref: ${{ github.event.inputs.build_branch }} + - uses: actions/setup-python@v1 + with: + python-version: "3.x" + - run: apt-get update && apt-get install -yq devscripts debhelper dh-python + - name: Import GPG key + id: import_gpg + uses: crazy-max/ghaction-import-gpg@v3 + with: + gpg-private-key: ${{ secrets.GPG_PRIVATE_KEY }} + passphrase: ${{ secrets.PASSPHRASE }} + - name: GPG user IDs + run: | + echo "fingerprint: ${{ steps.import_gpg.outputs.fingerprint }}" + echo "keyid: ${{ steps.import_gpg.outputs.keyid }}" + echo "name: ${{ steps.import_gpg.outputs.name }}" + echo "email: ${{ steps.import_gpg.outputs.email }}" + - name: Run Packaging Script + run: | + export NAME="${{secrets.NAME}}" + export EMAIL="${{secrets.EMAIL}}" + export DEBFULLNAME="${{secrets.NAME}}" + export DEBEMAIL="${{secrets.EMAIL}}" + export UBUEMAIL="${{secrets.EMAIL}}" + export DISTRIBUTION="${{ github.event.inputs.distribution }}" + export GITBRANCH="master" + export REV="${{ github.event.inputs.rev }}" + cd /build && sh $GITHUB_WORKSPACE/.packaging/scripts/pkg-debian.sh + - name: Push to Launchpad + run: + cd /build && dput -c $GITHUB_WORKSPACE/.packaging/launchpad/dput.cf $GITBRANCH $(ls *.changes) diff --git a/.github/workflows/pkg-fedora.yml b/.github/workflows/pkg-fedora.yml new file mode 100644 index 000000000..74c842a4b --- /dev/null +++ b/.github/workflows/pkg-fedora.yml @@ -0,0 +1,76 @@ +name: 'Package-Fedora' +on: + workflow_dispatch: + inputs: + build_branch: + description: 'Branch to build from' + required: true + default: 'master' + rev: + description: 'Package revision' + required: true + default: '1' +jobs: + linux-docker: + runs-on: ubuntu-20.04 + # The GH default is 360 minutes (it's also the max as of Feb-2021). However + # we should fail sooner. The only reason to exceed this time is if a test + # hangs. + timeout-minutes: 240 + strategy: + # Enabling fail-fast would kill all Dockers if one of them fails. We want + # maximum output. + fail-fast: false + matrix: + # For every distro we want to test here, add one key 'distro' with a + # descriptive name, and one key 'containerid' with the name of the + # container (i.e., what you want to docker-pull) + include: + - distro: 'Fedora 33' + containerid: 'gnuradio/ci:fedora-33-3.9' + cxxflags: -Werror + name: ${{ matrix.distro }} + container: + image: ${{ matrix.containerid }} + volumes: + - build_data:/build + options: --cpus 2 + steps: + - uses: actions/checkout@v2 + with: + fetch-depth: 0 + ref: ${{ github.event.inputs.build_branch }} + - uses: actions/setup-python@v1 + with: + python-version: "3.x" + - run: dnf install -y fedora-packager copr-cli + - name: Import GPG key + id: import_gpg + uses: crazy-max/ghaction-import-gpg@v3 + with: + gpg-private-key: ${{ secrets.GPG_PRIVATE_KEY }} + passphrase: ${{ secrets.PASSPHRASE }} + - name: GPG user IDs + run: | + echo "fingerprint: ${{ steps.import_gpg.outputs.fingerprint }}" + echo "keyid: ${{ steps.import_gpg.outputs.keyid }}" + echo "name: ${{ steps.import_gpg.outputs.name }}" + echo "email: ${{ steps.import_gpg.outputs.email }}" + - name: Run Packaging Script + run: | + export DISTRIBUTION="fedora" + export GITBRANCH="master" + export REV="${{ github.event.inputs.rev }}" + cd /build && sh $GITHUB_WORKSPACE/.packaging/scripts/pkg-fedora.sh + - name: Archive SRPM + uses: actions/upload-artifact@v2 + with: + name: srpm + path: /build/rpmbuild/SRPMS + - name: Save COPR Token + run: cd /build && echo "$COPR_TOKEN" > copr + shell: bash + env: + COPR_TOKEN: ${{secrets.COPR_TOKEN}} + - name: Submit to COPR + run: cd /build && copr-cli --config copr build gnuradio $(ls rpmbuild/SRPMS/*.src.rpm) |