mirror of
https://github.com/wavetermdev/backup.git
synced 2026-04-22 15:26:58 -07:00
Compare commits
8 Commits
main
...
evan/flatpak-deb
| Author | SHA1 | Date | |
|---|---|---|---|
| d9f38f3cbc | |||
| 0649dbb15c | |||
| 1b122f9da5 | |||
| 8fab81d899 | |||
| 5fa4db8c60 | |||
| 1396303dba | |||
| dcdc9f2b80 | |||
| 81d4b9d3af |
@@ -0,0 +1,30 @@
|
||||
name: Publish a new release
|
||||
on:
|
||||
release:
|
||||
types: [published]
|
||||
env:
|
||||
NODE_VERSION: "21.5.0"
|
||||
jobs:
|
||||
build:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v2
|
||||
- uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version: ${{env.NODE_VERSION}}
|
||||
cache: "yarn"
|
||||
- name: Get the version
|
||||
id: get_version
|
||||
run: |
|
||||
VERSION=$(node -e 'console.log(require("./version.js"))')
|
||||
echo "WAVETERM_VERSION=${VERSION}" >> "$GITHUB_OUTPUT"
|
||||
- name: Download staged artifacts
|
||||
run: |
|
||||
. ./buildres/download-staged-artifacts.sh
|
||||
env:
|
||||
AWS_ACCESS_KEY_ID: "${{ secrets.S3_USERID }}"
|
||||
AWS_SECRET_ACCESS_KEY: "${{ secrets.S3_SECRETKEY }}"
|
||||
AWS_DEFAULT_REGION: us-west-2
|
||||
- name: Generate Flatpak manifest
|
||||
run: node buildres/flatpak/generate-flatpak-manifest.js
|
||||
@@ -0,0 +1,116 @@
|
||||
app-id: com.visualstudio.code
|
||||
default-branch: stable
|
||||
runtime: org.freedesktop.Sdk
|
||||
runtime-version: '23.08'
|
||||
sdk: org.freedesktop.Sdk
|
||||
base: org.electronjs.Electron2.BaseApp
|
||||
base-version: '23.08'
|
||||
command: code
|
||||
tags: [proprietary]
|
||||
separate-locales: false
|
||||
finish-args:
|
||||
- --require-version=0.10.3
|
||||
- --share=network
|
||||
- --share=ipc
|
||||
- --socket=x11
|
||||
- --socket=pulseaudio
|
||||
- --socket=ssh-auth
|
||||
- --device=all
|
||||
- --allow=devel
|
||||
- --filesystem=host
|
||||
- --env=NPM_CONFIG_GLOBALCONFIG=/app/etc/npmrc
|
||||
- --env=LD_LIBRARY_PATH=/app/lib
|
||||
# required to fix cursor scaling on wayland
|
||||
- --env=XCURSOR_PATH=/run/host/user-share/icons:/run/host/share/icons
|
||||
- --system-talk-name=org.freedesktop.login1
|
||||
- --talk-name=org.freedesktop.Notifications
|
||||
- --talk-name=org.freedesktop.secrets
|
||||
- --talk-name=org.freedesktop.Flatpak
|
||||
- --talk-name=com.canonical.AppMenu.Registrar
|
||||
- --talk-name=com.canonical.AppMenu.Registrar.*
|
||||
add-extensions:
|
||||
com.visualstudio.code.tool:
|
||||
directory: tools
|
||||
subdirectories: true
|
||||
version: '23.08'
|
||||
add-ld-path: lib
|
||||
no-autodownload: true
|
||||
cleanup:
|
||||
- /include
|
||||
- /lib/pkgconfig
|
||||
- /share/gtk-doc
|
||||
- '*.la'
|
||||
modules:
|
||||
- shared-modules/libusb/libusb.json
|
||||
|
||||
- name: vscode
|
||||
buildsystem: simple
|
||||
build-commands:
|
||||
- install -D code.sh /app/bin/code
|
||||
- install -Dm644 vscode_64.png /app/share/icons/hicolor/64x64/apps/com.visualstudio.code.png
|
||||
- install -Dm644 vscode_128.png /app/share/icons/hicolor/128x128/apps/com.visualstudio.code.png
|
||||
- install -Dm644 vscode_256.png /app/share/icons/hicolor/256x256/apps/com.visualstudio.code.png
|
||||
- install -Dm644 vscode_512.png /app/share/icons/hicolor/512x512/apps/com.visualstudio.code.png
|
||||
- install -Dm644 com.visualstudio.code.metainfo.xml -t /app/share/metainfo
|
||||
- install -Dm644 com.visualstudio.code.desktop -t /app/share/applications
|
||||
- install -Dm644 com.visualstudio.code-url-handler.desktop -t /app/share/applications
|
||||
- install -Dm644 com.visualstudio.code-workspace.xml -t /app/share/mime/packages
|
||||
- install -Dm644 npmrc -t /app/etc
|
||||
- install -Dm644 flatpak-warning.txt -t /app/share/vscode
|
||||
- install -D apply_extra -t /app/bin
|
||||
- cp /usr/bin/ar /app/bin
|
||||
- ARCH_TRIPLE=$(gcc --print-multiarch) && cp /usr/lib/${ARCH_TRIPLE}/libbfd-*.so
|
||||
/app/lib
|
||||
- ARCH_TRIPLE=$(gcc --print-multiarch) && ln -s /usr/lib/${ARCH_TRIPLE}/libtinfo.so/app/lib/libtinfo.so.5
|
||||
- mkdir /app/tools
|
||||
sources:
|
||||
- type: script
|
||||
dest-filename: apply_extra
|
||||
commands:
|
||||
- ar x code.deb
|
||||
- tar xf data.tar.xz
|
||||
- mv usr/share/code vscode
|
||||
- rm -r code.deb control.tar.* data.tar.xz debian-binary usr
|
||||
- type: file
|
||||
path: code.sh
|
||||
- type: file
|
||||
path: flatpak-warning.txt
|
||||
- type: file
|
||||
path: npmrc
|
||||
- type: file
|
||||
path: com.visualstudio.code.metainfo.xml
|
||||
- type: file
|
||||
path: com.visualstudio.code.desktop
|
||||
- type: file
|
||||
path: com.visualstudio.code-url-handler.desktop
|
||||
- type: file
|
||||
path: com.visualstudio.code-workspace.xml
|
||||
- type: file
|
||||
path: icons/vscode_64.png
|
||||
- type: file
|
||||
path: icons/vscode_128.png
|
||||
- type: file
|
||||
path: icons/vscode_256.png
|
||||
- type: file
|
||||
path: icons/vscode_512.png
|
||||
- type: extra-data
|
||||
filename: code.deb
|
||||
only-arches: [x86_64]
|
||||
url: <to-replace>
|
||||
sha256: <to-replace>
|
||||
size: <to-replace>
|
||||
x-checker-data:
|
||||
type: electron-updater
|
||||
url: https://dl.waveterm.dev/releases/latest-linux.yml
|
||||
is-main-source: true
|
||||
|
||||
- name: host-spawn
|
||||
buildsystem: simple
|
||||
build-commands:
|
||||
- install -Dm755 host-spawn /app/bin/host-spawn
|
||||
sources:
|
||||
- type: file
|
||||
url: https://github.com/1player/host-spawn/releases/download/1.5.0/host-spawn-x86_64
|
||||
sha256: dbf67e7e111c4fe1edb0c642cbb4193064ca5b384aeb1054fc2befba6ed88b83
|
||||
dest-filename: host-spawn
|
||||
only-arches: [x86_64]
|
||||
@@ -0,0 +1,16 @@
|
||||
// Updates the Flatpak manifest with the latest values for the staged artifact
|
||||
// Usage: node generate-flatpak-manifest.js <path-to-staging-directory>
|
||||
|
||||
const path = require("path");
|
||||
const fs = require("fs");
|
||||
const yaml = require("yaml");
|
||||
|
||||
async function generateFlatpakManifest(stagingDir) {
|
||||
const latestYmlPath = path.join(stagingDir, "latest-linux.yml");
|
||||
const latestYml = yaml.parse(fs.readFileSync(latestYmlPath, "utf8"));
|
||||
const manifestPath = path.join(stagingDir, "dev.commandline.waveterm.yml");
|
||||
const manifestYml = yaml.parse(fs.readFileSync(manifestPath, "utf8"));
|
||||
const latestDeb = latestYml.files.find((file) => file.url.endsWith(".deb"));
|
||||
const latestDebUrl = `https://dl.waveterm.dev/releases/${latestDeb.url}`;
|
||||
const latestDebSha512 = latestDeb.sha512;
|
||||
|
||||
Reference in New Issue
Block a user