Skip to content

Commit

Permalink
Merge pull request #23 from endlessm/metrics-test
Browse files Browse the repository at this point in the history
Kolibri 0.15 release
  • Loading branch information
danigm authored Dec 22, 2021
2 parents 711d4bc + 0085e7a commit 9c4df8a
Show file tree
Hide file tree
Showing 7 changed files with 662 additions and 410 deletions.
54 changes: 28 additions & 26 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,7 @@ name: CI

on:
push:
branches:
- master
pull_request:
branches:
- master
workflow_dispatch:

jobs:
Expand All @@ -27,30 +23,22 @@ jobs:
uses: actions/setup-node@v2
with:
node-version: '16'
cache: 'yarn'
cache-dependency-path: '**/yarn.lock'

- name: Install requirements
- name: Install python requirements
run: |
pip install wheel
pip install -r requirements.txt
pip install -r requirements-win.txt
npm install -g yarn
yarn global add @electron-forge/cli
- name: Prep kolibri dist
run: |
python kapew.py prep-kolibri-dist --exclude-prereleases --skip-preseed
- name: Update kolibri.dist.le_utils for kolibri-zim-plugin
run: |
pip install git+https://github.com/learningequality/le-utils.git@v0.1.34 --target="src\kolibri\dist" --upgrade
- name: Update kolibri.dist.morango for improved performance on Windows
run: |
pip install morango==0.5.6 --target="src\kolibri\dist" --upgrade
python kapew.py prep-kolibri-dist --skip-preseed --exclude-prereleases
- name: Add kolibri_zim_plugin to Kolibri's dist packages
run: |
pip install kolibri-zim-plugin==1.1.2 --target="src\kolibri\dist"
pip install kolibri-zim-plugin --target="src\kolibri\dist"
- name : Patch Kolibri's server code to avoid Windows firewall prompts
run: |
Expand All @@ -60,22 +48,36 @@ jobs:
run: |
python kapew.py build
- name: Add package data files to dist
run: |
mv src/kolibri dist/win/Kolibri
mv dist/win/Kolibri kolibri-electron/src/
- name: Install electron-forge
working-directory: kolibri-electron
run: yarn global add @electron-forge/cli

- name: Install electron dependencies
working-directory: kolibri-electron
run: |
yarn install
yarn make --arch=ia32
run: yarn install

- name: Build electron app
working-directory: kolibri-electron
run: yarn make --arch=ia32

- name: Create kolibri-windows
run: |
mv kolibri-electron/out/kolibri-electron-win32-ia32 kolibri-windows
mv src/kolibri dist/win/Kolibri
mv dist/win/Kolibri kolibri-windows/resources/app/src/
- name: Compress
run: Compress-Archive -Path kolibri-windows\* -DestinationPath kolibri-windows.zip
shell: pwsh

- name: Release
uses: softprops/action-gh-release@v1
if: startsWith(github.ref, 'refs/tags/')
with:
files: kolibri-windows.zip

- uses: actions/upload-artifact@v2
with:
name: "kolibri-windows"
path: "kolibri-windows"
name: "kolibri-windows.zip"
path: "kolibri-windows.zip"
12 changes: 6 additions & 6 deletions kolibri-electron/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -52,11 +52,11 @@
"fs-extra": "^10.0.0"
},
"devDependencies": {
"@electron-forge/cli": "^6.0.0-beta.57",
"@electron-forge/maker-deb": "^6.0.0-beta.57",
"@electron-forge/maker-rpm": "^6.0.0-beta.57",
"@electron-forge/maker-squirrel": "^6.0.0-beta.57",
"@electron-forge/maker-zip": "^6.0.0-beta.57",
"electron": "13.1.4"
"@electron-forge/cli": "^6.0.0-beta.61",
"@electron-forge/maker-deb": "^6.0.0-beta.61",
"@electron-forge/maker-rpm": "^6.0.0-beta.61",
"@electron-forge/maker-squirrel": "^6.0.0-beta.61",
"@electron-forge/maker-zip": "^6.0.0-beta.61",
"electron": "16.0.0"
}
}
12 changes: 11 additions & 1 deletion kolibri-electron/src/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,13 @@ let KOLIBRI_HOME_TEMPLATE = '';
let KOLIBRI_EXTENSIONS = '';
let KOLIBRI_HOME = path.join(os.homedir(), '.endless-key');

function removePidFile() {
const pidFile = path.join(KOLIBRI_HOME, 'server.pid');
if (fs.existsSync(pidFile)) {
fs.rmSync(pidFile);
}
}

async function getEndlessKeyDataPath() {
const drives = await drivelist.list();

Expand Down Expand Up @@ -226,9 +233,11 @@ const runKolibri = () => {
console.log('Running kolibri backend');
if (django) {
console.log('Killing previous stalled server');
django.kill('SIGTERM');
django.kill();
}

removePidFile();

django = child_process.spawn(path.join(__dirname, 'Kolibri', 'Kolibri.exe'));
django.stdout.on('data', (data) => {
console.log(`Kolibri: ${data}`);
Expand All @@ -254,4 +263,5 @@ app.on('ready', () => {

app.on('window-all-closed', () => {
app.quit();
removePidFile();
});
Loading

0 comments on commit 9c4df8a

Please sign in to comment.