Add Auto Updater

This commit is contained in:
Muhammed Kalkan 2022-06-07 10:16:28 +03:00
parent c96d8cc836
commit ea74065446
6 changed files with 70 additions and 13 deletions

BIN
.DS_Store vendored Normal file

Binary file not shown.

BIN
.github/.DS_Store vendored Normal file

Binary file not shown.

24
.github/workflows/clear.yml vendored Normal file
View File

@ -0,0 +1,24 @@
name: Clear Latest
on:
workflow_dispatch:
push:
branches: [ main ]
jobs:
build:
strategy:
matrix:
os: [ubuntu-latest]
runs-on: ${{ matrix.os }}
timeout-minutes: 60
steps:
- name: Clean Latest
uses: mknejp/delete-release-assets@v1
with:
token: ${{ github.token }}
tag: Latest
fail-if-no-assets: false
fail-if-no-release: false
assets: |
*.*

View File

@ -23,25 +23,32 @@ jobs:
- uses: actions/setup-node@v3
with:
node-version: 14.19.3
- name: Build Lens
- name: Update Lens
run: |
git clone https://github.com/lensapp/lens.git
cp update.js lens/update.js
cd lens
git checkout v${{ env.LENS_VERSION }}
node update.js
- name: Build Lens
run: |
mkdir releasefiles
if [ "$RUNNER_OS" == "Windows" ]; then
choco install visualstudio2019buildtools visualstudio2019-workload-vctools
fi
make build
if [ "$RUNNER_OS" == "macOS" ]; then
mv dist/OpenLens-${{ env.LENS_VERSION }}-latest.*.dmg dist/OpenLens-${{ env.LENS_VERSION }}.dmg
cp dist/OpenLens-${{ env.LENS_VERSION }}-latest.*.dmg releasefiles/OpenLens-${{ env.LENS_VERSION }}.dmg
cp dist/OpenLens-${{ env.LENS_VERSION }}-latest.*.zip releasefiles/OpenLens-${{ env.LENS_VERSION }}.zip
elif [ "$RUNNER_OS" == "Linux" ]; then
mv dist/OpenLens-${{ env.LENS_VERSION }}-latest.*.x86_64.AppImage dist/OpenLens-${{ env.LENS_VERSION }}.AppImage
mv dist/OpenLens-${{ env.LENS_VERSION }}-latest.*.amd64.deb dist/OpenLens-${{ env.LENS_VERSION }}.deb
mv dist/OpenLens-${{ env.LENS_VERSION }}-latest.*.x86_64.rpm dist/OpenLens-${{ env.LENS_VERSION }}.rpm
cp dist/OpenLens-${{ env.LENS_VERSION }}-latest.*.x86_64.AppImage releasefiles/OpenLens-${{ env.LENS_VERSION }}.AppImage
cp dist/OpenLens-${{ env.LENS_VERSION }}-latest.*.amd64.deb releasefiles/OpenLens-${{ env.LENS_VERSION }}.deb
cp dist/OpenLens-${{ env.LENS_VERSION }}-latest.*.x86_64.rpm releasefiles/OpenLens-${{ env.LENS_VERSION }}.rpm
else
mv dist/OpenLens*.exe dist/OpenLens-${{ env.LENS_VERSION }}.exe
cp dist/OpenLens*.exe releasefiles/OpenLens-${{ env.LENS_VERSION }}.exe
fi
shell: bash
working-directory: lens
- name: Calculate SHA256 checksum
run: |
if [ "$RUNNER_OS" == "Windows" ]; then
@ -50,15 +57,28 @@ jobs:
for filename in OpenLens-${{ env.LENS_VERSION }}.*; do shasum -a 256 ${filename} > ${filename}.sha256 ; done
fi
shell: bash
working-directory: lens/dist
working-directory: lens/releasefiles
- name: Release
uses: softprops/action-gh-release@v0.1.14
with:
tag_name: v${{ env.LENS_VERSION }}
files: |
lens/dist/OpenLens-${{ env.LENS_VERSION }}.dmg
lens/dist/OpenLens-${{ env.LENS_VERSION }}.AppImage
lens/dist/OpenLens-${{ env.LENS_VERSION }}.deb
lens/dist/OpenLens-${{ env.LENS_VERSION }}.rpm
lens/dist/OpenLens-${{ env.LENS_VERSION }}.exe
lens/dist/OpenLens-${{ env.LENS_VERSION }}.*.sha256
lens/releasefiles/OpenLens-${{ env.LENS_VERSION }}.dmg
lens/releasefiles/OpenLens-${{ env.LENS_VERSION }}.AppImage
lens/releasefiles/OpenLens-${{ env.LENS_VERSION }}.deb
lens/releasefiles/OpenLens-${{ env.LENS_VERSION }}.rpm
lens/releasefiles/OpenLens-${{ env.LENS_VERSION }}.zip
lens/releasefiles/OpenLens-${{ env.LENS_VERSION }}.exe
lens/releasefiles/OpenLens-${{ env.LENS_VERSION }}.*.sha256
- name: Latest
uses: softprops/action-gh-release@v0.1.14
with:
tag_name: Latest
files: |
lens/dist/OpenLens*.dmg
lens/dist/OpenLens*.AppImage
lens/dist/OpenLens*.deb
lens/dist/OpenLens*.rpm
lens/dist/OpenLens*.exe
lens/dist/OpenLens*.zip
lens/dist/lates*.yml

View File

@ -10,4 +10,6 @@ Go To Release to download your binary of type Linux , MacOS or Windows
If you have trouble about not seeing pod logs, remove old config files / extensions remaining from old Lens app.
**NOTE:** Auto Updater is now live starting with every binaries downloaded from Latest tag or the releases that are build at the time starting with it.
**NOTE:** MacOS users will have to [manually trust the app](https://support.apple.com/guide/mac-help/open-a-mac-app-from-an-unidentified-developer-mh40616/mac), as it is currently not signed properly, see [Issue #1](https://github.com/MuhammedKalkan/OpenLens/issues/1)

11
update.js Normal file
View File

@ -0,0 +1,11 @@
const fs = require('fs');
var packagejson = require('./package.json');
packagejson.build.publish = {
url: "https://github.com/MuhammedKalkan/OpenLens/releases/download/latest",
provider: "generic",
channel: "latest"
}
fs.writeFileSync('package.json', JSON.stringify(packagejson));