Skip to content

ci: updated aw-version to v0.12.3b14 #127

ci: updated aw-version to v0.12.3b14

ci: updated aw-version to v0.12.3b14 #127

Workflow file for this run

name: Build
on:
push:
branches: [ master ]
pull_request:
branches: [ master ]
jobs:
tests:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
python-version: ['3.10']
aw-server: ["aw-server", "aw-server-rust"]
aw-version: ["v0.12.3b14"]
steps:
- uses: actions/checkout@v3
with:
submodules: 'recursive'
- name: Set up ActivityWatch
uses: ActivityWatch/setup-action@v3
with:
aw-server: ${{ matrix.aw-server }}
aw-version: ${{ matrix.aw-version }}
aw-testing: false
fakedata: true
- name: Install poetry
run: |
pipx install poetry
- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
cache: 'poetry'
- name: Install deps
run: poetry install
- name: Run tests
run: |
make test SLOW=true
- name: Upload coverage
run: |
bash <(curl -s https://codecov.io/bash)
typecheck:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
python-version: ['3.10']
steps:
- uses: actions/checkout@v3
with:
submodules: 'recursive'
- name: Install poetry
run: |
pipx install poetry
- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
cache: 'poetry'
- name: Install deps
run: poetry install
- name: Run typecheck
run: |
make typecheck
notebooks:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
include:
- python-version: '3.10'
aw-server: "aw-server-rust"
aw-version: "master"
steps:
- uses: actions/checkout@v3
with:
submodules: 'recursive'
- name: Set up ActivityWatch
uses: ActivityWatch/setup-action@v3
if: ${{ matrix.aw-version != 'master' }}
with:
aw-server: ${{ matrix.aw-server }}
aw-version: ${{ matrix.aw-version }}
aw-testing: false
fakedata: true
- name: Download aw-server-rust nightly
uses: dawidd6/action-download-artifact@v2
if: ${{ matrix.aw-server == 'aw-server-rust' && matrix.aw-version == 'master' }}
with:
repo: ActivityWatch/aw-server-rust
# Required, workflow file name or ID
workflow: build.yml
# Can be one of a workflow conclusion::
# "failure", "success", "neutral", "cancelled", "skipped", "timed_out", "action_required"
# Or a workflow status:
# "completed", "in_progress", "queued"
# Default: "completed,success"
workflow_conclusion: "completed" # FIXME: Don't try to use builds that fail on Linux
branch: master
event: push
# Uploaded artifact name,
name: binaries-Linux # NOTE: debug build
# Directory where to extract artifact
path: aw-server-rust
- name: Run aw-server-rust nightly
shell: bash
if: ${{ matrix.aw-server == 'aw-server-rust' && matrix.aw-version == 'master' }}
run: |
chmod +x ./aw-server-rust/debug/aw-server
./aw-server-rust/debug/aw-server &
- name: Insert fake data into aw-server-rust # aw-server will have it handled by the action
shell: bash
if: ${{ matrix.aw-server == 'aw-server-rust' && matrix.aw-version == 'master' }}
env:
AW_TESTING: true
run: |
pip install git+https://github.com/ActivityWatch/aw-client.git
wget --no-verbose -O fakedata.py https://github.com/ActivityWatch/aw-fakedata/raw/63a357dbc7b8b832ec44cc55cafd6622ce909590/aw_fakedata.py
python3 fakedata.py
- name: Install poetry
run: |
pipx install poetry
- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
cache: 'poetry'
- name: Install deps
run: poetry install
- name: Build notebooks
env:
aw_server: ${{ matrix.aw-server }}
aw_version: ${{ matrix.aw-version }}
run: |
make notebooks
mkdir notebooks/output/$aw_server
mv notebooks/output/*.html notebooks/output/$aw_server/
- name: Upload notebooks
uses: actions/upload-artifact@v3
with:
name: notebooks
path: notebooks/output
- name: Echo logs
if: ${{ always() }} # ${{ failure() }}
run: |
cat $HOME/.cache/activitywatch/log/aw-server-rust/*
deploy:
runs-on: ubuntu-latest
needs: [notebooks]
steps:
- uses: actions/download-artifact@v3
with:
name: notebooks
path: dist
- name: Display structure of downloaded files
run: ls -R
- run: |
mv dist/aw-server-rust/* dist/
rmdir dist/aw-server-rust
- name: Deploy 🚀
uses: JamesIves/github-pages-deploy-action@releases/v3
if: github.ref == 'refs/heads/master'
with:
BRANCH: gh-pages # The branch the action should deploy to.
FOLDER: dist # The folder the action should deploy.
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}