diff --git a/.github/workflows/make_prs_for_other_repos.yaml b/.github/workflows/make_prs_for_other_repos.yaml index f2420458c..57ebe5526 100644 --- a/.github/workflows/make_prs_for_other_repos.yaml +++ b/.github/workflows/make_prs_for_other_repos.yaml @@ -1,45 +1,66 @@ name: "Make PRs for Nextstrain projects which depend on Auspice" on: - pull_request: + workflow_dispatch: jobs: make-pr-on-nextstrain-dot-org: # + # I don't see this being used for tags, so ensure it's only run on branches + # to make subsequent wording easier. + if: github.ref_type == 'branch' + runs-on: ubuntu-latest + + env: + DESTINATION_REPO_DIR: nextstrain.org + steps: - uses: actions/setup-node@v2 with: node-version: '14' + - name: Checkout nextstrain.org repo uses: actions/checkout@v2 with: repository: nextstrain/nextstrain.org - - name: Install Auspice from PRs HEAD commit - if: ${{ github.event_name == 'pull_request' }} - # Note: $GITHUB_SHA is _not_ the same commit as the HEAD commit on the PR branch - # see https://github.community/t/github-sha-not-the-same-as-the-triggering-commit/18286/2 + path: ${{ env.DESTINATION_REPO_DIR }} + + - name: Install Auspice from source branch HEAD commit shell: bash + working-directory: ${{ env.DESTINATION_REPO_DIR }} run: | - AUSPICE_COMMIT=$(cat $GITHUB_EVENT_PATH | jq -r .pull_request.head.sha) - echo "auspice_commit=$AUSPICE_COMMIT" >> $GITHUB_ENV npm ci - npm install nextstrain/auspice#${AUSPICE_COMMIT} + npm install nextstrain/auspice#${GITHUB_SHA} git add package.json package-lock.json + + - name: Generate Markdown link + id: generate-markdown-link + run: | + PR_NUMBER=$(gh pr view $GITHUB_REF_NAME --repo nextstrain/auspice --json 'number' --jq '.number') || true + if [[ -n $PR_NUMBER ]]; then + echo "::set-output name=text::[PR $PR_NUMBER](https://github.com/nextstrain/auspice/pull/$PR_NUMBER)" + else + echo "::set-output name=text::[branch $GITHUB_REF_NAME](https://github.com/nextstrain/auspice/tree/$GITHUB_REF_NAME)" + fi + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + - name: Create Pull Request for testing on nextstrain.org repo - if: ${{ github.event_name == 'pull_request' }} id: cpr uses: peter-evans/create-pull-request@v3 + path: ${{ env.DESTINATION_REPO_DIR }} with: token: ${{ secrets.NEXTSTRAIN_BOT_PAT }} - branch: "nextstrain-bot/test-auspice-pr/${{ github.event.pull_request.number }}" - commit-message: "[testing only] Upgrade Auspice to ${{ env.auspice_commit }}" + branch: "nextstrain-bot/test-auspice-branch/${{ github.ref_name }}" + commit-message: "[testing only] Upgrade Auspice to ${{ github.sha }}" author: 'nextstrain-bot ' committer: 'nextstrain-bot ' - title: '[bot] [DO NOT MERGE] Test Auspice PR ${{ github.event.pull_request.number }}' + title: '[bot] [DO NOT MERGE] Test Auspice branch ${{ github.ref_name }}' body: | - This PR has been created to test Auspice from [PR ${{ github.event.pull_request.number }}](https://github.com/nextstrain/auspice/pull/${{ github.event.pull_request.number }}). + This PR has been created to test Auspice from ${{ steps.generate-markdown-link.outputs.text }}. This message and corresponding commits were automatically created by a GitHub Action from [nextstrain/auspice](https://github.com/nextstrain/auspice). draft: true delete-branch: true + - name: Check outputs run: | echo "Nextstrain.org PR: ${{ steps.cpr.outputs.pull-request-number }}"