diff --git a/.github/workflows/fw-lite-ios.yaml b/.github/workflows/fw-lite-ios.yaml new file mode 100644 index 0000000000..d9cdc1642a --- /dev/null +++ b/.github/workflows/fw-lite-ios.yaml @@ -0,0 +1,127 @@ +name: FieldWorks Lite for iOS (temporary for build testing) +on: + workflow_dispatch: + push: + paths: + - 'backend/FwLite/**' + - 'backend/harmony/**' + - 'frontend/viewer/**' + - '.github/workflows/fw-lite.yaml' + - 'FwLiteOnly.slnf' + branches: + - develop + - main + pull_request: + paths: + - 'backend/FwLite/**' + - 'backend/harmony/**' + - 'frontend/viewer/**' + - '.github/workflows/fw-lite.yaml' + - 'FwLiteOnly.slnf' + branches: + - develop + - main +env: + VIEWER_BUILD_OUTPUT_DIR: backend/FwLite/FwLiteShared/wwwroot/viewer +jobs: + #build-and-test: + #name: Build FW Lite and run tests + #timeout-minutes: 40 + #runs-on: windows-latest + #outputs: + #version: ${{ steps.setVersion.outputs.VERSION }} + #semver-version: ${{ steps.setVersion.outputs.SEMVER_VERSION }} + #steps: + #- name: Checkout + #uses: actions/checkout@v4 + #with: + #submodules: true + #- uses: actions/setup-dotnet@v4 + #with: + #dotnet-version: '9.x' + #- uses: pnpm/action-setup@fe02b34f77f8bc703788d5817da081398fad5dd2 # v4.0.0 + #with: + #package_json_file: 'frontend/package.json' + #- uses: actions/setup-node@v4 + #with: + #node-version-file: './frontend/package.json' + #cache: 'pnpm' + #cache-dependency-path: './frontend/pnpm-lock.yaml' + #- name: Install Task + #uses: arduino/setup-task@b91d5d2c96a56797b48ac1e0e89220bf64044611 #v2 + #with: + #repo-token: ${{ secrets.GITHUB_TOKEN }} + + #- name: Set Version + #id: setVersion + #shell: bash + ## set version to date in vYYYY-MM-DD-commitSha format, and semver version to YYYY.MM.DD + #run: | + #shortSha=$(echo ${{ github.sha }} | cut -c1-8) + #echo "VERSION=v$(date --rfc-3339=date)-$shortSha" >> ${GITHUB_OUTPUT} + #echo "SEMVER_VERSION=$(date +%Y.%-m.%-d)" >> ${GITHUB_OUTPUT} + + #- name: Check for pending EF model changes + #run: task fw-lite:has-pending-model-changes + + #- name: Prepare frontend + #working-directory: frontend + #run: | + #pnpm install + #pnpm svelte-kit sync + + #- name: Build viewer + #working-directory: frontend/viewer + #run: pnpm run build-app + + #- name: Upload viewer artifacts + #uses: actions/upload-artifact@v4 + #with: + #name: fw-lite-viewer-js + #if-no-files-found: error + #path: ${{ env.VIEWER_BUILD_OUTPUT_DIR }} + + publish-ios: + name: Publish FW Lite app for iOS + #needs: build-and-test + timeout-minutes: 30 + runs-on: macos-latest + env: + APPLE_CERTIFICATE: ${{ secrets.SIL_APPLE_DISTRIBUTION_CERTIFICATE_BASE64 }} + APP_STORE_CONNECT_KEY_ID: ${{ secrets.APPLE_APPSTORECONNECT_KEY_ID }} + APP_STORE_CONNECT_ISSUER_ID: ${{ secrets.APPLE_APPSTORECONNECT_ISSUER_ID }} + APP_STORE_CONNECT_PRIVATE_KEY: ${{ secrets.APPLE_APPSTORECONNECT_PRIVATE_KEY }} + + steps: + - name: Checkout + uses: actions/checkout@v4 + with: + submodules: true + #- uses: actions/download-artifact@v4 + #with: + #name: fw-lite-viewer-js + #path: ${{ env.VIEWER_BUILD_OUTPUT_DIR }} + - uses: actions/setup-dotnet@v4 + with: + dotnet-version: '9.x' + - uses: maui-actions/apple-provisioning@v4 + with: + certificate: APPLE_CERTIFICATE + certificate-passphrase: ${{ secrets.SIL_APPLE_DISTRIBUTION_CERTIFICATE_PASSPHRASE }} + bundle-identifiers: '3YE4W86L3G.org.sil.FwLiteMaui' + profile-types: 'IOS_APP_STORE' + + #- name: Setup Maui + #run: dotnet workload install maui + + #- name: Publish iOS + #working-directory: backend/FwLite/FwLiteMaui + #run: dotnet publish -f net9.0-ios --artifacts-path ../artifacts + + #- name: Upload FWLite App artifacts + #uses: actions/upload-artifact@v4 + #with: + #name: fw-lite-ios + #if-no-files-found: error +## path looks like this: backend/FwLite/artifacts/publish/FwLiteMaui/release_net9.0-android/org.sil.fwlitemaui-signed.apk + #path: backend/FwLite/artifacts/publish/* diff --git a/backend/FwLite/FwLiteMaui/FwLiteMaui.csproj b/backend/FwLite/FwLiteMaui/FwLiteMaui.csproj index 1e0308a51e..26d0e8d6a0 100644 --- a/backend/FwLite/FwLiteMaui/FwLiteMaui.csproj +++ b/backend/FwLite/FwLiteMaui/FwLiteMaui.csproj @@ -52,10 +52,15 @@ $([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) + + Apple Distribution: Summer Institute of Linguistics, Inc (SIL) (3YE4W86L3G) + true + - + + diff --git a/backend/FwLite/FwLiteMaui/MainPage.xaml b/backend/FwLite/FwLiteMaui/MainPage.xaml index b0ad4a4c06..ff65a25e53 100644 --- a/backend/FwLite/FwLiteMaui/MainPage.xaml +++ b/backend/FwLite/FwLiteMaui/MainPage.xaml @@ -2,6 +2,8 @@ diff --git a/backend/FwLite/FwLiteMaui/Resources/AppIcon/appicon.svg b/backend/FwLite/FwLiteMaui/Resources/AppIcon/appicon.svg new file mode 100644 index 0000000000..e325990b11 --- /dev/null +++ b/backend/FwLite/FwLiteMaui/Resources/AppIcon/appicon.svg @@ -0,0 +1,267 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/backend/FwLite/FwLiteMaui/Resources/AppIcon/logo_dark_square.svg b/backend/FwLite/FwLiteMaui/Resources/AppIcon/logo_dark_square.svg new file mode 100644 index 0000000000..50bb3c1a11 --- /dev/null +++ b/backend/FwLite/FwLiteMaui/Resources/AppIcon/logo_dark_square.svg @@ -0,0 +1,267 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/backend/FwLite/FwLiteMaui/Resources/AppIcon/logo_dark_square_1024.png b/backend/FwLite/FwLiteMaui/Resources/AppIcon/logo_dark_square_1024.png new file mode 100644 index 0000000000..79daa9d585 Binary files /dev/null and b/backend/FwLite/FwLiteMaui/Resources/AppIcon/logo_dark_square_1024.png differ diff --git a/backend/FwLite/FwLiteMaui/Resources/AppIcon/logo_light_square.svg b/backend/FwLite/FwLiteMaui/Resources/AppIcon/logo_light_square.svg new file mode 100644 index 0000000000..e325990b11 --- /dev/null +++ b/backend/FwLite/FwLiteMaui/Resources/AppIcon/logo_light_square.svg @@ -0,0 +1,267 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/backend/FwLite/FwLiteMaui/Resources/AppIcon/logo_light_square_1024.png b/backend/FwLite/FwLiteMaui/Resources/AppIcon/logo_light_square_1024.png new file mode 100644 index 0000000000..98d42e6141 Binary files /dev/null and b/backend/FwLite/FwLiteMaui/Resources/AppIcon/logo_light_square_1024.png differ