Commit graph

83 commits

Author SHA1 Message Date
Debanjum Singh Solanky
25a749ca1d Use the src/ layout to fix packaging Khoj for PyPi
- Why
  The khoj pypi packages should be installed in `khoj' directory.
  Previously it was being installed into `src' directory, which is a
  generic top level directory name that is discouraged from being used

- Changes
 - move src/* to src/khoj/*
 - update `setup.py' to `find_packages' in `src' instead of project root
 - rename imports to form `from khoj.*' in complete project
 - update `constants.web_directory' path to use `khoj' directory
 - rename root logger to `khoj' in `main.py'
 - fix image_search tests to use the newly rename `khoj' logger
 - update config, docs, workflows to reference new path `src/khoj'
2023-02-14 15:19:06 -06:00
Debanjum Singh Solanky
cc31cd070d Enable the publish workflow for PRs created in the main repo
The publish workflow was previously disabled for PRs in commit
d1945c5ba8
2023-02-14 13:51:31 -06:00
Debanjum Singh Solanky
d1945c5ba8 Do not run publish workflow for PRs as forks do not have auth token 2023-02-12 07:31:24 -06:00
Debanjum Singh Solanky
55e4fa9719 Fix indentation in workflow yaml for testing khoj backend 2023-02-07 02:59:46 -03:00
Debanjum Singh Solanky
c11f7b47e4 Update workflow to run backend tests for all supported python versions 2023-02-06 21:05:34 -03:00
Debanjum Singh Solanky
f9fb58aec3 Automate khoj.el testing using Github workflow
Install transient.el dependency as it is not available by default
before Emacs 28.1
2023-01-23 20:33:47 -03:00
Debanjum Singh Solanky
9f0bd0a361 Add Github workflow for khoj.el build and quality checks
Add khoj.el build badge to khoj.el Readme
2023-01-19 20:13:19 -03:00
Debanjum Singh Solanky
123b077c68 Use apt update before apt install in test workflow on Github 2023-01-11 16:51:16 -03:00
Debanjum Singh Solanky
1dc1472c55 In publish workflow, make twine upload verbose to troubleshoot 2023-01-05 12:56:46 -03:00
Debanjum Singh Solanky
3d1199540c Update the publish workflow to also run on any tag push 2023-01-04 20:47:23 -03:00
Debanjum Singh Solanky
4842daca5f Run releases workflow on pushing any tag. 'v' prefix not required
Obsidian for some reason cannot pick up plugin assets from releases
made with prefixed tags
2023-01-04 20:27:56 -03:00
Saba
a53094ec92 Add workflow dispatch support in build.yml
- To support dispatch, set the image label based on the branch name
- Master build should still be tagged with latest to get benefit of the standard production Docker label
2022-09-15 20:28:41 +03:00
Debanjum Singh Solanky
e4d40e4d4d Update setup.py version, Readme. Remove faulty release badge for now 2022-09-07 14:51:03 +03:00
Debanjum Singh Solanky
7fe3e844d2 Fix setup of Reproducible Build environment in publish workflow
- Note: Reproducible builds have not been validated.
  This is just preliminary work to get there.
  Further testing and fixes maybe required
2022-08-19 21:00:12 +03:00
Debanjum Singh Solanky
60dacf3f2c Show splash screen on app start. Only supported on Windows, Linux 2022-08-19 19:16:10 +03:00
Debanjum Singh Solanky
d25ddb93f7 Fix missing closing bracket from SOURCE_DATE_EPOCH def in release.yml 2022-08-17 23:17:27 +03:00
Debanjum Singh Solanky
9ee02b0804 Add --noconfirm in call to pyinstaller from Github release workflow
Added just for safety, workflow works fine without it too
2022-08-17 23:04:26 +03:00
Debanjum Singh Solanky
5a20283202 Set Pyinstaller, Pip environment to create reproducible builds of Khoj
- Dependency Version Pinning
  - First level dependency versions have been pinned.
  - Transitive dependencies have not been specified yet

- Testing
  - The Pyinstaller build has been only minimally tested for reproducibility
  - The Khoj package generated for PyPi have not been tested for reproducibility

- References
  - https://reproducible-builds.org/docs/source-date-epoch/
  - https://pyinstaller.org/en/stable/advanced-topics.html#creating-a-reproducible-build
2022-08-17 20:09:35 +03:00
Debanjum Singh Solanky
a37724f338 Fix Debian package permission. Set version on manual workflow trigger 2022-08-16 20:30:46 +03:00
Debanjum Singh Solanky
3d0f979475 Make the .deb package use version in Debian package versioning format 2022-08-16 17:35:14 +03:00
Debanjum Singh Solanky
7421ef2724 Fix path of app artifacts to attach to release via release pipeline 2022-08-15 17:41:08 +03:00
Debanjum Singh Solanky
c21ab4316c Fix publish of pip package to PyPi on git tag 2022-08-15 06:55:00 +03:00
Debanjum Singh Solanky
237e207304 Create separate app artifacts for each operating system 2022-08-15 06:39:45 +03:00
Debanjum Singh Solanky
4308f51d2c Fix workflow_dispatch trigger name used in github release workflow 2022-08-15 06:09:54 +03:00
Debanjum Singh Solanky
14710da962 Add version, arch to app name. Publish artifacts to release
- Allow manual trigger of workflow
2022-08-15 06:01:47 +03:00
Debanjum Singh Solanky
2142cba627 Simplify upload artifacts to single action 2022-08-15 05:11:37 +03:00
Debanjum Singh Solanky
a44cf39ab9 Limit release workflow to only run on creation of git tags
This reverts commit 7eb3dc71de.
2022-08-14 07:27:33 +03:00
Debanjum Singh Solanky
7eb3dc71de Revert "Revert release workflow to only run on creation of git tags"
This reverts commit 34cfc0382b.
2022-08-14 06:49:01 +03:00
Debanjum Singh Solanky
62711408b0 Run Install Deps step in bash shell to avoid powershell on windows 2022-08-14 06:47:58 +03:00
Debanjum Singh Solanky
34cfc0382b Revert release workflow to only run on creation of git tags 2022-08-14 06:45:17 +03:00
Debanjum Singh Solanky
357b584142 Re-enable windows, macos in matrix of release PR 2022-08-14 06:41:54 +03:00
Debanjum Singh Solanky
19294c788a Install libxcb on ubuntu as well 2022-08-14 06:30:00 +03:00
Debanjum Singh Solanky
4fd590addd Install libegl1 as root 2022-08-14 06:28:12 +03:00
Debanjum Singh Solanky
f3be84d8b9 Fix fpm command and install libegl1 on linux runner 2022-08-14 06:24:16 +03:00
Debanjum Singh Solanky
c422967276 Setup Ruby properly to add FPM Ruby package to PATH 2022-08-14 06:08:18 +03:00
Debanjum Singh Solanky
8696032b40 Set permission of the single Khoj app file generated by Pyinstaller 2022-08-14 05:46:52 +03:00
Debanjum Singh Solanky
47bac4f61e Only run ubuntu in OS matrix. Speeds verifying debian package creation 2022-08-14 05:27:02 +03:00
Debanjum Singh Solanky
7ce9c3ecce Re-enable running workflow via PR temporarily 2022-08-14 05:08:59 +03:00
Debanjum Singh Solanky
fed0b591af Package Khoj as Debian app in Github Release Workflow 2022-08-14 05:07:58 +03:00
Debanjum Singh Solanky
d815e0d115 Run Release Workflow on pushing git tag. Add release badge to Readme 2022-08-14 04:21:11 +03:00
Debanjum Singh Solanky
3bc4d75ba9 Consolidate app creation using pyinstaller into a single step 2022-08-14 04:10:26 +03:00
Debanjum Singh Solanky
0a0a8d43e0 Install Mac specific DMG creator only on the Mac Runner 2022-08-14 03:49:40 +03:00
Debanjum Singh Solanky
7466665499 Add runs-on property to specify OS from matrix to run job on 2022-08-14 03:43:07 +03:00
Debanjum Singh Solanky
a10a2ea3ad Run job matrix to wrap Khoj into app installers for Debian, Windows too 2022-08-14 03:39:45 +03:00
Debanjum Singh Solanky
22a9aefaef Publish Mac App Disk Image generated by release workflow as artifact 2022-08-14 03:28:41 +03:00
Debanjum Singh Solanky
dc553546bc Remove empty environment arguments in release workflow 2022-08-14 03:04:21 +03:00
Debanjum Singh Solanky
46a8257783 Just make Github runner build app for Mac x86 64 bit architecture 2022-08-14 02:54:14 +03:00
Debanjum Singh Solanky
8acc9e49d5 Put env variable on separate line. Remove unneeded workflow triggers 2022-08-14 02:40:43 +03:00
Debanjum Singh Solanky
65f3d0ff3b Trigger github workflow on PR 2022-08-14 02:38:20 +03:00
Debanjum Singh Solanky
b9b0278c99 Try create universal Mac App binary as Github Mac Runner is x86_64 2022-08-14 02:29:03 +03:00