add linux rpm packaging pipeline
This commit is contained in:
39
.github/workflows/release.yml
vendored
39
.github/workflows/release.yml
vendored
@@ -175,3 +175,42 @@ jobs:
|
|||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
done
|
done
|
||||||
|
|
||||||
|
build-linux-rpm:
|
||||||
|
needs: prepare-release
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
env:
|
||||||
|
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
steps:
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
|
||||||
|
- name: Setup Node
|
||||||
|
uses: actions/setup-node@v4
|
||||||
|
with:
|
||||||
|
node-version: ${{ env.NODE_VERSION }}
|
||||||
|
cache: npm
|
||||||
|
|
||||||
|
- name: Install rpm packaging dependencies
|
||||||
|
run: |
|
||||||
|
sudo apt-get update
|
||||||
|
sudo apt-get install -y rpm ruby ruby-dev build-essential
|
||||||
|
sudo gem install --no-document fpm
|
||||||
|
|
||||||
|
- name: Install project dependencies
|
||||||
|
run: npm ci
|
||||||
|
|
||||||
|
- name: Build Linux RPM binaries
|
||||||
|
run: npm run build:linux-rpm
|
||||||
|
|
||||||
|
- name: Upload RPM release assets
|
||||||
|
env:
|
||||||
|
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
TAG: ${{ needs.prepare-release.outputs.tag }}
|
||||||
|
run: |
|
||||||
|
set -euo pipefail
|
||||||
|
shopt -s nullglob
|
||||||
|
for file in release/*.rpm; do
|
||||||
|
[ -f "$file" ] || continue
|
||||||
|
gh release upload "$TAG" "$file" --clobber
|
||||||
|
done
|
||||||
|
|||||||
@@ -22,6 +22,7 @@
|
|||||||
"build:win-arm64": "node scripts/build.js win-arm64",
|
"build:win-arm64": "node scripts/build.js win-arm64",
|
||||||
"build:linux": "node scripts/build.js linux",
|
"build:linux": "node scripts/build.js linux",
|
||||||
"build:linux-arm64": "node scripts/build.js linux-arm64",
|
"build:linux-arm64": "node scripts/build.js linux-arm64",
|
||||||
|
"build:linux-rpm": "node scripts/build.js linux-rpm",
|
||||||
"build:all": "node scripts/build.js all",
|
"build:all": "node scripts/build.js all",
|
||||||
"package:mac": "electron-builder --mac",
|
"package:mac": "electron-builder --mac",
|
||||||
"package:win": "electron-builder --win",
|
"package:win": "electron-builder --win",
|
||||||
@@ -144,6 +145,13 @@
|
|||||||
"arm64"
|
"arm64"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"target": "rpm",
|
||||||
|
"arch": [
|
||||||
|
"x64",
|
||||||
|
"arm64"
|
||||||
|
]
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"target": "tar.gz",
|
"target": "tar.gz",
|
||||||
"arch": [
|
"arch": [
|
||||||
|
|||||||
@@ -41,6 +41,10 @@ const platforms = {
|
|||||||
args: ["--linux", "--arm64"],
|
args: ["--linux", "--arm64"],
|
||||||
description: "Linux (ARM64)",
|
description: "Linux (ARM64)",
|
||||||
},
|
},
|
||||||
|
"linux-rpm": {
|
||||||
|
args: ["--linux", "rpm", "--x64", "--arm64"],
|
||||||
|
description: "Linux RPM packages (x64 & ARM64)",
|
||||||
|
},
|
||||||
all: {
|
all: {
|
||||||
args: ["--mac", "--win", "--linux", "--x64", "--arm64"],
|
args: ["--mac", "--win", "--linux", "--x64", "--arm64"],
|
||||||
description: "All platforms (macOS, Windows, Linux)",
|
description: "All platforms (macOS, Windows, Linux)",
|
||||||
|
|||||||
Reference in New Issue
Block a user