Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
32 commits
Select commit Hold shift + click to select a range
19ec53d
Switch to vite app for settings server
dbieber Nov 10, 2024
ab3aec2
Run npm run build in image
dbieber Nov 10, 2024
46e11d1
Change cd commands
dbieber Nov 10, 2024
4d87e5f
install node
dbieber Nov 10, 2024
ffba13f
install node
dbieber Nov 10, 2024
c69fdf8
Try pre-building web app
dbieber Nov 10, 2024
23101ef
remove extra line
dbieber Nov 10, 2024
d7dc52e
paths
dbieber Nov 10, 2024
3b1213d
Different path for /home/runner/work/GoNoteGo/GoNoteGo/web-app-dist
dbieber Nov 10, 2024
4d236df
Try with bind
dbieber Nov 10, 2024
2891b84
Update settings page title
dbieber Dec 3, 2024
8fdff13
Use dbieber arm action
dbieber Dec 4, 2024
58f7985
Drop v2
dbieber Dec 4, 2024
69071bd
try at v1.0.0
dbieber Dec 4, 2024
1161244
Run cp of artifact
dbieber Dec 4, 2024
ed04d66
Add mount path
dbieber Dec 4, 2024
9c1d44a
Add ls
dbieber Dec 4, 2024
4db4a29
change cp flags
dbieber Dec 4, 2024
d32f16b
use v1.0.1
dbieber Dec 4, 2024
e12b384
v1.0.2.
dbieber Dec 4, 2024
2731bc7
Remove whitespace
dbieber Jan 31, 2025
a5b52ac
Log more
dbieber Feb 1, 2025
957a840
Modify logging
dbieber Feb 1, 2025
d80a621
Use extra_files
dbieber Feb 1, 2025
168e1d6
Use v1.0.3
dbieber Feb 1, 2025
89e603a
Use 1.0.4
dbieber Feb 1, 2025
4b1d399
Use 1.0.5
dbieber Feb 1, 2025
16c88f2
Use 1.0.6
dbieber Feb 1, 2025
cc0458d
Fix settings-server integration in GitHub Actions
dbieber Feb 25, 2025
37c2fb0
Update arm-runner-action to v1.0.7
dbieber Feb 25, 2025
ae058b9
Fix disk space issue and update to arm-runner-action@v1.0.8
dbieber Feb 25, 2025
dc8a4a6
Fix paths for web app files in VM
dbieber Feb 25, 2025
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
62 changes: 57 additions & 5 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -29,22 +29,61 @@ jobs:
source .venv/bin/activate
pytest

- name: Build web app
run: |
cd gonotego/settings-server
npm install
npm run build
cd ../..

- name: Archive web app build
uses: actions/upload-artifact@v4
with:
name: web-app-dist
path: gonotego/settings-server/dist

build_image:
runs-on: ubuntu-latest
needs: build
steps:
- uses: pguyot/arm-runner-action@v2
- name: Download web app build
uses: actions/download-artifact@v4
with:
name: web-app-dist
path: web-app-dist
# /home/runner/work/GoNoteGo/GoNoteGo/web-app-dist

- name: Verify web app download
run: |
echo "Checking contents of web-app-dist:"
ls -la web-app-dist
if [ ! -f "web-app-dist/index.html" ]; then
echo "ERROR: web-app-dist directory does not contain expected files!"
exit 1
fi

- uses: dbieber/arm-runner-action@v1.0.8
id: build_image
with:
base_image: https://downloads.raspberrypi.com/raspios_armhf/images/raspios_armhf-2024-03-15/2024-03-15-raspios-bookworm-armhf.img.xz
bootpartition: 1
rootpartition: 2
image_additional_mb: 4000
image_additional_mb: 6000
extra_files_path: /home/runner/work/GoNoteGo/GoNoteGo/web-app-dist
extra_files_mnt_path: web-app-dist
commands: |
echo "Updating!"
sudo apt update
echo "Updating package lists..."
sudo apt-get update

# Clean up apt cache to free up space
sudo apt-get clean

echo "Installing dependencies!"
sudo apt install -y git firefox-esr xvfb portaudio19-dev libatlas-base-dev redis-server espeak rustc python3-dev libopenblas-dev iptables iptables-persistent
sudo apt install -y git firefox-esr xvfb portaudio19-dev libatlas-base-dev redis-server espeak \
rustc python3-dev libopenblas-dev iptables iptables-persistent nodejs npm

# Clean up after installation
sudo apt-get clean

echo "Installing Go Note Go!"
mkdir -p /home/pi/code/github/dbieber
Expand All @@ -54,6 +93,19 @@ jobs:
# Checkout the specific commit
git checkout $GITHUB_SHA

echo "Including web app"
echo "Checking web app files at /web-app-dist:"
ls -la /web-app-dist

echo "Creating settings-server directory:"
mkdir -p /home/pi/code/github/dbieber/GoNoteGo/gonotego/settings-server/

echo "Copying web app files:"
cp -r /web-app-dist /home/pi/code/github/dbieber/GoNoteGo/gonotego/settings-server/dist

echo "Verifying copied web app files:"
ls -la /home/pi/code/github/dbieber/GoNoteGo/gonotego/settings-server/dist

echo "Setting up Python environment"
python3 -m venv env
./env/bin/pip install -e . # Install Python dependencies
Expand Down
24 changes: 24 additions & 0 deletions gonotego/settings-server/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
# Logs
logs
*.log
npm-debug.log*
yarn-debug.log*
yarn-error.log*
pnpm-debug.log*
lerna-debug.log*

node_modules
dist
dist-ssr
*.local

# Editor directories and files
.vscode/*
!.vscode/extensions.json
.idea
.DS_Store
*.suo
*.ntvs*
*.njsproj
*.sln
*.sw?
21 changes: 21 additions & 0 deletions gonotego/settings-server/components.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
{
"$schema": "https://ui.shadcn.com/schema.json",
"style": "default",
"rsc": false,
"tsx": true,
"tailwind": {
"config": "tailwind.config.js",
"css": "src/index.css",
"baseColor": "neutral",
"cssVariables": false,
"prefix": ""
},
"aliases": {
"components": "@/components",
"utils": "@/lib/utils",
"ui": "@/components/ui",
"lib": "@/lib",
"hooks": "@/hooks"
},
"iconLibrary": "lucide"
}
28 changes: 28 additions & 0 deletions gonotego/settings-server/eslint.config.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
import js from '@eslint/js'
import globals from 'globals'
import reactHooks from 'eslint-plugin-react-hooks'
import reactRefresh from 'eslint-plugin-react-refresh'
import tseslint from 'typescript-eslint'

export default tseslint.config(
{ ignores: ['dist'] },
{
extends: [js.configs.recommended, ...tseslint.configs.recommended],
files: ['**/*.{ts,tsx}'],
languageOptions: {
ecmaVersion: 2020,
globals: globals.browser,
},
plugins: {
'react-hooks': reactHooks,
'react-refresh': reactRefresh,
},
rules: {
...reactHooks.configs.recommended.rules,
'react-refresh/only-export-components': [
'warn',
{ allowConstantExport: true },
],
},
},
)
12 changes: 12 additions & 0 deletions gonotego/settings-server/index.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Go Note Go Settings</title>
</head>
<body>
<div id="root"></div>
<script type="module" src="/src/main.tsx"></script>
</body>
</html>
Loading