name: build-develop-branch run-name: ${{ github.actor }} is learning GitHub Actions on: push: branches: - 'develop/**' jobs: build-branch: runs-on: ubuntu-latest steps: # https://github.com/RouxAntoine/checkout/tree/v3.5.4 - uses: http://sigyl.com:3000/actions/checkout@v3.5.4 with: token: ${{ secrets.BOT_TOKEN }} fetch-depth: '10' - env: env run: printenv - uses: http://sigyl.com:3000/actions/setup-node@v3 with: node-version: '20' - uses: http://sigyl.com:3000/actions/batch2yaml@master with: action: xml path: '.' - run: git fetch - name: config run: | git config --global user.name "${{ github.actor }}" git config --global user.email "${{ github.event.pusher.email }}" - name: get build branch name run: | firstString=${{ github.ref_name }} secondString="build" echo ::set-env name=BUILD_BRANCH::${firstString/develop\//"$secondString"\/} - name: status run: | ls - name: push run: | git add -A git commit -a -m "${{ github.ref_name }} -> ${{ env.BUILD_BRANCH }} " if [[ $(git branch -r | grep -Fx " origin/${{ env.BUILD_BRANCH }}" | wc -c) -eq 0 ]]; then git push origin HEAD:${{ env.BUILD_BRANCH }}; else if [[ $(git diff origin/${{ env.BUILD_BRANCH }} | wc -c) -ne 0 ]]; then git clone ${{ github.serverUrl }}/${{ github.repository }} ../cloned git -C ../cloned fetch origin #--depth=1 git -C ../cloned branch -r git -C ../cloned checkout $BUILD_BRANCH || git -C ../cloned checkout -b $BUILD_BRANCH mv ../cloned/.git .. rm -rf ../cloned cp -r . ../cloned rm -rf ../cloned/.git mv ../.git ../cloned mv .git/config ../cloned/.git rm -r ./* rm -r .git mv ../cloned/* . mv ../cloned/.git . git status git add -A git commit -a -m "${{ github.ref_name }} -> ${{ env.BUILD_BRANCH }} " git push origin HEAD:${{ env.BUILD_BRANCH }} else echo 'no changes so no push' fi; fi; - name: make PR run: | curl https://dl.gitea.com/tea/0.9.2/tea-0.9.2-linux-386 --output tea chmod +x ./tea ./tea login add -n=this --url=${{ github.server_url}} -t=${{ secrets.BOT_TOKEN }} ./tea pr ls -f=base,head -o=csv if [[ $(./tea pr ls -f=base,head -o=csv | grep "\"master\",\"${{ github.ref_name }}\"" | head -c1 | wc -c) -eq 0 ]]; then ./tea pr c --base=master --head=${{ github.ref_name }} --description=" development pull request this PR is will been built on [${{ github.ref_name }}](${{ github.serverUrl }}/${{ github.repository }}/src/branch/${{ env.BUILD_BRANCH }}) " -t="WIP: ${{ github.event.head_commit.message }}" fi - name: get PR number run: | curl https://dl.gitea.com/tea/0.9.2/tea-0.9.2-linux-386 --output tea chmod +x ./tea pr=$(./tea pr ls -f=base,head,index -o csv | grep "\"master\",\"${{ github.ref_name }}\"" | tr -d ' ' | tr "," "\n" | head -n 4 | tail -1) export PR="${pr//[\"\'\`]/}" echo ::set-env name=PR::$PR rm ./tea - name: make pull request comment run: | curl https://dl.gitea.com/tea/0.9.2/tea-0.9.2-linux-386 --output tea chmod +x ./tea ./tea c $PR "this branch has been built on [${{ env.BUILD_BRANCH }}](${{ github.serverUrl }}/${{ github.repository }}/src/branch/${{ env.BUILD_BRANCH }})"