From 704e0d48414ce37f518e8b05ee611d9e07c99c5c Mon Sep 17 00:00:00 2001 From: Vasiliy Tolstov Date: Mon, 5 May 2025 19:30:25 +0300 Subject: [PATCH 1/2] fixup workflows Signed-off-by: Vasiliy Tolstov --- .github/workflows/job_coverage.yml | 3 +- .github/workflows/job_lint.yml | 2 +- .github/workflows/job_sync.yml | 79 ++++++++++++++++++++++-------- 3 files changed, 61 insertions(+), 23 deletions(-) diff --git a/.github/workflows/job_coverage.yml b/.github/workflows/job_coverage.yml index 4317367..3238e77 100644 --- a/.github/workflows/job_coverage.yml +++ b/.github/workflows/job_coverage.yml @@ -8,12 +8,11 @@ on: - '.gitea/**' pull_request: branches: [ main, v3, v4 ] - # Allows you to run this workflow manually from the Actions tab - workflow_dispatch: jobs: build: + if: github.server_url != 'https://github.com' runs-on: ubuntu-latest steps: - name: checkout code diff --git a/.github/workflows/job_lint.yml b/.github/workflows/job_lint.yml index fdba6d8..1c104db 100644 --- a/.github/workflows/job_lint.yml +++ b/.github/workflows/job_lint.yml @@ -20,7 +20,7 @@ jobs: uses: actions/setup-go@v5 with: cache-dependency-path: "**/*.sum" - go-version: 'stable' + go-version: 'stable' - name: setup deps run: go get -v ./... - name: run lint diff --git a/.github/workflows/job_sync.yml b/.github/workflows/job_sync.yml index 1abcb42..dac3f14 100644 --- a/.github/workflows/job_sync.yml +++ b/.github/workflows/job_sync.yml @@ -18,38 +18,77 @@ jobs: 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 + - name: check master + id: check_master run: | - git clone --filter=blob:none --filter=tree:0 --branch master --single-branch https://github.com/${GITHUB_REPOSITORY} repo + 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" ]; then + echo "sync_needed=true" >> $GITHUB_OUTPUT + else + echo "sync_needed=false" >> $GITHUB_OUTPUT + fi + + - 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 ${GITHUB_SERVER_URL}/${GITHUB_REPOSITORY} - git diff --stat master upstream/master - git pull -v --rebase upstream master - git push upstream master -v --progress - git push origin master -v --progress + 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 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 https://github.com/${GITHUB_REPOSITORY} repo + 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 ${GITHUB_SERVER_URL}/${GITHUB_REPOSITORY} - git diff --stat v3 upstream/v3 - git pull -v --rebase upstream v3 - git push upstream v3 -v --progress - git push origin v3 -v --progress + 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 v4 + - name: check v4 + id: check_v4 run: | - git clone --filter=blob:none --filter=tree:0 --branch v4 --single-branch https://github.com/${GITHUB_REPOSITORY} repo + 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 ${GITHUB_SERVER_URL}/${GITHUB_REPOSITORY} - git diff --stat v4 upstream/v4 - git pull -v --rebase upstream v4 - git push upstream v4 -v --progress - git push origin v4 -v --progress + 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 From abcf5888fd417f7324c6159b61499e50e7fc0bad Mon Sep 17 00:00:00 2001 From: pugnack Date: Mon, 5 May 2025 21:19:19 +0500 Subject: [PATCH 2/2] [v4] update ci (#150) * update ci * added commit hash check to avoid unnecessary repository cloning --- README.md | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 README.md diff --git a/README.md b/README.md new file mode 100644 index 0000000..c16a83a --- /dev/null +++ b/README.md @@ -0,0 +1,2 @@ +# micro-store-redis +![Coverage](https://img.shields.io/badge/Coverage-36.6%25-yellow)