Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Location picker by jeff #1108

Closed
wants to merge 92 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
92 commits
Select commit Hold shift + click to select a range
9b79bc6
add quadrants example to illustrate using rows an columns in a stack …
tavdog Apr 18, 2021
77fd577
Merge branch 'tidbyt:main' into main
tavdog Dec 30, 2021
ecde73c
Merge branch 'tidbyt:main' into main
tavdog Jan 2, 2022
c54437e
Add command for listing apps installed on a given tidbyt
dinosaursrarr Mar 7, 2023
81a922b
Add command for deleting scripts from a Tidbyt
dinosaursrarr Mar 7, 2023
7ea0e57
Merge branch 'main' into cmd
dinosaursrarr Mar 31, 2023
6334b97
Merge branch 'tidbyt:main' into main
tavdog May 25, 2023
221ada5
add log for config changes
tavdog May 25, 2023
df3377c
actual config changes
tavdog May 25, 2023
238b6c2
add Dockerfile for build environment
tavdog May 26, 2023
152d765
just syncing here
tavdog May 26, 2023
0a5adff
Merge remote-tracking branch 'dinotash/cmd' into dino_update
tavdog May 26, 2023
0d0c881
jsonoutput bare bones
tavdog May 27, 2023
5411dd3
accept json config file option
tavdog May 27, 2023
3d4397b
remove some log lines
tavdog May 27, 2023
c291e88
add outconfig file option to the server stack
tavdog May 27, 2023
09de470
comment out log.print
tavdog May 27, 2023
3794292
change button text on pixlet serve
tavdog Jun 21, 2023
ccb80e7
Merge branch 'json_configs' into config_merge
tavdog Dec 3, 2024
b55c965
fix web/img
tavdog Dec 3, 2024
efb57dd
Add a workflow to build Docker images with a static pixlet binary
IngmarStein Feb 9, 2025
bcbdb35
Merge pull request #1 from IngmarStein/main
tavdog Feb 9, 2025
ce0b067
Use a forked go-libwebp with a newer libwebp version
IngmarStein Feb 10, 2025
a83af79
Merge pull request #2 from IngmarStein/main
IngmarStein Feb 10, 2025
8e4da31
Add devcontainer and bump dependencies
IngmarStein Feb 10, 2025
e9dee28
Remove usages of the deprecated ioutil package
IngmarStein Feb 10, 2025
73ef1fe
Merge pull request #3 from IngmarStein/main
IngmarStein Feb 10, 2025
9674b0c
Remove @mui/lab
IngmarStein Feb 11, 2025
2cdb61b
Add a flag to use a different base URL than api.tidbyt.com.
IngmarStein Feb 11, 2025
9d9ac05
Merge pull request #4 from IngmarStein/main
IngmarStein Feb 11, 2025
c9dfc8e
Update Go to 1.24.0
IngmarStein Feb 16, 2025
3f82366
Merge pull request #5 from IngmarStein/main
IngmarStein Feb 16, 2025
1b69aa4
Add an API to Pixlet
IngmarStein Feb 16, 2025
2990e40
Merge pull request #6 from IngmarStein/main
IngmarStein Feb 17, 2025
fa646e5
Migrate from gorilla/mux to standard http.ServeMux
IngmarStein Feb 17, 2025
9795395
Add support for serving the Pixlet app from a different path
IngmarStein Feb 17, 2025
44eb566
Update dependencies
IngmarStein Feb 17, 2025
8a740f2
Merge pull request #7 from IngmarStein/main
IngmarStein Feb 17, 2025
85b8f2f
Set <base> when serving from non-root
IngmarStein Feb 17, 2025
9812741
Merge pull request #8 from IngmarStein/main
IngmarStein Feb 17, 2025
27ad894
Create libpixlet to export a function which renders an applet
IngmarStein Feb 17, 2025
ea0bab1
Merge pull request #9 from IngmarStein/main
IngmarStein Feb 18, 2025
2cd17f2
Replace the defunct goreleaser(-pro) workflow with a GitHub CLI command
IngmarStein Feb 23, 2025
045d8c7
Merge pull request #10 from IngmarStein/release
IngmarStein Feb 23, 2025
ee21d5b
Bump actions/download-artifact to v4
IngmarStein Feb 23, 2025
daf4897
Merge pull request #11 from IngmarStein/main
IngmarStein Feb 23, 2025
d52352d
Bump dependencies
IngmarStein Feb 23, 2025
141a7aa
Merge pull request #12 from IngmarStein/main
IngmarStein Feb 23, 2025
8d14a34
Release workflow: download artifacts from all architectures
IngmarStein Feb 23, 2025
d9e3a63
Merge pull request #13 from IngmarStein/main
IngmarStein Feb 23, 2025
cd32710
Add release tarballs
IngmarStein Feb 23, 2025
beb09b9
Merge pull request #14 from IngmarStein/main
IngmarStein Feb 23, 2025
dacbc53
Fix tar flags
IngmarStein Feb 23, 2025
6b8ae84
Add version number to release tarball
IngmarStein Feb 23, 2025
ad1510b
Include libpixlet in release
IngmarStein Feb 23, 2025
a6df06a
Remove CGO_LDFLAGS on linux-amd64
IngmarStein Feb 23, 2025
aa9acbf
Add write permissions to the create-release workflow
IngmarStein Feb 24, 2025
86f3781
Include libpixlet in release tarball
IngmarStein Feb 24, 2025
9b7b9b1
Fix the DateTime picker (#15)
IngmarStein Feb 25, 2025
de72911
Remove the legacy UI
IngmarStein Feb 26, 2025
766cdab
Update from React 17 to 19
IngmarStein Feb 26, 2025
247c40a
Enable npm and devcontainers for dependabot
IngmarStein Feb 26, 2025
b89fedb
Bump Go dependencies
IngmarStein Feb 26, 2025
14b27da
Remove unused imports
IngmarStein Feb 26, 2025
4078bbe
Migrate from Grid to Grid2
IngmarStein Feb 26, 2025
675f8ea
Fix wrong initial values being displayed in the location picker
IngmarStein Feb 27, 2025
0b6b6a5
Update from React 17 to 19 (#16)
IngmarStein Feb 27, 2025
6fe4ce3
Update build badge
IngmarStein Feb 27, 2025
cf693c8
Merge branch 'Tronbyt:main' into main
IngmarStein Feb 27, 2025
83c90af
Require at least node 18
IngmarStein Feb 27, 2025
6edda92
Install the latest lts versions in the release workflow
IngmarStein Feb 27, 2025
67c00e5
Add libpixlet.h to the container image
IngmarStein Feb 27, 2025
a98b5cf
Remove outdated babel-preset-react package
IngmarStein Feb 27, 2025
e3a129f
Add missing file
IngmarStein Feb 27, 2025
a3c9ed7
Reduce React app size (#17)
IngmarStein Feb 27, 2025
bc48555
Update to Trixie for the builder image
IngmarStein Feb 27, 2025
c7206bb
Use Node 23 for the container build
IngmarStein Feb 28, 2025
7bc79e5
Install ca-certificates before downloading Node
IngmarStein Feb 28, 2025
1fe60fc
s/npm/nodejs/
IngmarStein Feb 28, 2025
8464943
LocationBased: pass the display name along with the value
IngmarStein Feb 28, 2025
40b8d7f
LocationBased: store location in the config, in addition to the selected
IngmarStein Feb 28, 2025
fc450e4
Add a cache implementation using Redis
IngmarStein Mar 1, 2025
11389b4
if arg is passed merge it with json file params.
tavdog Mar 4, 2025
9883ce4
Bump core-js from 3.40.0 to 3.41.0 (#19)
dependabot[bot] Mar 4, 2025
121f172
Bump @fontsource/material-icons from 5.1.1 to 5.2.5 (#20)
dependabot[bot] Mar 4, 2025
af0e3c7
Bump babel-loader from 9.2.1 to 10.0.0 (#23)
dependabot[bot] Mar 4, 2025
c8ae064
Bump @fontsource/barlow from 5.1.1 to 5.2.5 (#21)
dependabot[bot] Mar 4, 2025
1eb08bf
Bump copy-webpack-plugin from 12.0.2 to 13.0.0 (#22)
dependabot[bot] Mar 4, 2025
21e2113
Merge pull request #24 from tronbyt/combine_args_and_configfile
tavdog Mar 4, 2025
c8923b5
Adding Geoapify LocationPicker to location.jsx and locationbased.jsx
JeffLac Mar 8, 2025
164e09a
Merge pull request #27 from JeffLac/location-picker
tavdog Mar 8, 2025
548b133
add location-picker branch to publish job
tavdog Mar 8, 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
8 changes: 0 additions & 8 deletions .babelrc

This file was deleted.

19 changes: 19 additions & 0 deletions .babelrc.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
{
"presets": [
[
"@babel/preset-env",
{
"useBuiltIns": false
}
],
[
"@babel/preset-react",
{
"runtime": "automatic"
}
]
],
"plugins": [
"@babel/plugin-transform-runtime"
]
}
52 changes: 52 additions & 0 deletions .devcontainer/devcontainer.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
// For format details, see https://aka.ms/devcontainer.json. For config options, see the
// README at: https://github.com/devcontainers/templates/tree/main/src/go
{
"name": "Go",
// Or use a Dockerfile or Docker Compose file. More info: https://containers.dev/guide/dockerfile
"image": "mcr.microsoft.com/devcontainers/base:bookworm",
"features": {
"ghcr.io/devcontainers/features/node:1": {
"nodeGypDependencies": true,
"installYarnUsingApt": true,
"version": "lts",
"pnpmVersion": "latest",
"nvmVersion": "latest"
},
"ghcr.io/devcontainers/features/go:1": {
"version": "1.24.0"
}
},
"customizations": {
"vscode": {
"extensions": [
"timonwong.shellcheck",
"ms-vscode.makefile-tools",
"github.vscode-github-actions",
"ms-azuretools.vscode-docker",
"golang.go"
],
"settings": {
"terminal.integrated.profiles.linux": {
"zsh": {
"path": "/usr/bin/zsh"
}
},
"terminal.integrated.defaultProfile.linux": "zsh",
"editor.formatOnPaste": false,
"editor.formatOnSave": true,
"editor.formatOnType": true,
"files.trimTrailingWhitespace": true
}
}
},
// Use 'forwardPorts' to make a list of ports inside the container available locally.
"forwardPorts": [
8080
],
// Use 'postCreateCommand' to run commands after the container is created.
"postCreateCommand": "echo deb http://deb.debian.org/debian bookworm-backports main | sudo tee -a /etc/apt/sources.list.d/bookworm-backports.list && sudo apt-get update && sudo apt install -y libwebp-dev/bookworm-backports && npm install"
// Configure tool-specific properties.
// "customizations": {},
// Uncomment to connect as root instead. More info: https://aka.ms/dev-containers-non-root.
// "remoteUser": "root"
}
18 changes: 18 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
version: 2
updates:
- package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: "weekly"
- package-ecosystem: "docker"
directory: "/"
schedule:
interval: "weekly"
- package-ecosystem: "npm"
directory: "/"
schedule:
interval: "weekly"
- package-ecosystem: "devcontainers"
directory: "/"
schedule:
interval: "weekly"
8 changes: 4 additions & 4 deletions .github/workflows/codeql-analysis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ on:
jobs:
analyze:
name: Analyze
runs-on: ubuntu-22.04
runs-on: ubuntu-latest
permissions:
actions: read
contents: read
Expand All @@ -42,7 +42,7 @@ jobs:

# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
uses: github/codeql-action/init@v2
uses: github/codeql-action/init@v3
with:
languages: ${{ matrix.language }}
# If you wish to specify custom queries, you can do so here or in a config file.
Expand All @@ -56,7 +56,7 @@ jobs:
# Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
# If this step fails, then you should remove it and run the build manually (see below)
- name: Autobuild
uses: github/codeql-action/autobuild@v2
uses: github/codeql-action/autobuild@v3

# ℹ️ Command-line programs to run using the OS shell.
# 📚 See https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsrun
Expand All @@ -69,4 +69,4 @@ jobs:
# ./location_of_script_within_repo/buildscript.sh

- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v2
uses: github/codeql-action/analyze@v3
128 changes: 88 additions & 40 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,19 +4,24 @@ on:
push:
branches:
- main
- location-picker
tags:
- "v[0-9]+.[0-9]+.[0-9]+"

env:
REGISTRY: ghcr.io
IMAGE_NAME: ${{ github.repository }}

jobs:
lint:
runs-on: ubuntu-22.04
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@v4

- name: Set up Go
uses: actions/setup-go@v5
with:
go-version: "1.22.2"
go-version: "1.24.0"

- name: Install buildifier
run: make install-buildifier
Expand All @@ -28,7 +33,7 @@ jobs:
name: Build and Test Release Artifacts
strategy:
matrix:
os: [ubuntu-22.04, macos-latest, windows-latest]
os: [ubuntu-24.04, macos-latest, windows-latest]

runs-on: ${{ matrix.os }}

Expand All @@ -39,12 +44,12 @@ jobs:
- name: Install Go
uses: actions/setup-go@v5
with:
go-version: "1.22.2"
go-version: "1.24.0"

- name: Install Node
uses: actions/setup-node@v4
with:
node-version: "16"
node-version: "lts/Jod"

- name: Setup MSYS2
uses: msys2/setup-msys2@v2
Expand All @@ -59,7 +64,7 @@ jobs:
mingw-w64-x86_64-toolchain

- name: Install Linux dependencies
if: matrix.os == 'ubuntu-22.04'
if: matrix.os == 'ubuntu-24.04'
run: sudo ./scripts/setup-linux.sh

- name: Install macOS dependencies
Expand All @@ -71,8 +76,8 @@ jobs:
shell: msys2 {0}
run: |
set MSYSTEM=MINGW64
curl -LO https://repo.msys2.org/mingw/x86_64/mingw-w64-x86_64-libwebp-1.2.4-4-any.pkg.tar.zst
pacman -U --noconfirm mingw-w64-x86_64-libwebp-1.2.4-4-any.pkg.tar.zst
curl -LO https://repo.msys2.org/mingw/mingw64/mingw-w64-x86_64-libwebp-1.5.0-1-any.pkg.tar.zst
pacman -U --noconfirm mingw-w64-x86_64-libwebp-1.5.0-1-any.pkg.tar.zst

- name: Install frontend dependencies
run: npm install
Expand All @@ -82,7 +87,7 @@ jobs:

- name: Build Linux
run: make build
if: matrix.os == 'ubuntu-22.04'
if: matrix.os == 'ubuntu-24.04'

- name: Build macOS
run: make build
Expand All @@ -100,7 +105,7 @@ jobs:

- name: Test Linux
run: make test
if: matrix.os == 'ubuntu-22.04'
if: matrix.os == 'ubuntu-24.04'

- name: Test macOS
run: make test
Expand All @@ -118,19 +123,19 @@ jobs:

- name: Set pixlet version
id: vars
run: echo ::set-output name=tag::${GITHUB_REF#refs/*/}
if: matrix.os == 'ubuntu-22.04' || matrix.os == 'macos-latest'
run: echo "tag=${GITHUB_REF#refs/*/}" >> $GITHUB_OUTPUT
if: matrix.os == 'ubuntu-24.04' || matrix.os == 'macos-latest'

- name: Set Windows pixlet version
id: windowsvars
shell: msys2 {0}
run: |
set MSYSTEM=MINGW64
echo ::set-output name=tag::${GITHUB_REF#refs/*/}
echo "tag=${GITHUB_REF#refs/*/}" >> $GITHUB_OUTPUT
if: matrix.os == 'windows-latest'

- name: Build Release Linux
if: matrix.os == 'ubuntu-22.04'
if: matrix.os == 'ubuntu-24.04'
run: make release-linux
env:
PIXLET_VERSION: ${{ steps.vars.outputs.tag }}
Expand All @@ -153,43 +158,86 @@ jobs:
PIXLET_VERSION: ${{ steps.windowsvars.outputs.tag }}

- name: Upload Release Artifacts
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: release-artifacts
name: release-artifacts-${{ matrix.os }}
path: build

create-release:
name: Create Github Release
runs-on: ubuntu-22.04
environment: release
runs-on: ubuntu-latest
needs: build-and-test-release
if: startsWith(github.ref, 'refs/tags/')
permissions:
contents: write

steps:
- name: Checkout Code
uses: actions/checkout@v4
with:
fetch-depth: "0"

- name: Install Go
uses: actions/setup-go@v5
with:
go-version: "1.22.2"

- name: Fetch Release Artifacts
uses: actions/download-artifact@v3
uses: actions/download-artifact@v4
with:
name: release-artifacts
path: build
pattern: release-artifacts-*
merge-multiple: true

- name: Run GoReleaser
uses: goreleaser/goreleaser-action@v5
with:
distribution: goreleaser-pro
version: v1.12.3
args: release
- name: Create Release
env:
GORELEASER_KEY: ${{ secrets.GORELEASER_KEY }}
GITHUB_TOKEN: ${{ secrets.TIDBYT_GITHUB_TOKEN }}
DISCORD_WEBHOOK_ID: ${{ secrets.DISCORD_WEBHOOK_ID }}
DISCORD_WEBHOOK_TOKEN: ${{ secrets.DISCORD_WEBHOOK_TOKEN }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
tag: ${{ github.ref_name }}
run: |
gh release create "$tag" \
--repo="${GITHUB_REPOSITORY}" \
--title="${GITHUB_REPOSITORY#*/} ${tag#v}" \
--generate-notes \
build/*.tar.gz

build-and-push-image:
runs-on: ubuntu-latest
# Sets the permissions granted to the `GITHUB_TOKEN` for the actions in this job.
permissions:
contents: read
packages: write
attestations: write
id-token: write
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Log in to the Container registry
uses: docker/login-action@v3
with:
registry: ${{ env.REGISTRY }}
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Extract metadata (tags, labels) for Docker
id: meta
uses: docker/metadata-action@v5
with:
images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}
tags: |
type=ref,event=branch
type=ref,event=pr
type=semver,pattern={{version}}
type=semver,pattern={{major}}.{{minor}}
type=semver,pattern={{major}}
flavor: |
latest=true
prefix=
suffix=
- name: Set up QEMU
uses: docker/setup-qemu-action@v3
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Build and push Docker image
id: push
uses: docker/build-push-action@v6
with:
context: .
push: true
platforms: linux/amd64,linux/arm64
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}
- name: Generate artifact attestation
uses: actions/attest-build-provenance@v2
with:
subject-name: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME}}
subject-digest: ${{ steps.push.outputs.digest }}
push-to-registry: true
Loading
Loading