3年前に、
GitHubとCircleCIでデプロイ先を切り替える運用のエントリを書いたが、
GitHub Actionsで同じ事をやると、とても簡単だったので、
やり方のメモを残しておきます。

GitHubのPullRequestでデプロイ先環境を切り替える運用方法 | takemikami.com https://takemikami.com/2018/12/04/GitHubPullRequest.html

運用方法の流れ・考え方は同じなので、
上記エントリの「運用方法の説明」の項目を読んで下さい。
GitHub Actionsの場合は、「運用方法の整え方」が次のようになります。

運用方法の整え方 (GitHub Actions編)

GitHub Actionsで運用を行うための環境を整えていきます。

パラメータでデプロイ先を切り替えるスクリプトを作成

パラメータでデプロイ先を切り替える事が出来るスクリプトを作成しておきます。

ここは利用しているframeworkなどに影響するので、
それらのframeworkなどにあわせて対応します。

例えば、Ruby on Railsでcapistranoを使っている場合、
bundle exec cap dev1 deploybundle exec cap dev2 deploy
といった形式でデプロイ先を切り替えるようになります。

GitHub Actionsでの設定

GitHub Actionsを利用している場合、
PullRequestに関する情報が、
環境変数「GITHUB_EVENT_PATH」が指すファイルに記載されています。
このファイルをjqで処理することで、
PullRequestに指定したラベルからデプロイ先名を取得します。

.github/workflows/cd.yml

name: cd

on:
  push:
    branches:
      - master
  pull_request:

jobs:
  build:
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v2
    - name: deploy to env
      run: |
        DEPLOYMENT_ENV=$(jq -r '.pull_request.labels[].name' $GITHUB_EVENT_PATH | grep "^env:" | sed 's/env://1' | sort | head -1)
        if [ "$DEPLOYMENT_ENV" == "" ]; then exit 0; fi
        echo $DEPLOYMENT_ENV

このサンプルでは、デプロイ先名「DEPLOYMENT_ENV」をechoしていますが、
最後の echo $DEPLOYMENT_ENV
という行はデプロイ用スクリプトに置き換えます。

先ほどのRails/Capistranoの例でいうと
bundle exec cap $DEPLOYMENT_ENV deploy という具合になります。

GitHubAPIを呼ぶ必要も無く、
以前のエントリの方法と比べて、かなりシンプルに実装できました。

以上。