Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
61 commits
Select commit Hold shift + click to select a range
751c00e
Removed outdated tests, added test for task manager
matej2 Jun 1, 2026
63f8092
WIP: Test for UI Layout helper
matej2 Jun 1, 2026
8d6723e
Test for UI Layout helper
matej2 Jun 2, 2026
4bcadb6
UI Layout helper test fix, test for file manager
matej2 Jun 2, 2026
9b2c931
Test utils, test for data manager base
matej2 Jun 2, 2026
3fde92d
Test for process_save_input, code refactoring
matej2 Jun 2, 2026
51e22ae
Tests for export manager, yaml utils, removed unused code
matej2 Jun 3, 2026
b1702f9
Fixed bug with app reading empty values as None
matej2 Jun 3, 2026
9af14f5
Fixed representer so that it always quotes yaml data
matej2 Jun 11, 2026
14d27b0
Added instructions: how to run coverage
matej2 Jun 11, 2026
98cd3a6
Added missing dependency
matej2 Jun 12, 2026
052fdd9
Added CI config
matej2 Jun 12, 2026
b09ee0e
Step to install dependencies
matej2 Jun 12, 2026
7528c11
Renamed step
matej2 Jun 12, 2026
cb79f0d
Skip confirm install
matej2 Jun 12, 2026
3076ea7
Changed workflow to run on comment
matej2 Jun 12, 2026
dbb8a55
Changed keyword, run only on comment create
matej2 Jun 12, 2026
0def1bf
Config refactor
matej2 Jun 12, 2026
5916b31
Merge pull request #12 from matej2/linux-cli
matej2 Jun 12, 2026
98fa96a
Added instructions for test and coverage
matej2 Jun 12, 2026
71251aa
Removed workflow check
matej2 Jun 12, 2026
1237d1e
Workflow test
matej2 Jun 12, 2026
ca5b265
Merge pull request #13 from matej2/linux-test-instructions
matej2 Jun 12, 2026
7230482
Workflow test
matej2 Jun 12, 2026
1694ba0
Merge pull request #14 from matej2/linux-test-instructions
matej2 Jun 12, 2026
b5051d7
Workflow test
matej2 Jun 12, 2026
9aa54eb
Fixed coverage command
matej2 Jun 12, 2026
c21a92e
Fixed coverage command
matej2 Jun 12, 2026
bf65859
Merge pull request #15 from matej2/linux-test-instructions
matej2 Jun 12, 2026
bf60f6f
Fixed checkout command
matej2 Jun 12, 2026
27de8e1
Fixed checkout command
matej2 Jun 12, 2026
26b18a3
Fixed checkout command
matej2 Jun 12, 2026
11aeb5b
Fixed checkout command
matej2 Jun 12, 2026
e3b9a6b
Fixed checkout command
matej2 Jun 12, 2026
59451d1
Fixed checkout command
matej2 Jun 12, 2026
b20d5a1
Fixed checkout command
matej2 Jun 12, 2026
e35b6e1
Fixed checkout command
matej2 Jun 12, 2026
bd97cb4
Fixed checkout command
matej2 Jun 12, 2026
a977baf
Fixed checkout command
matej2 Jun 12, 2026
ab9e650
Fixed checkout command
matej2 Jun 12, 2026
48eca23
Fixed checkout command
matej2 Jun 12, 2026
7a3840a
Fixed checkout command
matej2 Jun 12, 2026
bf618bb
Fixed checkout command
matej2 Jun 12, 2026
f4cfd93
Build path - save data in user directory
matej2 Jun 12, 2026
eebf200
Merge pull request #17 from matej2/linux-custom-data-directory
matej2 Jun 12, 2026
8291efd
Changed task name list display to textbox
matej2 Jun 12, 2026
9e8cfde
Fixed process to open file in default app
matej2 Jun 12, 2026
e912d08
Merge remote-tracking branch 'origin/linux' into linux
matej2 Jun 12, 2026
2641830
Display yaml file directory
matej2 Jun 12, 2026
737d877
Write coverage status
matej2 Jun 15, 2026
e2653a4
Display coverage only for source code, display as markdown
matej2 Jun 15, 2026
fe5bbec
Config refactor
matej2 Jun 15, 2026
f3183c5
Use virtual screen
matej2 Jun 15, 2026
7574994
Fixed tests to correctly use virtual display
matej2 Jun 15, 2026
42da3c4
Added GUI dependencies
matej2 Jun 15, 2026
44f744e
Added GUI dependencies
matej2 Jun 15, 2026
59cc81f
Added GUI dependencies
matej2 Jun 15, 2026
aa10c3b
Added GUI dependencies
matej2 Jun 15, 2026
29a0cbc
Print result as markdown
matej2 Jun 15, 2026
ac6091e
Fixed result printing, removed unused jobs
matej2 Jun 15, 2026
cd7ba82
Added option that prints missing lines
matej2 Jun 15, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
45 changes: 44 additions & 1 deletion .github/workflows/build-release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ on:
types: [published] # Trigger the workflow when a new release is created

jobs:
build-and-release:
build-and-release-win:
runs-on: windows-latest

steps:
Expand Down Expand Up @@ -35,6 +35,49 @@ jobs:
run: |
pipenv run pyinstaller --noconsole --windowed --onefile main.py

# Step 6: Upload executable to release assets
- name: Upload Release Asset
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ github.event.release.upload_url }} # This is provided by the release event
asset_path: ./dist/main.exe
asset_name: TaskNoteManager-${{ github.event.release.tag_name }}.exe
asset_content_type: application/octet-stream

build-and-release-linux:
runs-on: ubuntu-latest

steps:
# Step 1: Check out the repository
- name: Checkout code
uses: actions/checkout@v4
with:
ref: linux

# Step 2: Set up Python
- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: '3.11.4'

# Step 3: Install Pipenv
- name: Install Pipenv
run: |
python -m pip install --upgrade pip
pip install pipenv

# Step 4: Install dependencies using Pipenv
- name: Install dependencies with Pipenv
run: |
pipenv install --dev

# Step 5: Build the application using PyInstaller
- name: Build with PyInstaller
run: |
pipenv run pyinstaller --noconsole --windowed --onefile main.py

# Step 6: Upload executable to release assets
- name: Upload Release Asset
uses: actions/upload-release-asset@v1
Expand Down
115 changes: 115 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,115 @@
name: Run tests when PR is created

on:
issue_comment:
types: [created]

jobs:
run-tests:
name: Run tests on PR when new comment is added
# Only run on PR comments (not issue comments) containing "!test"
if: github.event.issue.pull_request && contains(github.event.comment.body, '!test')
runs-on: ubuntu-latest
permissions:
pull-requests: write
statuses: write # needed to post commit status to the PR
steps:
- name: Get PR HEAD sha
id: pr-sha
uses: actions/github-script@v7
with:
script: |
const pr = await github.rest.pulls.get({
owner: context.repo.owner,
repo: context.repo.repo,
pull_number: context.payload.issue.number,
});
core.setOutput('sha', pr.data.head.sha);

- name: Set commit status to pending
uses: actions/github-script@v7
with:
script: |
await github.rest.repos.createCommitStatus({
owner: context.repo.owner,
repo: context.repo.repo,
sha: '${{ steps.pr-sha.outputs.sha }}',
state: 'pending',
context: 'Run tests',
description: 'Tests are running...',
});

- name: Checkout code
uses: actions/checkout@v4

- name: Checkout branch
run: gh pr checkout ${{ github.event.issue.number }}
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}

- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: '3.11.4'

- name: Install dependencies with apt get
run: sudo apt-get install -y libdbus-1-dev libdbus-glib-1-dev

- name: Install GUI dependencies and Xvfb
run: |
sudo apt-get update
sudo apt-get install -y xvfb python3-tk libx11-dev libxext-dev libxrender-dev libxinerama-dev libxi-dev libxrandr-dev libxcursor-dev libglx-mesa0 mesa-utils

- name: Install Pipenv
run: |
python -m pip install --upgrade pip
pip install pipenv

- name: Install dependencies with Pipenv
run: pipenv install --dev --deploy

- name: Run tests with xvfb-run
run: |
# Ukaz xvfb-run bo samodejno ustvaril zaslon in varno zagnal vaša orodja v Pipenv
xvfb-run --server-args="-screen 0 800x600x24" pipenv run coverage run --source=./src -m unittest discover -s test/

- name: Post coverage comment
uses: actions/github-script@v7
with:
script: |
const { execSync } = require('child_process');
const total = execSync('pipenv run coverage report -m --format=markdown', { cwd: process.env.GITHUB_WORKSPACE }).toString().trim();
await github.rest.issues.createComment({
owner: context.repo.owner,
repo: context.repo.repo,
issue_number: context.payload.issue.number,
body: `## Coverage Report\n\n ${total}%`
});

- name: Set commit status to success
if: success()
uses: actions/github-script@v7
with:
script: |
await github.rest.repos.createCommitStatus({
owner: context.repo.owner,
repo: context.repo.repo,
sha: '${{ steps.pr-sha.outputs.sha }}',
state: 'success',
context: 'Run tests',
description: 'Tests passed!',
});

- name: Set commit status to failure
if: failure()
uses: actions/github-script@v7
with:
script: |
await github.rest.repos.createCommitStatus({
owner: context.repo.owner,
repo: context.repo.repo,
sha: '${{ steps.pr-sha.outputs.sha }}',
state: 'failure',
context: 'Run tests',
description: 'Tests failed!',
});
1 change: 1 addition & 0 deletions Pipfile
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ notify2 = "*"
pyexcel-ods3 = "*"
typing-extensions = "*"
customtkinter = "*"
dbus-python = "*"

[dev-packages]
pyinstaller = "*"
Expand Down
Loading
Loading