snapshot of https://github.com/ActivityWatch/activitywatch.git (master, 2026-09-15; blobs > 131072B omitted)
Some checks failed
Research feed publisher tests / test (push) Failing after 3s
Release / Pre-flight checks (push) Failing after 0s
Release / Research Edition — patch and packaging smoke tests (push) Has been skipped
Release / Build Qt artifacts (false, 22, ubuntu-22.04, 3.9, ${{ github.event_name == 'pull_request' || (github.event_name == 'push' && !startsWith(github.ref, 'refs/tags/')) }}, false, false) (push) Has been skipped
Release / Build Qt artifacts (false, 22, ubuntu-22.04, 3.9, false, false, false) (push) Has been skipped
Release / Build Qt artifacts (manylinux_2_28 — glibc 2.28 ABI floor) (22, 3.9) (push) Has been skipped
Release / Generate release notes (push) Has been skipped
Release / Create dev release tag (push) Has been skipped
CodeQL / Analyze (javascript) (push) Failing after 1s
CodeQL / Analyze (python) (push) Failing after 1s
Release / Build Qt artifacts (false, 22, windows-latest, 3.9, false, false, false) (push) Has been cancelled
Release / Build Tauri artifacts (false, 22, macos-15-intel, 3.9, false, false, false) (push) Has been cancelled
Release / Build Tauri artifacts (false, 22, macos-latest, 3.9, false, false, false) (push) Has been cancelled
Release / Build Tauri artifacts (false, 22, ubuntu-24.04, 3.9, ${{ github.event_name == 'pull_request' || (github.event_name == 'push' && !startsWith(github.ref, 'refs/tags/')) }}, false, false) (push) Has been cancelled
Release / Build Tauri artifacts (false, 22, ubuntu-24.04, 3.9, false, false, false) (push) Has been cancelled
Release / Build Tauri artifacts (false, 22, ubuntu-24.04-arm, 3.9, false, false, false) (push) Has been cancelled
Release / Build Tauri artifacts (false, 22, windows-latest, 3.9, false, false, false) (push) Has been cancelled
Release / Build Qt artifacts (false, 22, macos-15-intel, 3.9, false, false, false) (push) Has been cancelled
Release / Build Qt artifacts (false, 22, macos-latest, 3.9, false, false, false) (push) Has been cancelled
Release / Publish draft release (push) Has been cancelled
Some checks failed
Research feed publisher tests / test (push) Failing after 3s
Release / Pre-flight checks (push) Failing after 0s
Release / Research Edition — patch and packaging smoke tests (push) Has been skipped
Release / Build Qt artifacts (false, 22, ubuntu-22.04, 3.9, ${{ github.event_name == 'pull_request' || (github.event_name == 'push' && !startsWith(github.ref, 'refs/tags/')) }}, false, false) (push) Has been skipped
Release / Build Qt artifacts (false, 22, ubuntu-22.04, 3.9, false, false, false) (push) Has been skipped
Release / Build Qt artifacts (manylinux_2_28 — glibc 2.28 ABI floor) (22, 3.9) (push) Has been skipped
Release / Generate release notes (push) Has been skipped
Release / Create dev release tag (push) Has been skipped
CodeQL / Analyze (javascript) (push) Failing after 1s
CodeQL / Analyze (python) (push) Failing after 1s
Release / Build Qt artifacts (false, 22, windows-latest, 3.9, false, false, false) (push) Has been cancelled
Release / Build Tauri artifacts (false, 22, macos-15-intel, 3.9, false, false, false) (push) Has been cancelled
Release / Build Tauri artifacts (false, 22, macos-latest, 3.9, false, false, false) (push) Has been cancelled
Release / Build Tauri artifacts (false, 22, ubuntu-24.04, 3.9, ${{ github.event_name == 'pull_request' || (github.event_name == 'push' && !startsWith(github.ref, 'refs/tags/')) }}, false, false) (push) Has been cancelled
Release / Build Tauri artifacts (false, 22, ubuntu-24.04, 3.9, false, false, false) (push) Has been cancelled
Release / Build Tauri artifacts (false, 22, ubuntu-24.04-arm, 3.9, false, false, false) (push) Has been cancelled
Release / Build Tauri artifacts (false, 22, windows-latest, 3.9, false, false, false) (push) Has been cancelled
Release / Build Qt artifacts (false, 22, macos-15-intel, 3.9, false, false, false) (push) Has been cancelled
Release / Build Qt artifacts (false, 22, macos-latest, 3.9, false, false, false) (push) Has been cancelled
Release / Publish draft release (push) Has been cancelled
This commit is contained in:
43
.github/workflows/codeql.yml
vendored
Normal file
43
.github/workflows/codeql.yml
vendored
Normal file
@@ -0,0 +1,43 @@
|
||||
name: "CodeQL"
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [ "master" ]
|
||||
pull_request:
|
||||
branches: [ "master" ]
|
||||
schedule:
|
||||
- cron: "57 14 * * 4"
|
||||
|
||||
jobs:
|
||||
analyze:
|
||||
name: Analyze
|
||||
runs-on: ubuntu-latest
|
||||
permissions:
|
||||
actions: read
|
||||
contents: read
|
||||
security-events: write
|
||||
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
language: [ python, javascript ]
|
||||
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v7
|
||||
with:
|
||||
submodules: recursive
|
||||
|
||||
- name: Initialize CodeQL
|
||||
uses: github/codeql-action/init@v4
|
||||
with:
|
||||
languages: ${{ matrix.language }}
|
||||
queries: +security-and-quality
|
||||
|
||||
- name: Autobuild
|
||||
uses: github/codeql-action/autobuild@v4
|
||||
|
||||
- name: Perform CodeQL Analysis
|
||||
uses: github/codeql-action/analyze@v4
|
||||
with:
|
||||
category: "/language:${{ matrix.language }}"
|
||||
27
.github/workflows/dependabot-automerge.yml
vendored
Normal file
27
.github/workflows/dependabot-automerge.yml
vendored
Normal file
@@ -0,0 +1,27 @@
|
||||
name: Dependabot Auto-merge
|
||||
|
||||
# NOTE: This workflow relies on a Personal Access Token from the @ActivityWatchBot user
|
||||
# See this issue for details: https://github.com/ridedott/merge-me-action/issues/1581
|
||||
|
||||
on:
|
||||
workflow_run:
|
||||
types:
|
||||
- completed
|
||||
workflows:
|
||||
# List all required workflow names here.
|
||||
- Build
|
||||
|
||||
permissions:
|
||||
contents: write
|
||||
pull-requests: read
|
||||
|
||||
jobs:
|
||||
auto_merge:
|
||||
name: Auto-merge
|
||||
runs-on: ubuntu-latest
|
||||
if: github.event.workflow_run.conclusion == 'success' && github.actor == 'dependabot[bot]'
|
||||
|
||||
steps:
|
||||
- uses: ridedott/merge-me-action@e45e8ab1dd3d3dc1d27b8c0a3f465e40e8c9fb8e # v2
|
||||
with:
|
||||
GITHUB_TOKEN: ${{ secrets.AWBOT_GH_TOKEN }}
|
||||
28
.github/workflows/diagram.yml
vendored
Normal file
28
.github/workflows/diagram.yml
vendored
Normal file
@@ -0,0 +1,28 @@
|
||||
name: Diagram
|
||||
|
||||
on:
|
||||
workflow_dispatch: {}
|
||||
push:
|
||||
branches:
|
||||
- diagram
|
||||
#- master # protected branch, can't push updated diagram to
|
||||
|
||||
jobs:
|
||||
update-diagram:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout code
|
||||
uses: actions/checkout@v7
|
||||
with:
|
||||
submodules: recursive
|
||||
- name: Also checkout docs & website
|
||||
run: |
|
||||
git clone https://github.com/ActivityWatch/docs
|
||||
git clone https://github.com/ActivityWatch/activitywatch.github.io
|
||||
- name: Update diagram
|
||||
uses: githubocto/repo-visualizer@a999615bdab757559bf94bda1fe6eef232765f85 # main
|
||||
with:
|
||||
commit_message: 'chore: update diagram [skip ci]'
|
||||
file_colors: '{"rs": "#b7410e", "py": "#229922", "rst": "pink", "txt": "pink", "md": "pink", "css": "purple", "scss": "purple"}'
|
||||
excluded_globs: "**/.github;**/.git;**/*.builds;**/*.bat;**/*.iss;**/*.ps1;**/*.pyi;**/*.plist;**/*.cmd"
|
||||
#excluded_paths: '.github'
|
||||
25
.github/workflows/greetings.yml
vendored
Normal file
25
.github/workflows/greetings.yml
vendored
Normal file
@@ -0,0 +1,25 @@
|
||||
name: Greetings
|
||||
|
||||
on: [issues, pull_request]
|
||||
|
||||
jobs:
|
||||
greeting:
|
||||
runs-on: ubuntu-latest
|
||||
if: github.repository_owner == 'ActivityWatch' # don't run on forks
|
||||
steps:
|
||||
- uses: actions/first-interaction@v1
|
||||
with:
|
||||
repo-token: ${{ secrets.GITHUB_TOKEN }}
|
||||
issue-message: >
|
||||
Hi there!
|
||||
|
||||
As you're new to this repo, please make sure you've used an appropriate [issue template](https://github.com/ActivityWatch/activitywatch/issues/new/choose) and searched for duplicates (it helps us focus on actual development!).
|
||||
We'd also like to suggest that you read our [contribution guidelines](https://github.com/ActivityWatch/activitywatch/blob/master/CONTRIBUTING.md) and our [code of conduct](https://github.com/ActivityWatch/activitywatch/blob/master/CODE_OF_CONDUCT.md).
|
||||
|
||||
Thanks a bunch for opening your first issue! 🙏
|
||||
pr-message: >
|
||||
Congratulations on opening your first pull request to this repo!
|
||||
|
||||
We'll get back to you as soon as possible. In the meantime, please make sure you've read our [contribution guidelines](https://github.com/ActivityWatch/activitywatch/blob/master/CONTRIBUTING.md).
|
||||
|
||||
Thanks for contributing!
|
||||
1471
.github/workflows/release.yml
vendored
Normal file
1471
.github/workflows/release.yml
vendored
Normal file
File diff suppressed because it is too large
Load Diff
25
.github/workflows/research-feed-publisher-tests.yml
vendored
Normal file
25
.github/workflows/research-feed-publisher-tests.yml
vendored
Normal file
@@ -0,0 +1,25 @@
|
||||
name: Research feed publisher tests
|
||||
on:
|
||||
pull_request:
|
||||
paths:
|
||||
- 'scripts/package/publish_research_feed.py'
|
||||
- 'scripts/tests/test_publish_research_feed.py'
|
||||
- '.github/workflows/research-feed-publisher-tests.yml'
|
||||
push:
|
||||
branches: [master]
|
||||
paths:
|
||||
- 'scripts/package/publish_research_feed.py'
|
||||
- 'scripts/tests/test_publish_research_feed.py'
|
||||
- '.github/workflows/research-feed-publisher-tests.yml'
|
||||
permissions:
|
||||
contents: read
|
||||
jobs:
|
||||
test:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v7
|
||||
- uses: actions/setup-python@v7
|
||||
with:
|
||||
python-version: '3.9'
|
||||
- run: pip install pytest 'semver>=3,<4'
|
||||
- run: python3 -m pytest scripts/tests/test_publish_research_feed.py -q
|
||||
175
.github/workflows/test.yml
vendored
Normal file
175
.github/workflows/test.yml
vendored
Normal file
@@ -0,0 +1,175 @@
|
||||
name: Test
|
||||
|
||||
on:
|
||||
#push:
|
||||
# branches: [ master ]
|
||||
#pull_request:
|
||||
# branches: [ master ]
|
||||
workflow_dispatch:
|
||||
|
||||
|
||||
|
||||
jobs:
|
||||
# an integration test designed to catch bugs triggered by updating (database migrations and such)
|
||||
upgrades:
|
||||
name: upgrade from ${{ matrix.aw_server_old }} ${{ matrix.aw_server_old_args }} to ${{ matrix.aw_server_new }} ${{ matrix.aw_server_new_args }}
|
||||
# needs: [build]
|
||||
#if: startsWith(github.ref, 'refs/tags/v') # only run on tag
|
||||
runs-on: ubuntu-latest
|
||||
env:
|
||||
old_version: 'v0.12.2'
|
||||
new_version: 'v0.13.1'
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
aw_server_old: ['aw-server', 'aw-server-rust']
|
||||
aw_server_new: ['aw-server', 'aw-server-rust']
|
||||
aw_server_old_args: ['']
|
||||
aw_server_new_args: ['']
|
||||
include:
|
||||
# python, peewee (default)
|
||||
- aw_server_old: 'aw-server'
|
||||
aw_server_new: 'aw-server'
|
||||
# python, sqlite
|
||||
# FIXME: sqlite broken since aw-server enabled flask multithreading (new default)
|
||||
- aw_server_old: "aw-server"
|
||||
aw_server_new: "aw-server"
|
||||
aw_server_old_args: "--storage sqlite"
|
||||
aw_server_new_args: "--storage sqlite"
|
||||
old_version: 'v0.12.2'
|
||||
new_version: 'v0.13.1'
|
||||
# python, peewee to sqlite
|
||||
# FIXME: broken, same thing with sqlite as above
|
||||
- aw_server_old: "aw-server"
|
||||
aw_server_new: "aw-server"
|
||||
aw_server_old_args: "--storage peewee"
|
||||
aw_server_new_args: "--storage sqlite"
|
||||
old_version: 'v0.12.2'
|
||||
new_version: 'v0.13.1'
|
||||
exclude:
|
||||
# rust to python, not supported
|
||||
- aw_server_old: 'aw-server-rust'
|
||||
aw_server_new: 'aw-server'
|
||||
|
||||
steps:
|
||||
# Will download all artifacts to path
|
||||
- name: Download build artifacts
|
||||
if: ${{ env.new_version == 'this' }}
|
||||
uses: actions/download-artifact@v8
|
||||
with:
|
||||
name: builds-Linux-py3.9
|
||||
path: dist
|
||||
|
||||
# Only used during testing, so we don't have to wait for the main build job
|
||||
- name: Download new ActivityWatch
|
||||
if: ${{ env.new_version != 'this' }}
|
||||
run: |
|
||||
mkdir dist
|
||||
pushd dist
|
||||
wget -q https://github.com/ActivityWatch/activitywatch/releases/download/${{ env.new_version }}/activitywatch-${{ env.new_version }}-linux-x86_64.zip
|
||||
|
||||
- name: Install new & old ActivityWatch
|
||||
run: |
|
||||
pushd dist
|
||||
|
||||
# New version
|
||||
unzip activitywatch-*-linux-x86_64.zip
|
||||
mv activitywatch/ aw-new
|
||||
|
||||
# Old version
|
||||
wget -q -O aw-old.zip https://github.com/ActivityWatch/activitywatch/releases/download/${{ env.old_version }}/activitywatch-${{ env.old_version }}-linux-x86_64.zip
|
||||
unzip aw-old.zip
|
||||
mv activitywatch/ aw-old
|
||||
|
||||
- name: Display structure of downloaded files
|
||||
run: ls -R
|
||||
working-directory: dist
|
||||
|
||||
- name: Run and test old server
|
||||
run: |
|
||||
bin=dist/aw-old/${{ matrix.aw_server_old }}/${{ matrix.aw_server_old }}
|
||||
url="http://localhost:5600"
|
||||
|
||||
# Check version
|
||||
$bin --version || true # due to bug in old aw-server
|
||||
|
||||
# Run server and log output
|
||||
$bin ${{ matrix.aw_server_old_args }} >> log-old.txt 2>&1 &
|
||||
sleep 5 # wait for startup
|
||||
|
||||
# Set server URL
|
||||
|
||||
# Get server info
|
||||
curl "$url/api/0/info" --fail-with-body
|
||||
|
||||
# Create bucket
|
||||
curl -X 'POST' --fail-with-body \
|
||||
"$url/api/0/buckets/aw-test" \
|
||||
-H 'accept: application/json' \
|
||||
-H 'Content-Type: application/json' \
|
||||
-d '{
|
||||
"client": "test",
|
||||
"type": "test",
|
||||
"hostname": "test"
|
||||
}'
|
||||
|
||||
# Get buckets
|
||||
curl "$url/api/0/buckets/" -H 'accept: application/json'
|
||||
|
||||
# Send a heartbeat
|
||||
timestamp=$(date -u +"%Y-%m-%dT%H:%M:%SZ")
|
||||
curl -X 'POST' \
|
||||
"$url/api/0/buckets/aw-test/heartbeat?pulsetime=0" \
|
||||
-H 'accept: application/json' \
|
||||
-H 'Content-Type: application/json' \
|
||||
-d '{
|
||||
"timestamp": "'$timestamp'",
|
||||
"duration": 0,
|
||||
"data": {"key": "test value"}
|
||||
}'
|
||||
|
||||
# Give a sec, then kill server process
|
||||
sleep 1
|
||||
kill $!
|
||||
|
||||
- name: Run and test new server
|
||||
run: |
|
||||
bin=dist/aw-new/${{ matrix.aw_server_new }}/${{ matrix.aw_server_new }}
|
||||
url="http://localhost:5600"
|
||||
|
||||
# Check version
|
||||
$bin --version
|
||||
|
||||
# Run server and log output
|
||||
$bin ${{ matrix.aw_server_new_args }} >> log-new.txt 2>&1 &
|
||||
sleep 5 # wait for startup
|
||||
|
||||
# Get server info
|
||||
curl "$url/api/0/info"
|
||||
|
||||
# Get buckets
|
||||
curl "$url/api/0/buckets/" -H 'accept: application/json'
|
||||
|
||||
# Send a heartbeat
|
||||
timestamp=$(date -u +"%Y-%m-%dT%H:%M:%SZ")
|
||||
curl -X 'POST' --fail-with-body \
|
||||
"$url/api/0/buckets/aw-test/heartbeat?pulsetime=60" \
|
||||
-H 'accept: application/json' \
|
||||
-H 'Content-Type: application/json' \
|
||||
-d '{
|
||||
"timestamp": "'$timestamp'",
|
||||
"duration": 0,
|
||||
"data": {"key": "test value"}
|
||||
}'
|
||||
|
||||
# Give a sec, then kill server process
|
||||
sleep 1
|
||||
kill $!
|
||||
|
||||
- name: Output logs
|
||||
if: always()
|
||||
run: |
|
||||
cat log-old.txt || true
|
||||
echo "\n---\n"
|
||||
cat log-new.txt || true
|
||||
|
||||
13
.github/workflows/winget.yml
vendored
Normal file
13
.github/workflows/winget.yml
vendored
Normal file
@@ -0,0 +1,13 @@
|
||||
name: Publish to WinGet
|
||||
on:
|
||||
release:
|
||||
types: [released]
|
||||
jobs:
|
||||
publish:
|
||||
runs-on: windows-latest # action can only be run on windows
|
||||
steps:
|
||||
- uses: vedantmgoyal2009/winget-releaser@4ffc7888bffd451b357355dc214d43bb9f23917e # v2
|
||||
with:
|
||||
identifier: ActivityWatch.ActivityWatch
|
||||
token: ${{ secrets.GH_TOKEN_WINGET_AUTOUPDATE }}
|
||||
fork-user: ActivityWatchBot
|
||||
Reference in New Issue
Block a user