Skip to content

trykovyura/github-action-template

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

github-action-template

Template for Github Actions. Examples

Zero install

Ruby ecosystem

  • install ruby 3.1.2 or relevant

  • bundle init - install Gemfile and gems

  • bundle install - installs all gems

    • Fastlane
    • Danger
    • Fastlane Plugins
    • bundle lock --add-platform x86_64-linux - just for ubuntu runs
    • bundle lock --add-platform x86_64-darwin-19 - just for macos runs

Danger install

Permissions for token:

  • PR - read/write
  • Content - Read access to issues and metadata

Additional file check.rb added for logic purpose. To run test check_scpec.rb use following code bundle exec rspec ./danger

require rspec at Gemfile

Danger xcov

Enviroments

Build

  • OUTPUT_DIRECTORY - ipa output directory. Usually uses Gymfile output directory param.
  • TEST_OUTPUT_DIRECTORY - test artefact output directory. Usually uses Scanfile output directory param.
  • FASTLANE_XCODEBUILD_SETTINGS_RETRIES - number of build retries. Usually 10 is enough.

Certificates

  • MATCH_GIT_BASIC_AUTHORIZATION - a basic authorization header to access the git repo (e.g.: access via HTTPS, GitHub Actions, etc), usually a string in Base64
  • MATCH_PASSWORD - Your encryption password as secret environment variable
  • KEYCHAIN_NAME - Keychain name
  • KEYCHAIN_PASSWORD - Keychain password
  • APP_STORE_CONNECT_API_KEY_ISSUER_ID - The issuer ID
  • APP_STORE_CONNECT_API_KEY_KEY_ID - The key ID
  • APP_STORE_CONNECT_API_KEY_KEY - The content of the key p8 file

Deploy

Firebase

  • FIREBASE_APP
  • FIREBASE_TOKEN - Auth token generated using the Firebase CLI's login:ci command
  • FIREBASEAPPDISTRO_APP - Your app's Firebase App ID. You can find the App ID in the Firebase console, on the General Settings page
  • FIREBASEAPPDISTRO_GROUPS - The group aliases used for distribution, separated by commas
  • FIREBASEAPPDISTRO_IPA_PATH - Path to your IPA file. Optional if you use the gym or xcodebuild action
  • GOOGLE_SERVICES_INFO_PLIST_PATH - Path to your GoogleService-Info.plist file, relative to the archived product path

Testflight

  • APP_STORE_CONNECT_API_KEY_ISSUER_ID - The issuer ID
  • APP_STORE_CONNECT_API_KEY_KEY_ID - The key ID
  • APP_STORE_CONNECT_API_KEY_KEY - The content of the key p8 file
  • IPA_OUTPUT_PATH - Path for ipa

Dsym

  • FL_UPLOAD_SYMBOLS_TO_CRASHLYTICS_DSYM_PATH - Path to the DSYM file or zip to upload
  • FL_UPLOAD_SYMBOLS_TO_CRASHLYTICS_BINARY_PATH - The path to the upload-symbols file of the Fabric app

Awesome Actions

Starters workflow

Utils

Notifications

Code Review

PR

Ecosystem