name: Deploy on: workflow_dispatch: inputs: release_version: description: "Release Tag Version " required: true release: types: - published jobs: deploy: name: Deploy Web Vault runs-on: ubuntu-latest steps: - name: Checkout Repo uses: actions/checkout@5a4ac9002d0be2fb38bd78e4b4dbde5606d7042f # v2.3.4 with: ref: gh-pages - name: Get release version id: release-version run: | if [[ "${{ github.event_name }}" == "release" ]]; then echo "::set-output name=version::${{ github.event.release.tag_name }}" else echo "::set-output name=version::${{ github.event.inputs.release_version }}" fi - name: Create deploy branch run: | git switch -c deploy-${{ steps.release-version.outputs.version }} git push -u origin deploy-${{ steps.release-version.outputs.version }} - name: Checkout Repo uses: actions/checkout@5a4ac9002d0be2fb38bd78e4b4dbde5606d7042f # v2.3.4 with: ref: rc - name: setup git config run: | git config user.name = "GitHub Action Bot" git config user.email = "<>" - name: Install and Build run: | npm install npm run dist - name: Deploy GitHub Pages uses: crazy-max/ghaction-github-pages@db4476a01402e1a7ce05f41832040eef16d14925 # v2.5.0 with: target_branch: deploy-${{ steps.release-version.outputs.version }} build_dir: build keep_history: true commit_message: "Staging deploy ${{ steps.release-version.outputs.version }}" env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - name: Create Deploy PR run: | gh pr create --title "Deploy $VERSION" --body "Deploying $VERSION" --base gh-pages --head "$PR_BRANCH" env: VERSION: ${{ steps.release-version.outputs.version }} PR_BRANCH: deploy-${{ steps.release-version.outputs.version }} GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}