Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
107 commits
Select commit Hold shift + click to select a range
e1e9a01
Make open source the default, and check for sass instead
jorgemanrubia Nov 22, 2025
6134407
Make sass property depend on txt file or env var
jorgemanrubia Nov 22, 2025
bab914d
Move db check to the Fizzy module
jorgemanrubia Nov 23, 2025
cf59ac1
Split database files
jorgemanrubia Nov 23, 2025
102827f
Use bundler groups instead of conditional
jorgemanrubia Nov 23, 2025
35b49a4
Move the SASS database config to the gem
jorgemanrubia Nov 23, 2025
2c70793
Move kamal deploy config to the gem
jorgemanrubia Nov 23, 2025
5d32e40
Use kamal from the
jorgemanrubia Nov 23, 2025
fb9aa5d
Extract common method to configure bundle
jorgemanrubia Nov 23, 2025
13701f0
Move kamal hooks to the saas gem
jorgemanrubia Nov 23, 2025
f75ccfc
Remove gem that now lives in GitHub
jorgemanrubia Nov 23, 2025
c1334f7
Don't choke if no structured logging
jorgemanrubia Nov 23, 2025
277a45f
Add CI step for saas tests
jorgemanrubia Nov 23, 2025
03483a0
Format
jorgemanrubia Nov 23, 2025
4c5640a
Make structured logging private
jorgemanrubia Nov 23, 2025
3414fea
Remove comment
jorgemanrubia Nov 23, 2025
13f1ad1
The engine automounts now
jorgemanrubia Nov 23, 2025
ad6f3a9
Instead of a dedicated group, use a completely separate Gemfile for t…
jorgemanrubia Nov 23, 2025
97c280d
Prepare bin/setup to work with SAAS env variable / txt file
jorgemanrubia Nov 23, 2025
3caf8d0
Remove line, this gets bin/setup confused, better to keep the rails o…
jorgemanrubia Nov 23, 2025
08cc028
Invoke setup script in gem
jorgemanrubia Nov 23, 2025
cd231c4
Format
jorgemanrubia Nov 23, 2025
fe20d8f
Format
jorgemanrubia Nov 23, 2025
f1df9af
Not needed anymore, no more bundler groups
jorgemanrubia Nov 23, 2025
8724963
Bring vanilla versions for Dockerfile and deploy config, we are movin…
jorgemanrubia Nov 23, 2025
53d4ed3
Point to the remote gem again
jorgemanrubia Nov 23, 2025
a7461df
Update fizzy-saas
jorgemanrubia Nov 23, 2025
9132f6b
Fix path to saas.
jorgemanrubia Nov 23, 2025
9496a20
Update to latest fizzy-saas
jorgemanrubia Nov 23, 2025
a5b0275
Add rake tasks for enabling/disabling saas mode
jorgemanrubia Nov 23, 2025
c62e843
Move bc shorthand to saas gemfile
jorgemanrubia Nov 24, 2025
0754b0e
Test moved to the gem
jorgemanrubia Nov 24, 2025
9e8bc5b
Update to last version, tests passing!
jorgemanrubia Nov 24, 2025
0328149
Initial github action setup
jorgemanrubia Nov 24, 2025
5a1d40a
Omit empty image
jorgemanrubia Nov 25, 2025
93c60d0
Omit MySQL service with if condition
jorgemanrubia Nov 25, 2025
127a4eb
LOL if does not exist
jorgemanrubia Nov 25, 2025
ac649f1
Try to pin the host
jorgemanrubia Nov 25, 2025
00cb9a3
Set proper SaaS vars for mysql
jorgemanrubia Nov 25, 2025
d81cf91
Fix hostname
jorgemanrubia Nov 25, 2025
f62bf9f
Bundle!
jorgemanrubia Nov 26, 2025
c5d7dc3
Restore bc shorthand
jorgemanrubia Nov 26, 2025
99bda23
Bring changes from main
jorgemanrubia Nov 26, 2025
624b668
Fix condition
jorgemanrubia Nov 26, 2025
afbc0ca
Include engine tests in saas mode
jorgemanrubia Nov 25, 2025
40455bf
Update fizzy-saas to bring test support
jorgemanrubia Nov 25, 2025
dd0f9f1
Split CI files to prevent PR workflows from accessing secrets
jorgemanrubia Nov 25, 2025
e213e3e
Update fizzy-saas gem
jorgemanrubia Nov 25, 2025
68bb4a8
Rename
jorgemanrubia Nov 25, 2025
499b132
Remove script that depends on QB
jorgemanrubia Nov 26, 2025
8baf5b8
Make mission control only accessible for staff members
jorgemanrubia Nov 26, 2025
197090f
Move active storage config to gem
jorgemanrubia Nov 26, 2025
18e1bad
Prevent choking when no structured logging for now
jorgemanrubia Nov 26, 2025
44d086e
Cleanup of credentials
jorgemanrubia Nov 26, 2025
af42ce4
Remove vapid keys in development
jorgemanrubia Nov 26, 2025
4538357
Remove test env
jorgemanrubia Nov 26, 2025
f936cf2
Add missing kamal secrets
jorgemanrubia Nov 26, 2025
c53cc10
Update fizzy-saas gem
jorgemanrubia Nov 26, 2025
2ff944b
Point to branch for now
jorgemanrubia Nov 26, 2025
fa9ee03
Move more settings to the gem
jorgemanrubia Nov 26, 2025
762c45d
Update gem
jorgemanrubia Nov 26, 2025
1083f71
This was moved to the gem already by Mike
jorgemanrubia Nov 26, 2025
cd7d3d3
Move kamal secrets to the gem
jorgemanrubia Nov 26, 2025
e30709f
Remove structured logging moved to the engine
jorgemanrubia Nov 27, 2025
4b9d3a0
Update to latest fizzy-saas
jorgemanrubia Nov 27, 2025
c61dba0
Format
jorgemanrubia Nov 27, 2025
9e2a174
Update bundle
jorgemanrubia Nov 27, 2025
25cfa42
Rename workflows
jorgemanrubia Nov 27, 2025
f174058
Extract common checks to its own workflow to only run once
jorgemanrubia Nov 27, 2025
15e654b
Checks only in PRs
jorgemanrubia Nov 27, 2025
e15c498
Remove saas from matrix or it will always run
jorgemanrubia Nov 27, 2025
96caeac
Move to ENV (kamal secrets)
jorgemanrubia Nov 27, 2025
bf75767
Update saas gem
jorgemanrubia Nov 27, 2025
e77858f
Update kamal
jorgemanrubia Nov 27, 2025
07b4c55
Auto-increment external_account_id automatically by default to allow …
jorgemanrubia Nov 27, 2025
2061ab4
Use dedicated sequence record instead of deal with issues with ids an…
jorgemanrubia Nov 27, 2025
4e09352
Bring simple signup flow from the fizzy-saas gem
jorgemanrubia Nov 27, 2025
166ff83
Rename tests
jorgemanrubia Nov 27, 2025
d4ad621
Rename/extract methods
jorgemanrubia Nov 27, 2025
6bfed6d
Format
jorgemanrubia Nov 27, 2025
e101e4d
Point back to main since the PR was merged
jorgemanrubia Nov 27, 2025
f90dd87
Update gem
jorgemanrubia Nov 27, 2025
e962ba8
Simplify local ci
jorgemanrubia Nov 27, 2025
76d3ec0
Remove local ci for now
jorgemanrubia Nov 27, 2025
b6aa93d
Typo
jorgemanrubia Nov 27, 2025
cebd5d3
Revert "Remove local ci for now"
jorgemanrubia Nov 27, 2025
f03fbba
Restore local CI, sensible setup for open source users
jorgemanrubia Nov 27, 2025
81656ac
Run SQLite in saas mode too
jorgemanrubia Nov 27, 2025
94c49fb
Move readme bits to fizzy-saas (WIP)
jorgemanrubia Nov 27, 2025
c87f8a8
Review styles for controller/models
jorgemanrubia Nov 28, 2025
d836a1c
Add note on CRUD controllers
jorgemanrubia Nov 28, 2025
bfa1ff1
Style copy
jorgemanrubia Nov 28, 2025
fa1fe47
Initial README and LICENSE
jorgemanrubia Nov 28, 2025
b2bcc12
Review README
jorgemanrubia Nov 28, 2025
317abde
Review README
jorgemanrubia Nov 28, 2025
1897cc2
Only staff can access beta/staging
jorgemanrubia Nov 28, 2025
197f4bd
Add note about VAPID
jorgemanrubia Nov 28, 2025
3b0ddf4
Move sentry to engine
jorgemanrubia Nov 28, 2025
6ccf655
Move yabeda/prometheus stuff to the gem
jorgemanrubia Nov 28, 2025
3223ba5
We need the check in both test/code
jorgemanrubia Nov 28, 2025
efe3070
Add gitleaks from main
jorgemanrubia Nov 28, 2025
2f4a05a
Format
jorgemanrubia Nov 28, 2025
8e0445d
Add yabeda metrics check only in SaaS mode
jorgemanrubia Nov 28, 2025
3cbe277
Moving this to shipyard
jorgemanrubia Nov 28, 2025
a7b2fe2
Moved to sentry
jorgemanrubia Nov 28, 2025
a89f2f2
Update to latest gem
jorgemanrubia Nov 28, 2025
d561a64
Test
jorgemanrubia Nov 28, 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
40 changes: 40 additions & 0 deletions .github/workflows/ci-checks.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
name: Checks

on:
pull_request:

jobs:
security:
name: Security
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v4
- uses: ruby/setup-ruby@v1
with:
ruby-version: .ruby-version
bundler-cache: true

- name: Gem audit
run: bin/bundler-audit check --update

- name: Importmap audit
run: bin/importmap audit

- name: Brakeman audit
run: bin/brakeman --quiet --no-pager --exit-on-warn --exit-on-error


lint:
name: Lint
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v4
- uses: ruby/setup-ruby@v1
with:
ruby-version: .ruby-version
bundler-cache: true

- name: Lint code for consistent style
run: bin/rubocop
11 changes: 11 additions & 0 deletions .github/workflows/ci-oss.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
name: CI (OSS)

on:
pull_request:
if: github.event.pull_request.head.repo.full_name != github.repository

jobs:
test:
uses: ./.github/workflows/test.yml
with:
saas: false
18 changes: 18 additions & 0 deletions .github/workflows/ci-saas.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
name: CI (SaaS)

on:
push:

jobs:
test_oss:
name: Test (OSS)
uses: ./.github/workflows/test.yml
with:
saas: false
test_saas:
name: Test (SaaS)
uses: ./.github/workflows/test.yml
with:
saas: true
secrets:
GH_TOKEN: ${{ secrets.GH_TOKEN }}
67 changes: 67 additions & 0 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
name: Test

on:
workflow_call:
inputs:
saas:
type: boolean
required: true
secrets:
GH_TOKEN:
required: false

jobs:
test:
name: Tests (${{ matrix.mode }})
runs-on: ubuntu-latest

strategy:
matrix:
include:
- mode: SQLite
db_adapter: sqlite
- mode: MySQL
db_adapter: mysql

services:
mysql:
image: mysql:8.0
env:
MYSQL_ALLOW_EMPTY_PASSWORD: yes
MYSQL_DATABASE: fizzy_test
ports:
- 3306:3306
options: >-
--health-cmd="mysqladmin ping"
--health-interval=10s
--health-timeout=5s
--health-retries=3

env:
RAILS_ENV: test
DATABASE_ADAPTER: ${{ matrix.db_adapter }}
${{ inputs.saas && 'SAAS' || 'SAAS_DISABLED' }}: ${{ inputs.saas && '1' || '' }}
BUNDLE_GEMFILE: ${{ inputs.saas && 'Gemfile.saas' || 'Gemfile' }}
MYSQL_HOST: 127.0.0.1
MYSQL_PORT: 3306
MYSQL_USER: root
FIZZY_DB_HOST: 127.0.0.1
FIZZY_DB_PORT: 3306
BUNDLE_GITHUB__COM: ${{ inputs.saas && format('x-access-token:{0}', secrets.GH_TOKEN) || '' }}

steps:
- name: Install system packages
run: sudo apt-get update && sudo apt-get install --no-install-recommends -y libsqlite3-0 libvips curl ffmpeg

- uses: actions/checkout@v4

- uses: ruby/setup-ruby@v1
with:
ruby-version: .ruby-version
bundler-cache: true

- name: Run tests
run: bin/rails db:setup test

- name: Run system tests
run: bin/rails test:system
17 changes: 0 additions & 17 deletions .kamal/hooks/post-deploy

This file was deleted.

37 changes: 0 additions & 37 deletions .kamal/hooks/pre-build

This file was deleted.

82 changes: 0 additions & 82 deletions .kamal/hooks/pre-connect

This file was deleted.

12 changes: 0 additions & 12 deletions .kamal/secrets.beta

This file was deleted.

6 changes: 0 additions & 6 deletions .kamal/secrets.dhh

This file was deleted.

12 changes: 0 additions & 12 deletions .kamal/secrets.production

This file was deleted.

12 changes: 0 additions & 12 deletions .kamal/secrets.staging

This file was deleted.

Loading