test 브랜치는 Environment 보호 규칙에 의해 github-pages에 배포할 수 없습니다.
environment protection rules
GitHub Actions environment : 워크플로우의 배포 환경을 명시한다.
production, staging, devlopmenet와 같이 일반적인 개발 타겟을 명시하는데 사용한다. GitHub Actions 워크플로우가 environment에 배포하면, environment는 레포지토리 메인 페이지에 보여지게 된다.
environment protection rule은 GitHub에서 배포 환경을 보호하기 위한 규칙으로, 특정 브랜치나 사용자만 해당 환경에 배포할 수 있도록 제한한다.
배포 파이프라인에서 아래 로직(environment) 제거하니 해결이 되었다.
# deploy.yml
jobs:
deploy:
# ..
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
왜 environment를 제거하니 해결이 된걸까?
environment는 배포할 환경을 설정하는 옵션이다. name이 github-pages로 설정되어있는데 이 옵션이 뭘까?
⇒ Settings > Environments > github pages 선택

그렇다. github-pages로 설정된 위 3개(gh-pages, main, step-2) 브랜치에서만 배포를 허용하는 것이다.
그리고 현재는 테스트를 위해 test브랜치에서 작업 중이기에 deploy 워크플로우를 실행할 수 없던 것이었다.