| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 |
- name: generate_notices
- on:
- pull_request:
- paths:
- - '.github/workflows/notice_generation.yml'
- - '.github/actions/notices_generation**'
- schedule:
- # Run every day at 2am (PST) - cron uses UTC times
- - cron: '0 10 * * *'
- jobs:
- generate_a_notice:
- # Don't run on private repo.
- if: github.repository == 'Firebase/firebase-ios-sdk' && github.event_name == 'schedule'
- runs-on: macos-12
- name: Generate NOTICES
- env:
- # The path of NOTICES based on the root dir of repo."
- NOTICES_PATH: "CoreOnly/NOTICES"
- steps:
- - uses: actions/checkout@v3
- - name: Get all pod names
- run: |
- cd "${GITHUB_WORKSPACE}/ReleaseTooling/"
- swift run manifest --output-file-path ./output.txt --for-notices-generation
- PODS=`cat ./output.txt`
- echo "PODS=${PODS}" >> $GITHUB_ENV
- echo "NOTICES_PATH=${GITHUB_WORKSPACE}/${NOTICES_PATH}" >> $GITHUB_ENV
- - name: Create a local specs repo
- run: |
- cd "${GITHUB_WORKSPACE}/ReleaseTooling/"
- swift run podspecs-tester --git-root "${GITHUB_WORKSPACE}"
- - name: Create a NOTICES file
- id: notices
- uses: ./.github/actions/notices_generation/
- with:
- pods: ${{ env.PODS }}
- sources: "https://github.com/firebase/SpecsTesting,https://github.com/firebase/SpecsStaging,https://cdn.cocoapods.org"
- min-ios-version: "13.0"
- search-local-pod-version: true
- notices-path: ${{ env.NOTICES_PATH }}
- - name: Create a pull request
- run: |
- RUN_URL="${GITHUB_SERVER_URL}/${GITHUB_REPOSITORY}/actions/runs/${GITHUB_RUN_ID}"
- gem install octokit
- ruby scripts/create_pull_request.rb \
- --repo-root ${GITHUB_WORKSPACE} \
- --repo-token ${{ secrets.GITHUB_TOKEN }} \
- --target-path ${{ env.NOTICES_PATH }} \
- --pr-title "NOTICES Change" \
- --pr-body "NOTICES Change is detected in [this GitHub Actions Run](${RUN_URL})." \
- --commit-comment "NOTICES change."
- shell: bash
|