Deb package build workflow

This commit is contained in:
everoddandeven 2024-10-22 19:06:07 +02:00
parent b6ec37e767
commit 861dc360d0
7 changed files with 1085 additions and 8 deletions

View file

@ -1,5 +1,5 @@
# This is a basic workflow to help you get started with Actions
name: 'Linux Build'
name: 'Ubuntu 22.04 - AppImage Build'
# Controls when the action will run.
on:

60
.github/workflows/ubuntu_22_deb.yml vendored Normal file
View file

@ -0,0 +1,60 @@
# This is a basic workflow to help you get started with Actions
name: 'Ubuntu 22.04 - x64 DEB Build'
# Controls when the action will run.
on:
# Triggers the workflow on push or pull request events but only for the main branch
push:
branches:
- main
pull_request:
branches:
- main
# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:
# A workflow run is made up of one or more jobs that can run sequentially or in parallel
jobs:
build:
strategy:
matrix:
node-version: [20]
# The type of runner that the job will run on
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v3
- name: Cache node modules
uses: actions/cache@v4
env:
cache-name: cache-node-modules
with:
# npm cache files are stored in `~/.npm` on Linux/macOS
path: ~/.npm
key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('**/package-lock.json') }}
restore-keys: |
${{ runner.os }}-build-${{ env.cache-name }}-
${{ runner.os }}-build-
${{ runner.os }}-
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v3
with:
node-version: ${{ matrix.node-version }}
- name: Install linux dependencies
run: |
sudo apt-get update
sudo apt-get install -y libgtk-3-dev webkit2gtk-4.0 libappindicator3-dev librsvg2-dev patchelf fakeroot dpkg
- name: Install Dependencies
run: npm i
- name: Check lint
run: npm run lint
- name: Build the app
run: npm run electron:build:deb

60
.github/workflows/ubuntu_24_deb.yml vendored Normal file
View file

@ -0,0 +1,60 @@
# This is a basic workflow to help you get started with Actions
name: 'Ubuntu 24.04 - x64 DEB Build'
# Controls when the action will run.
on:
# Triggers the workflow on push or pull request events but only for the main branch
push:
branches:
- main
pull_request:
branches:
- main
# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:
# A workflow run is made up of one or more jobs that can run sequentially or in parallel
jobs:
build:
strategy:
matrix:
node-version: [20]
# The type of runner that the job will run on
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@v3
- name: Cache node modules
uses: actions/cache@v4
env:
cache-name: cache-node-modules
with:
# npm cache files are stored in `~/.npm` on Linux/macOS
path: ~/.npm
key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('**/package-lock.json') }}
restore-keys: |
${{ runner.os }}-build-${{ env.cache-name }}-
${{ runner.os }}-build-
${{ runner.os }}-
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v3
with:
node-version: ${{ matrix.node-version }}
- name: Install linux dependencies
run: |
sudo apt-get update
sudo apt-get install -y libgtk-3-dev webkit2gtk-4.0 libappindicator3-dev librsvg2-dev patchelf fakeroot dpkg
- name: Install Dependencies
run: npm i
- name: Check lint
run: npm run lint
- name: Build the app
run: npm run electron:build:deb

View file

@ -32,8 +32,7 @@
"linux": {
"icon": "dist/assets/icons",
"target": [
"AppImage",
"deb"
"AppImage"
],
"category": "Network"
}

View file

@ -0,0 +1,14 @@
{
"name": "monerod-gui",
"productName": "Monero Daemon",
"genericName": "Cryptocurrency Node Manager",
"version": "0.1.0",
"dest": "dist/installers/",
"icon": "src/assets/icons/favicon.256x256.png",
"categories": [
"Network"
],
"lintianOverrides": [
"changelog-file-missing-in-native-package"
]
}

948
package-lock.json generated

File diff suppressed because it is too large Load diff

View file

@ -33,6 +33,7 @@
"build": "npm run electron:serve-tsc && ng build --base-href ./",
"build:dev": "npm run build -- -c dev",
"build:prod": "npm run build -- -c production",
"build:prod:deb": "npm run build:prod && electron-packager . monerod-gui --platform linux --arch x64 --out dist/ --ignore=/e2e --ignore=/release --overwrite",
"web:build": "npm run build -- -c web-production",
"electron": "electron",
"electron:serve-tsc": "tsc -p tsconfig.serve.json",
@ -40,6 +41,7 @@
"electron:local": "npm run build:prod && electron .",
"electron:local:dev": "npm run build:dev && electron .",
"electron:build": "npm run build:prod && electron-builder build --publish=never",
"electron:build:deb": "npm run build:prod:deb && electron-installer-debian --src dist/monerod-gui-linux-x64/ --dest dist/installers/ --arch amd64 --config electron-installer-debian.json",
"test": "ng test --watch=false",
"test:watch": "ng test",
"e2e": "npm run build:prod && playwright test -c e2e/playwright.config.ts e2e/",
@ -81,6 +83,7 @@
"@angular-eslint/template-parser": "17.3.0",
"@angular/cli": "17.3.10",
"@angular/compiler-cli": "17.3.6",
"@electron/packager": "18.3.5",
"@ngx-translate/core": "15.0.0",
"@ngx-translate/http-loader": "8.0.0",
"@playwright/test": "1.43.1",
@ -94,9 +97,10 @@
"@typescript-eslint/eslint-plugin": "7.7.1",
"@typescript-eslint/parser": "7.7.1",
"conventional-changelog-cli": "4.1.0",
"electron": "33.0.1",
"electron": "33.0.2",
"electron-builder": "25.1.8",
"electron-debug": "4.1.0",
"electron-installer-debian": "3.2.0",
"electron-reloader": "1.2.3",
"eslint": "8.57.0",
"eslint-plugin-import": "2.29.1",