build: initial stab at packaging
This commit is contained in:
99
.github/workflows/build-plugin-deb-package.yml
vendored
Normal file
99
.github/workflows/build-plugin-deb-package.yml
vendored
Normal file
@@ -0,0 +1,99 @@
|
|||||||
|
---
|
||||||
|
name: "📦 Build .deb package for plugin"
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches: [ "main"]
|
||||||
|
paths-ignore:
|
||||||
|
- debian/changelog
|
||||||
|
pull_request:
|
||||||
|
branches: [ "main" ]
|
||||||
|
paths-ignore:
|
||||||
|
- debian/changelog
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build-deb-package:
|
||||||
|
runs-on: ${{ matrix.os }}
|
||||||
|
|
||||||
|
strategy:
|
||||||
|
matrix:
|
||||||
|
os: [ubuntu-22.04]
|
||||||
|
|
||||||
|
env:
|
||||||
|
OS_VERSION: ${{ matrix.os }}
|
||||||
|
defaults:
|
||||||
|
run:
|
||||||
|
working-directory: .
|
||||||
|
steps:
|
||||||
|
- name: Checkout source code
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
|
||||||
|
- name: Extract and print repository name
|
||||||
|
run: |
|
||||||
|
echo "REPO_NAME=$(echo ${{ github.repository }} | cut -d'/' -f2)" >> $GITHUB_ENV
|
||||||
|
|
||||||
|
- name: Set up Node.js
|
||||||
|
run: |
|
||||||
|
curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -
|
||||||
|
sudo apt-get install -y nodejs
|
||||||
|
|
||||||
|
- name: Verify Node.js installation
|
||||||
|
run: |
|
||||||
|
node -v
|
||||||
|
npm -v
|
||||||
|
|
||||||
|
- name: Install dependencies
|
||||||
|
run: |
|
||||||
|
sudo apt-get update
|
||||||
|
sudo apt-get install -y devscripts debhelper
|
||||||
|
|
||||||
|
- name: Build Debian package
|
||||||
|
run: |
|
||||||
|
sudo dpkg-buildpackage -us -uc
|
||||||
|
|
||||||
|
- name: Create artifacts directory and move .deb files
|
||||||
|
run: |
|
||||||
|
mkdir -p artifacts
|
||||||
|
mv ../*.deb artifacts/ || mv ./*.deb artifacts/
|
||||||
|
ls -la artifacts
|
||||||
|
|
||||||
|
- name: Upload Debian Package
|
||||||
|
uses: actions/upload-artifact@v4
|
||||||
|
with:
|
||||||
|
name: "${{ env.REPO_NAME }}-${{ env.OS_VERSION }}"
|
||||||
|
path: artifacts/*.deb
|
||||||
|
|
||||||
|
release:
|
||||||
|
name: "Upload assets to release"
|
||||||
|
needs: build-deb-package
|
||||||
|
runs-on: ${{ matrix.os }}
|
||||||
|
|
||||||
|
strategy:
|
||||||
|
matrix:
|
||||||
|
os: [ubuntu-22.04]
|
||||||
|
|
||||||
|
env:
|
||||||
|
OS_VERSION: ${{ matrix.os }}
|
||||||
|
if: ${{ github.ref_type == 'tag' }}
|
||||||
|
permissions:
|
||||||
|
contents: write
|
||||||
|
actions: read
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v4
|
||||||
|
|
||||||
|
- name: Extract and print repository name
|
||||||
|
run: |
|
||||||
|
echo "REPO_NAME=$(echo ${{ github.repository }} | cut -d'/' -f2)" >> $GITHUB_ENV
|
||||||
|
|
||||||
|
- uses: actions/download-artifact@v4
|
||||||
|
with:
|
||||||
|
name: "${{ env.REPO_NAME }}-${{ env.OS_VERSION }}"
|
||||||
|
path: "${{ env.REPO_NAME }}-${{ env.OS_VERSION }}"
|
||||||
|
|
||||||
|
- name: Create release asset archives
|
||||||
|
run: zip --junk-paths --recurse-paths --compression-method store "${{ env.REPO_NAME }}-${{ env.OS_VERSION }}.zip" "${{ env.REPO_NAME }}-${{ env.OS_VERSION }}"
|
||||||
|
|
||||||
|
- name: Upload release assets
|
||||||
|
env:
|
||||||
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
run: gh release upload ${{ github.ref_name }} "${{ env.REPO_NAME }}-${{ env.OS_VERSION }}.zip"
|
||||||
|
|
||||||
9
.gitignore
vendored
Normal file
9
.gitignore
vendored
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
node_modules
|
||||||
|
dist
|
||||||
|
debian/.debhelper/
|
||||||
|
debian/debhelper-build-stamp
|
||||||
|
debian/files
|
||||||
|
debian/**/copyright
|
||||||
|
debian/**/changelog.gz
|
||||||
|
debian/**/md5sums
|
||||||
|
debian/**/var/www/*
|
||||||
2
debian/bbb-plugin-generic-link-share.substvars
vendored
Normal file
2
debian/bbb-plugin-generic-link-share.substvars
vendored
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
misc:Depends=
|
||||||
|
misc:Pre-Depends=
|
||||||
12
debian/bbb-plugin-generic-link-share/DEBIAN/control
vendored
Normal file
12
debian/bbb-plugin-generic-link-share/DEBIAN/control
vendored
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
Package: bbb-plugin-template
|
||||||
|
Version: 0.1.0
|
||||||
|
Architecture: all
|
||||||
|
Maintainer: Anton Georgiev <anton.georgiev@blindsidenetworks.com>
|
||||||
|
Installed-Size: 252
|
||||||
|
Section: web
|
||||||
|
Priority: extra
|
||||||
|
Homepage: https://github.com/bigbluebutton/plugin-template
|
||||||
|
Description: Share a webpage with all session participants
|
||||||
|
An official BigBlueButton plugin which allows
|
||||||
|
the presenter to display a web page to
|
||||||
|
all viewers inside of a session.
|
||||||
5
debian/changelog
vendored
Normal file
5
debian/changelog
vendored
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
bbb-plugin-template (0.1.0) jammy; urgency=medium
|
||||||
|
|
||||||
|
* initial build
|
||||||
|
|
||||||
|
-- Anton Georgiev <anton.georgiev@blindsidenetworks.com> Thu, 04 Jul 2024 14:56:18 -0400
|
||||||
1
debian/compat
vendored
Normal file
1
debian/compat
vendored
Normal file
@@ -0,0 +1 @@
|
|||||||
|
13
|
||||||
15
debian/control
vendored
Normal file
15
debian/control
vendored
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
Source: bbb-plugin-template
|
||||||
|
Section: web
|
||||||
|
Priority: extra
|
||||||
|
Maintainer: Anton Georgiev <anton.georgiev@blindsidenetworks.com>
|
||||||
|
Build-Depends: debhelper (>= 13), nodejs (>= 18)
|
||||||
|
Standards-Version: 4.1.4
|
||||||
|
Homepage: https://github.com/bigbluebutton/plugin-template
|
||||||
|
|
||||||
|
Package: bbb-plugin-template
|
||||||
|
Architecture: all
|
||||||
|
Depends: ${misc:Depends}, nodejs
|
||||||
|
Description: Share a webpage with all session participants
|
||||||
|
An official BigBlueButton plugin which allows
|
||||||
|
the presenter to display a web page to
|
||||||
|
all viewers inside of a session.
|
||||||
18
debian/copyright
vendored
Normal file
18
debian/copyright
vendored
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
Format: http://dep.debian.net/deps/dep5
|
||||||
|
Upstream-Name: bbb-plugin-template
|
||||||
|
|
||||||
|
Files: *
|
||||||
|
Copyright: 2024 BigBlueButton Inc. and by respective authors
|
||||||
|
License: LGPL-3.0+
|
||||||
|
This program is free software: you can redistribute it and/or modify it
|
||||||
|
under the terms of the GNU Lesser General Public License as published by the
|
||||||
|
Free Software Foundation, either version 3 of the License, or (at your
|
||||||
|
option) any later version.
|
||||||
|
|
||||||
|
This program is distributed in the hope that it will be useful, but
|
||||||
|
WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
|
||||||
|
Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU Lesser General Public License along
|
||||||
|
with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
12
debian/rules
vendored
Executable file
12
debian/rules
vendored
Executable file
@@ -0,0 +1,12 @@
|
|||||||
|
#!/usr/bin/make -f
|
||||||
|
|
||||||
|
%:
|
||||||
|
dh $@ --no-parallel --verbose
|
||||||
|
|
||||||
|
override_dh_auto_build:
|
||||||
|
npm install
|
||||||
|
npm run build-bundle
|
||||||
|
|
||||||
|
override_dh_auto_install:
|
||||||
|
install -d debian/bbb-plugin-template/var/www/bigbluebutton-default/assets/plugins/bbb-plugin-template
|
||||||
|
cp -r dist/* debian/bbb-plugin-template/var/www/bigbluebutton-default/assets/plugins/bbb-plugin-template
|
||||||
Reference in New Issue
Block a user