Skip to content

Commit

Permalink
Add GUI app for decoding input text
Browse files Browse the repository at this point in the history
This is the initial implementation of a GUI application for decoding
input text containing one or more Safe Links URLs (while leaving
surrounding text intact). This new GUI app is currently named `dslg`
based on the existing `dsl` CLI app's functionality and name (with a
"g" suffix for "gui").

This implementation uses the Fyne toolkit which has different build
requirements than the existing CLI `usl` and `dsl` tools (e.g., CGO).
These new build requirements necessitated changing the associated
Makefile to conditionally apply Fyne toolkit settings just to the GUI
application while excluding existing CLI apps.

The end result continues to be portable CLI apps and a GUI application
with the minimal OS dependencies possible. See the updated README file
for more information.

CHANGES

- add initial GUI app (see description above)
- update Makefile to provide conditional build logic
  - Fyne toolkit requires for GUI app
  - general build requirements for CLI apps
- update README to provide coverage for new GUI app
  - including updated build and runtime requirements
- update .dockerignore file
- swap out single build image for x86 and x64 build images with
  support for compiling Fyne toolkit applications
- update RPM and DEB package configs to bundle new GUI app
- update internal URL matching logic to use prefix based matching
  instead of regex matching
  - the regex matching support does not currently require a space
    delimiting input URLs whereas the prefix matching ignores URL
    patterns not surrounded by whitespace
  - this may be reverted in the future if it proves too limiting
- update GitHub Actions workflows to pass Fyne toolkit OS
  dependency requirements to called workflows

refs GH-225
  • Loading branch information
atc0005 committed Mar 24, 2024
1 parent 98423ea commit 47cd690
Show file tree
Hide file tree
Showing 1,425 changed files with 752,359 additions and 104 deletions.
2 changes: 2 additions & 0 deletions .dockerignore
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,8 @@ scratch/
# Ignore one-off binary builds
/ul
/usl
/dsl
/dslg

# Ignore assets generated by Makefile
/release_assets
3 changes: 2 additions & 1 deletion .gitattributes
Original file line number Diff line number Diff line change
Expand Up @@ -18,5 +18,6 @@
#
# $ git config --global merge.ours.driver true

dependabot/docker/builds/Dockerfile merge=ours
dependabot/docker/builds/x86/Dockerfile merge=ours
dependabot/docker/builds/x64/Dockerfile merge=ours
dependabot/docker/go/Dockerfile merge=ours
50 changes: 40 additions & 10 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,10 +11,6 @@
# Monitor Go module dependency updates
######################################################################

######################################################################
# Monitor Go module dependency updates
######################################################################

version: 2
updates:
- package-ecosystem: "gomod"
Expand Down Expand Up @@ -55,10 +51,6 @@ updates:
# Monitor GitHub Actions dependency updates
######################################################################

######################################################################
# Monitor GitHub Actions dependency updates
######################################################################

- package-ecosystem: "github-actions"
directory: "/"
open-pull-requests-limit: 10
Expand Down Expand Up @@ -112,6 +104,7 @@ updates:
labels:
- "dependencies"
- "CI"
- "todo/release"
allow:
- dependency-type: "all"
commit-message:
Expand All @@ -135,6 +128,7 @@ updates:
labels:
- "dependencies"
- "CI"
- "todo/release"
allow:
- dependency-type: "all"
commit-message:
Expand All @@ -145,7 +139,25 @@ updates:
######################################################################

- package-ecosystem: docker
directory: "/dependabot/docker/builds"
directory: "/dependabot/docker/builds/x86"
open-pull-requests-limit: 10
target-branch: "master"
schedule:
interval: "daily"
time: "02:00"
timezone: "America/Chicago"
assignees:
- "atc0005"
labels:
- "dependencies"
- "builds"
allow:
- dependency-type: "all"
commit-message:
prefix: "Build image"

- package-ecosystem: docker
directory: "/dependabot/docker/builds/x64"
open-pull-requests-limit: 10
target-branch: "master"
schedule:
Expand All @@ -163,7 +175,25 @@ updates:
prefix: "Build image"

- package-ecosystem: docker
directory: "/dependabot/docker/builds"
directory: "/dependabot/docker/builds/x86"
open-pull-requests-limit: 10
target-branch: "development"
schedule:
interval: "daily"
time: "02:00"
timezone: "America/Chicago"
assignees:
- "atc0005"
labels:
- "dependencies"
- "builds"
allow:
- dependency-type: "all"
commit-message:
prefix: "Build image"

- package-ecosystem: docker
directory: "/dependabot/docker/builds/x64"
open-pull-requests-limit: 10
target-branch: "development"
schedule:
Expand Down
4 changes: 4 additions & 0 deletions .github/workflows/lint-and-build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,12 @@ on:
jobs:
lint_and_build_using_ci_matrix:
name: CI matrix
with:
os-dependencies: "make bsdmainutils gcc gcc-multilib gcc-mingw-w64 xz-utils libgl1-mesa-dev xorg-dev"
uses: atc0005/shared-project-resources/.github/workflows/lint-and-build-using-ci-matrix.yml@master

lint_and_build_using_makefile:
name: Makefile
with:
os-dependencies: "make bsdmainutils gcc gcc-multilib gcc-mingw-w64 xz-utils libgl1-mesa-dev xorg-dev"
uses: atc0005/shared-project-resources/.github/workflows/lint-and-build-using-make.yml@master
4 changes: 4 additions & 0 deletions .github/workflows/project-analysis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,10 +21,14 @@ jobs:
# Only run this job on non-push events (e.g., pull requests)
if: github.event_name != 'push'
name: Lint
with:
os-dependencies: "make bsdmainutils gcc gcc-multilib gcc-mingw-w64 xz-utils libgl1-mesa-dev xorg-dev"
uses: atc0005/shared-project-resources/.github/workflows/lint-project-files.yml@master

vulnerability:
name: Vulnerability
with:
os-dependencies: "make bsdmainutils gcc gcc-multilib gcc-mingw-w64 xz-utils libgl1-mesa-dev xorg-dev"
uses: atc0005/shared-project-resources/.github/workflows/vulnerability-analysis.yml@master

go_mod_validation:
Expand Down
2 changes: 2 additions & 0 deletions .github/workflows/scheduled-monthly.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,4 +18,6 @@ on:
jobs:
monthly:
name: Monthly Tasks
with:
os-dependencies: "make bsdmainutils gcc gcc-multilib gcc-mingw-w64 xz-utils libgl1-mesa-dev xorg-dev"
uses: atc0005/shared-project-resources/.github/workflows/scheduled-monthly.yml@master
2 changes: 2 additions & 0 deletions .github/workflows/scheduled-weekly.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,4 +18,6 @@ on:
jobs:
weekly:
name: Weekly Tasks
with:
os-dependencies: "make bsdmainutils gcc gcc-multilib gcc-mingw-w64 xz-utils libgl1-mesa-dev xorg-dev"
uses: atc0005/shared-project-resources/.github/workflows/scheduled-weekly.yml@master
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@ scratch/
/ul
/usl
/dsl
/dslg

# Ignore assets generated by Makefile
/release_assets
Loading

0 comments on commit 47cd690

Please sign in to comment.