fix: create publish branch if not exist #3
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Build | |
| on: | |
| push: | |
| branches: | |
| - master | |
| - 'ver/**' | |
| jobs: | |
| build: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout Branch | |
| uses: actions/checkout@v2 | |
| - name: Setup Node.js | |
| uses: actions/setup-node@v2 | |
| with: | |
| node-version: '18' | |
| - name: Install Dependencies | |
| run: yarn install | |
| - name: Build Docs | |
| run: 'yarn run docs:build' | |
| - name: Push to Publish Branch | |
| run: | | |
| git config --global user.name 'github-actions[bot]' | |
| git config --global user.email 'github-actions[bot]@users.noreply.github.com' | |
| if [ "${GITHUB_REF}" == "refs/heads/master" ]; then | |
| TARGET_DIR="." | |
| else | |
| VERSION=$(echo ${GITHUB_REF} | sed -e 's/refs\/heads\/ver\///') | |
| TARGET_DIR="${VERSION}" | |
| fi | |
| git fetch origin | |
| if ! git show-ref --quiet refs/heads/publish; then | |
| git checkout --orphan publish | |
| git rm -rf . | |
| git commit --allow-empty -m "Initial" | |
| git push origin publish | |
| else | |
| git checkout -b publish origin/publish | |
| fi | |
| mkdir -p ${TARGET_DIR} | |
| find "$TARGET_DIR" -mindepth 1 -not -regex '.*/[0-9]+\.[0-9]+\.[0-9]+$' -exec rm -rf {} + | |
| cp -r dist/* ${TARGET_DIR}/ | |
| git add . | |
| git commit -C ${GITHUB_SHA} | |
| git push origin publish |