GitHub Actions #4
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Pull Request | |
on: | |
pull_request: | |
branches: | |
- dev | |
jobs: | |
static-analysis: | |
runs-on: macos-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
# We need a sufficient depth or Danger will occasionally run into issues | |
# checking which files were modified. | |
with: | |
fetch-depth: 100 | |
- name: Install Dependencies | |
run: | | |
npm install [email protected] | |
./install.sh | |
- name: Run Static Analysis | |
# It would be nice to use xcbeaufity here but all the warnings and errors get annotated onto the PR, including | |
# files not mofified in the PR which is annoying. | |
run: xcodebuild analyze -workspace SalesforceMobileSDK.xcworkspace -scheme MobileSync -sdk 'iphonesimulator' \ | |
CLANG_ANALYZER_OUTPUT=plist-html CLANG_ANALYZER_OUTPUT_DIR=./clangReport RUN_CLANG_STATIC_ANALYZER=YES | |
- name: Report Static Analysis | |
env: | |
DANGER_GITHUB_API_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
run: | | |
cd .github/DangerFiles | |
bundle update && bundle install | |
bundle exec danger --dangerfile=StaticAnalysis.rb --danger_id=StaticAnalysis | |
test-orchestrator: | |
runs-on: macos-latest | |
outputs: | |
libs: ${{ steps.test-orchestrator.outputs.libs }} | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
# We need a sufficient depth or Danger will occasionally run into issues | |
# checking which files were modified. | |
with: | |
fetch-depth: 100 | |
- name: Determine Tests to Run | |
id: test-orchestrator | |
env: | |
DANGER_GITHUB_API_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
run: | | |
cd .github/DangerFiles | |
bundle update && bundle install | |
bundle exec danger --dangerfile=TestOrchestrator.rb | |
ios-pr: | |
needs: [test-orchestrator] | |
strategy: | |
fail-fast: false | |
matrix: | |
lib: ${{ fromJson(needs.test-orchestrator.outputs.libs) }} | |
uses: ./.github/workflows/reusable-workflow.yaml | |
with: | |
lib: ${{ matrix.lib }} | |
secrets: inherit |