Files
self/.github/workflows/workspace-ci.yml
Justin Hernandez 9ad5388f05 feat: introduce kmp sdk & demo app (#1749)
* add kotlin debug app

* add specs

* first kmp sdk version

* add deploy script

* save working nfc implementation

* save demo app flow wip

* agent feedback

* show viewfinder on mrz

* save working scan

* add kotlin formatting

* remove mrz overlay

* fix expiry date

* add feedback to mrz san

* save improved nfc scanning

* save wip

* save gitignore and md state

* add logging and error handling. get iOS demo app working

* format

* add swift formatting

* enable iOS camera

* save ios mrz implementation

* nfc scanning works

* final optimizations

* add tests

* fixes

* better linting

* agent feedback

* bug fixes

* formatting

* agent feedback

* fix app breaking on run

* consolidate kotlin and swift clean up commands

* fix pipeline by installing swiftlint

* fix blurry scanning

* fix ci

---------

Co-authored-by: turnoffthiscomputer <colin.remi07@gmail.com>
2026-02-15 12:03:12 -08:00

205 lines
5.1 KiB
YAML

name: Workspace CI
on:
pull_request:
branches:
- dev
- staging
- main
push:
branches:
- dev
- staging
- main
jobs:
workspace-build:
runs-on: ubuntu-latest
permissions:
contents: read
steps:
- uses: actions/checkout@v6
- name: Cache Yarn dependencies
uses: ./.github/actions/cache-yarn
with:
path: |
.yarn/cache
node_modules
*/node_modules
packages/*/node_modules
cache-version: v1
- name: Install Dependencies
uses: ./.github/actions/yarn-install
- name: Run workspace build
run: yarn build
- name: Verify build artifacts
run: |
echo "Checking for build artifacts..."
find . -name "dist" -type d | head -10
echo "Build completed successfully!"
workspace-type-check:
runs-on: ubuntu-latest
permissions:
contents: read
steps:
- uses: actions/checkout@v6
- name: Cache Yarn dependencies
uses: ./.github/actions/cache-yarn
with:
path: |
.yarn/cache
node_modules
*/node_modules
packages/*/node_modules
cache-version: v1
- name: Install Dependencies
uses: ./.github/actions/yarn-install
- name: Build workspace dependencies
run: yarn build
- name: Run workspace type checking
run: yarn types
- name: Verify type checking passed
run: echo "Type checking completed successfully!"
workspace-lint:
runs-on: ubuntu-latest
permissions:
contents: read
steps:
- uses: actions/checkout@v6
- name: Cache Yarn dependencies
uses: ./.github/actions/cache-yarn
with:
path: |
.yarn/cache
node_modules
*/node_modules
packages/*/node_modules
cache-version: v1
- name: Install Dependencies
uses: ./.github/actions/yarn-install
- name: Install SwiftLint
run: |
curl -sL "https://github.com/realm/SwiftLint/releases/download/0.57.1/swiftlint_linux.zip" -o /tmp/swiftlint.zip
unzip -o /tmp/swiftlint.zip -d /tmp/swiftlint
sudo install /tmp/swiftlint/swiftlint /usr/local/bin/swiftlint
- name: Build workspace dependencies
run: yarn build
- name: Run workspace linting
run: yarn lint
- name: Verify linting passed
run: echo "Linting completed successfully!"
workspace-format-check:
if: false
runs-on: ubuntu-latest
permissions:
contents: read
steps:
- uses: actions/checkout@v6
- name: Cache Yarn dependencies
uses: ./.github/actions/cache-yarn
with:
path: |
.yarn/cache
node_modules
*/node_modules
packages/*/node_modules
cache-version: v1
- name: Install Dependencies
uses: ./.github/actions/yarn-install
- name: Check code formatting (dry run)
run: |
echo "Checking if code is properly formatted..."
# Run format in dry-run mode by checking if any files would change
if ! git diff --quiet --exit-code; then
echo "Working directory not clean before format check"
git status --porcelain
exit 1
fi
yarn format
if ! git diff --quiet --exit-code; then
echo "❌ Code formatting issues found. The following files need formatting:"
git diff --name-only
echo "Run 'yarn format' to fix these issues."
exit 1
fi
- name: Verify formatting check passed
run: echo "Code formatting check completed successfully!"
workspace-test:
if: false
runs-on: ubuntu-latest
permissions:
contents: read
steps:
- uses: actions/checkout@v6
- name: Cache Yarn dependencies
uses: ./.github/actions/cache-yarn
with:
path: |
.yarn/cache
node_modules
*/node_modules
packages/*/node_modules
cache-version: v1
- name: Install Dependencies
uses: ./.github/actions/yarn-install
- name: Build workspace dependencies
run: yarn build
- name: Run workspace tests
run: yarn test
- name: Verify tests passed
run: echo "Workspace tests completed successfully!"
# version-consistency:
# runs-on: ubuntu-latest
# permissions:
# contents: read
# steps:
# - uses: actions/checkout@v6
# - name: Cache Yarn dependencies
# uses: ./.github/actions/cache-yarn
# with:
# path: |
# .yarn/cache
# node_modules
# */node_modules
# packages/*/node_modules
# cache-version: v1
# - name: Install Dependencies
# uses: ./.github/actions/yarn-install
# - name: Check package version consistency
# run: yarn check:versions
# - name: Verify version consistency
# run: echo "Package version consistency check passed!"