templateapplication
StanfordBDHG Template Application
Science Score: 54.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
✓Academic publication links
Links to: zenodo.org -
○Committers with academic emails
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (14.0%) to scientific vocabulary
Keywords
Keywords from Contributors
Repository
StanfordBDHG Template Application
Basic Info
Statistics
- Stars: 2
- Watchers: 13
- Forks: 1
- Open Issues: 1
- Releases: 1
Topics
Metadata Files
README.md
Template Application
This repository contains the StanfordBDHG Template Application. It serves as a template repository for projects requiring a mobile application using continuous integration and continuous delivery setup.
Continous Delivery Workflows
Beta Deployment
The Beta Deployment workflow is triggered when a new commit is added to the main branch.
It first runs the Build and Test workflow to ensure all tests are passing. Once the Build and Test workflow passes, it builds the iOS application so it can be archived and sent to TestFlight for internal beta deployment.
Build and Test
The Build and Test workflow builds and tests the iOS application, shared Swift package, and web service. It runs all unit and user interface (UI) tests defined in the targets. The iOS application is tested on the iOS simulator on macOS. The shared and web service Swift packages are tested on Linux and macOS as well as in release and debug configuration to demonstrate all possible variations.
SwiftLint
The Swiftlint workflow is triggered by every pull request (PR) and checks if the files found in the diff contain any SwiftLint violations.
You can change the SwiftLint configuration in the .swiftlint.yml file found at the root of this repository.
Continous Delivery Setup
It is a prerequisite to have access to an Apple Developer Account that allows TestFlight releases and create an app in App Store Connect that matches the bundle identifier you have defined in the App project.
App Store Connect Access
The TestFlight deployment requires access to the App Store Connect API using an API key. Please follow the Apple instructions to Creating API Keys for the App Store Connect API. The key needs the App Manager access role.
Store the following information in the following GitHub secrets:
- APPLE_ID: The Apple ID you use to access the App Store Connect API.
- APP_STORE_CONNECT_ISSUER_ID: The issuer ID of the App Store Connect API is displayed in the App Store Connect API keys section.
- APP_STORE_CONNECT_API_KEY_ID: The key ID of the API key created in the App Store Connect API keys section.
- APP_STORE_CONNECT_API_KEY_BASE64: The content of the key created in App Store Connect condensed into a Base64 representation, e.g., using base64 -i AuthKey_ABCDEFGHIJ.p8 | pbcopy.
Apple Xcode Certificate and Provisioning Profile
The GitHub Action imports the Apple certificate and provisioning profile from the GitHub secrets and installs them in a local KeyChain on the GitHub runner instances. Please follow the GitHub instructions to Installing an Apple certificate on macOS runners for Xcode development.
Obtaining the Apple provisioning profile requires you to follow the following steps:
1. Register the app identifier in the Apple Developer Account Identifiers section using the bundle identifier for your application, e.g., com.schmiedmayer.continousdelivery.
2. Create an AppStore distribution provisioning profile in the Apple Developer Account Profiles section using the app identifier you have created in the previous step.
3. Download the provisioning profile and convert it to a Base64 representation as detailed in Installing an Apple certificate on macOS runners for Xcode development and add it as the value for the BUILD_PROVISION_PROFILE_BASE64 secret.
After following the setup steps detailed in Installing an Apple certificate on macOS runners for Xcode development and obtaining the Apple provisioning profile as described above, you should have the following secrets configured in the repository settings:
- BUILD_CERTIFICATE_BASE64: The Base64 version of the Apple signing certificate to build your iOS application.
- P12_PASSWORD: The password for the Apple signing certificate.
- BUILD_PROVISION_PROFILE_BASE64: The Base64 version of the Apple provisioning profile to build your iOS application.
- KEYCHAIN_PASSWORD: A password for the keychain that will be created on the runner instance.
Be sure that you update the name of the provisioning profile in the Gymfile and update the app name, bundle identifier, Xcode project name, paths, and other settings in the fastlane files when modifying the template to your needs!
Swift Package and Fastlane Update ACCESS_TOKEN
The Swift Package and Fastlane Update workflow requires an ACCESS_TOKEN secret: a GitHub Personal Access Token (PAT) allowing write access to the repository.
We suggest using a bot account to create the access token. Using the PAT triggers the GitHub Actions in the create PR. The GitHub documentation provides instructions on creating a PAT. The scrop of the token can be limited to the public_repo scope for public repositories or the repo scrope for private repositories as well as the workflow scope.
Removing the token input in the GitHub action workflow results in using the default GITHUB_TOKEN and the GitHub Action bot account that does not trigger any possible merge checks in the newly created PR.
Contributors
This project is based on ContinousDelivery Example by Paul Schmiedmayer. You can find a list of contributors in the CONTRIBUTORS.md file.
Owner
- Name: Stanford Biodesign Digital Health
- Login: StanfordBDHG
- Kind: organization
- Location: United States of America
- Twitter: StanfordBDHG
- Repositories: 18
- Profile: https://github.com/StanfordBDHG
Citation (CITATION.cff)
# # This source file is part of the StanfordBDHG Template Application project # # SPDX-FileCopyrightText: 2023 Stanford University # # SPDX-License-Identifier: MIT # cff-version: 1.2.0 message: "If you use this software, please cite it as below." authors: - family-names: "Schmiedmayer" given-names: "Paul" orcid: "https://orcid.org/0000-0002-8607-9148" title: "TemplateApplication" doi: 10.5281/zenodo.7633671 url: "https://github.com/StanfordBDHG/TemplateApplication"
GitHub Events
Total
- Issues event: 1
- Watch event: 2
- Member event: 1
- Fork event: 1
Last Year
- Issues event: 1
- Watch event: 2
- Member event: 1
- Fork event: 1
Committers
Last synced: 9 months ago
Top Committers
| Name | Commits | |
|---|---|---|
| Paul Schmiedmayer | P****r | 16 |
| dependabot[bot] | 4****] | 1 |
Issues and Pull Requests
Last synced: 9 months ago
All Time
- Total issues: 1
- Total pull requests: 12
- Average time to close issues: N/A
- Average time to close pull requests: 5 days
- Total issue authors: 1
- Total pull request authors: 2
- Average comments per issue: 0.0
- Average comments per pull request: 1.0
- Merged pull requests: 11
- Bot issues: 0
- Bot pull requests: 3
Past Year
- Issues: 1
- Pull requests: 3
- Average time to close issues: N/A
- Average time to close pull requests: about 2 hours
- Issue authors: 1
- Pull request authors: 2
- Average comments per issue: 0.0
- Average comments per pull request: 1.0
- Merged pull requests: 3
- Bot issues: 0
- Bot pull requests: 2
Top Authors
Issue Authors
- philippzagar (1)
Pull Request Authors
- PSchmiedmayer (11)
- dependabot[bot] (4)
Top Labels
Issue Labels
Pull Request Labels
Dependencies
- CFPropertyList 3.0.5
- addressable 2.8.1
- artifactory 3.0.15
- atomos 0.1.3
- aws-eventstream 1.2.0
- aws-partitions 1.691.0
- aws-sdk-core 3.168.4
- aws-sdk-kms 1.61.0
- aws-sdk-s3 1.117.2
- aws-sigv4 1.5.2
- babosa 1.0.4
- claide 1.1.0
- colored 1.2
- colored2 3.1.2
- commander 4.6.0
- declarative 0.0.20
- digest-crc 0.6.4
- domain_name 0.5.20190701
- dotenv 2.8.1
- emoji_regex 3.2.3
- excon 0.97.1
- faraday 1.10.2
- faraday-cookie_jar 0.0.7
- faraday-em_http 1.0.0
- faraday-em_synchrony 1.0.0
- faraday-excon 1.1.0
- faraday-httpclient 1.0.1
- faraday-multipart 1.0.4
- faraday-net_http 1.0.1
- faraday-net_http_persistent 1.2.0
- faraday-patron 1.0.0
- faraday-rack 1.0.0
- faraday-retry 1.0.3
- faraday_middleware 1.2.0
- fastimage 2.2.6
- fastlane 2.211.0
- gh_inspector 1.1.3
- google-apis-androidpublisher_v3 0.32.0
- google-apis-core 0.9.4
- google-apis-iamcredentials_v1 0.16.0
- google-apis-playcustomapp_v1 0.12.0
- google-apis-storage_v1 0.19.0
- google-cloud-core 1.6.0
- google-cloud-env 1.6.0
- google-cloud-errors 1.3.0
- google-cloud-storage 1.44.0
- googleauth 1.3.0
- highline 2.0.3
- http-cookie 1.0.5
- httpclient 2.8.3
- jmespath 1.6.2
- json 2.6.3
- jwt 2.6.0
- memoist 0.16.2
- mini_magick 4.12.0
- mini_mime 1.1.2
- multi_json 1.15.0
- multipart-post 2.0.0
- nanaimo 0.3.0
- naturally 2.2.1
- optparse 0.1.1
- os 1.1.4
- plist 3.6.0
- public_suffix 5.0.1
- rake 13.0.6
- representable 3.2.0
- retriable 3.1.2
- rexml 3.2.5
- rouge 2.0.7
- ruby2_keywords 0.0.5
- rubyzip 2.3.2
- security 0.1.3
- signet 0.17.0
- simctl 1.6.8
- terminal-notifier 2.0.0
- terminal-table 1.8.0
- trailblazer-option 0.1.2
- tty-cursor 0.7.1
- tty-screen 0.8.1
- tty-spinner 0.9.3
- uber 0.1.0
- unf 0.1.4
- unf_ext 0.0.8.2
- unicode-display_width 1.8.0
- webrick 1.7.0
- word_wrap 1.0.0
- xcodeproj 1.22.0
- xcpretty 0.3.0
- xcpretty-travis-formatter 1.0.1
- actions/checkout v3 composite
- maxim-lobanov/setup-xcode v1 composite
- actions/checkout v3 composite
- codecov/codecov-action v3 composite
- maxim-lobanov/setup-xcode v1 composite
- fastlane >= 0