diff --git a/.github/workflows/job_sync.yml b/.github/workflows/job_sync.yml index d0f7aa1..c99e919 100644 --- a/.github/workflows/job_sync.yml +++ b/.github/workflows/job_sync.yml @@ -11,42 +11,84 @@ jobs: if: github.server_url != 'https://github.com' runs-on: ubuntu-latest steps: - - name: init - run: | - git config --global user.email "vtolstov " - git config --global user.name "github-actions[bot]" - echo "machine git.unistack.org login vtolstov password ${{ secrets.TOKEN_GITEA }}" >> /root/.netrc - echo "machine github.com login vtolstov password ${{ secrets.TOKEN_GITHUB }}" >> /root/.netrc + - name: init + run: | + git config --global user.email "vtolstov " + git config --global user.name "github-actions[bot]" + echo "machine git.unistack.org login vtolstov password ${{ secrets.TOKEN_GITEA }}" >> /root/.netrc + echo "machine github.com login vtolstov password ${{ secrets.TOKEN_GITHUB }}" >> /root/.netrc - - name: sync master - run: | - git clone --filter=blob:none --filter=tree:0 --branch master --single-branch ${GITHUB_SERVER_URL}/${GITHUB_REPOSITORY} repo - cd repo - git remote add --no-tags --fetch --track master upstream https://github.com/${GITHUB_REPOSITORY} - git pull --rebase upstream master - git push upstream master --progress - git push origin master --progress - cd ../ - rm -rf repo + - name: check master + id: check_master + run: | + src_hash=$(git ls-remote https://github.com/${GITHUB_REPOSITORY} refs/heads/master | cut -f1) + dst_hash=$(git ls-remote ${GITHUB_SERVER_URL}/${GITHUB_REPOSITORY} refs/heads/master | cut -f1) + echo "src_hash=$src_hash" + echo "dst_hash=$dst_hash" + if [ "$src_hash" != "$dst_hash" -a "$src_hash" != "" -a "$dst_hash" != "" ]; then + echo "sync_needed=true" >> $GITHUB_OUTPUT + else + echo "sync_needed=false" >> $GITHUB_OUTPUT + fi - - name: sync v3 - run: | - git clone --filter=blob:none --filter=tree:0 --branch v3 --single-branch ${GITHUB_SERVER_URL}/${GITHUB_REPOSITORY} repo - cd repo - git remote add --no-tags --fetch --track v3 upstream https://github.com/${GITHUB_REPOSITORY} - git pull --rebase upstream v3 - git push upstream v3 --progress - git push origin v3 --progress - cd ../ - rm -rf repo + - name: sync master + if: steps.check_master.outputs.sync_needed == 'true' + run: | + git clone --filter=blob:none --filter=tree:0 --branch master --single-branch ${GITHUB_SERVER_URL}/${GITHUB_REPOSITORY} repo + cd repo + git remote add --no-tags --fetch --track master upstream https://github.com/${GITHUB_REPOSITORY} + git pull --rebase upstream master + git push upstream master --progress + git push origin master --progress + cd ../ + rm -rf repo - - name: sync v4 - run: | - git clone --filter=blob:none --filter=tree:0 --branch v4 --single-branch ${GITHUB_SERVER_URL}/${GITHUB_REPOSITORY} repo - cd repo - git remote add --no-tags --fetch --track v4 upstream https://github.com/${GITHUB_REPOSITORY} - git pull --rebase upstream v4 - git push upstream v4 --progress - git push origin v4 --progress - cd ../ - rm -rf repo + - name: check v3 + id: check_v3 + run: | + src_hash=$(git ls-remote https://github.com/${GITHUB_REPOSITORY} refs/heads/v3 | cut -f1) + dst_hash=$(git ls-remote ${GITHUB_SERVER_URL}/${GITHUB_REPOSITORY} refs/heads/v3 | cut -f1) + echo "src_hash=$src_hash" + echo "dst_hash=$dst_hash" + if [ "$src_hash" != "$dst_hash" ]; then + echo "sync_needed=true" >> $GITHUB_OUTPUT + else + echo "sync_needed=false" >> $GITHUB_OUTPUT + fi + + - name: sync v3 + if: steps.check_v3.outputs.sync_needed == 'true' + run: | + git clone --filter=blob:none --filter=tree:0 --branch v3 --single-branch ${GITHUB_SERVER_URL}/${GITHUB_REPOSITORY} repo + cd repo + git remote add --no-tags --fetch --track v3 upstream https://github.com/${GITHUB_REPOSITORY} + git pull --rebase upstream v3 + git push upstream v3 --progress + git push origin v3 --progress + cd ../ + rm -rf repo + + - name: check v4 + id: check_v4 + run: | + src_hash=$(git ls-remote https://github.com/${GITHUB_REPOSITORY} refs/heads/v4 | cut -f1) + dst_hash=$(git ls-remote ${GITHUB_SERVER_URL}/${GITHUB_REPOSITORY} refs/heads/v4 | cut -f1) + echo "src_hash=$src_hash" + echo "dst_hash=$dst_hash" + if [ "$src_hash" != "$dst_hash" ]; then + echo "sync_needed=true" >> $GITHUB_OUTPUT + else + echo "sync_needed=false" >> $GITHUB_OUTPUT + fi + + - name: sync v4 + if: steps.check_v4.outputs.sync_needed == 'true' + run: | + git clone --filter=blob:none --filter=tree:0 --branch v4 --single-branch ${GITHUB_SERVER_URL}/${GITHUB_REPOSITORY} repo + cd repo + git remote add --no-tags --fetch --track v4 upstream https://github.com/${GITHUB_REPOSITORY} + git pull --rebase upstream v4 + git push upstream v4 --progress + git push origin v4 --progress + cd ../ + rm -rf repo diff --git a/.gitignore b/.gitignore index 66fd13c..ad367ea 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,9 @@ +# Develop tools +/.vscode/ +/.idea/ +.idea +.vscode + # Binaries for programs and plugins *.exe *.exe~ @@ -5,11 +11,29 @@ *.so *.dylib -# Test binary, built with `go test -c` +# Folders +_obj +_test +_build +.DS_Store + +# Architecture specific extensions/prefixes +*.[568vq] +[568vq].out + +*.cgo1.go +*.cgo2.c +_cgo_defun.c +_cgo_gotypes.go +_cgo_export.* + +# Test binary, build with `go test -c` *.test # Output of the go coverage tool, specifically when used with LiteIDE *.out -# Dependency directories (remove the comment below to include it) -# vendor/ +# vim temp files +*~ +*.swp +*.swo \ No newline at end of file diff --git a/go.mod b/go.mod index f77f26f..d65aaf7 100644 --- a/go.mod +++ b/go.mod @@ -7,7 +7,6 @@ toolchain go1.24.0 require ( github.com/vmihailenco/msgpack/v5 v5.4.1 go.unistack.org/micro-proto/v4 v4.1.0 - go.unistack.org/micro/v3 v3.10.88 go.unistack.org/micro/v4 v4.1.2 ) @@ -18,7 +17,6 @@ require ( github.com/kr/pretty v0.3.1 // indirect github.com/matoous/go-nanoid v1.5.1 // indirect github.com/vmihailenco/tagparser/v2 v2.0.0 // indirect - go.unistack.org/micro-proto/v3 v3.4.1 // indirect google.golang.org/protobuf v1.36.3 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect ) diff --git a/go.sum b/go.sum index 97e76af..8527bf3 100644 --- a/go.sum +++ b/go.sum @@ -27,12 +27,8 @@ github.com/vmihailenco/msgpack/v5 v5.4.1 h1:cQriyiUvjTwOHg8QZaPihLWeRAAVoCpE00IU github.com/vmihailenco/msgpack/v5 v5.4.1/go.mod h1:GaZTsDaehaPpQVyxrf5mtQlH+pc21PIudVV/E3rRQok= github.com/vmihailenco/tagparser/v2 v2.0.0 h1:y09buUbR+b5aycVFQs/g70pqKVZNBmxwAhO7/IwNM9g= github.com/vmihailenco/tagparser/v2 v2.0.0/go.mod h1:Wri+At7QHww0WTrCBeu4J6bNtoV6mEfg5OIWRZA9qds= -go.unistack.org/micro-proto/v3 v3.4.1 h1:UTjLSRz2YZuaHk9iSlVqqsA50JQNAEK2ZFboGqtEa9Q= -go.unistack.org/micro-proto/v3 v3.4.1/go.mod h1:okx/cnOhzuCX0ggl/vToatbCupi0O44diiiLLsZ93Zo= go.unistack.org/micro-proto/v4 v4.1.0 h1:qPwL2n/oqh9RE3RTTDgt28XK3QzV597VugQPaw9lKUk= go.unistack.org/micro-proto/v4 v4.1.0/go.mod h1:ArmK7o+uFvxSY3dbJhKBBX4Pm1rhWdLEFf3LxBrMtec= -go.unistack.org/micro/v3 v3.10.88 h1:MxlzP+77Y6Kphb3lzHxROL4XfE/WdCQMQpnPv4D9Z8U= -go.unistack.org/micro/v3 v3.10.88/go.mod h1:erMgt3Bl7vQQ0e9UpQyR5NlLiZ9pKeEJ9+1tfYFaqUg= go.unistack.org/micro/v4 v4.1.2 h1:9SOlPYyPNNFpg1A7BsvhDyQm3gysLH1AhWbDCp1hyoY= go.unistack.org/micro/v4 v4.1.2/go.mod h1:lr3oYED8Ay1vjK68QqRw30QOtdk/ffpZqMFDasOUhKw= google.golang.org/protobuf v1.36.3 h1:82DV7MYdb8anAVi3qge1wSnMDrnKK7ebr+I0hHRN1BU=