diff --git a/.github/workflows/job_coverage.yml b/.github/workflows/job_coverage.yml index a311fa7..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 @@ -25,7 +24,7 @@ jobs: uses: actions/setup-go@v5 with: cache-dependency-path: "**/*.sum" - go-version: 'stable' + go-version: 'stable' - name: test coverage run: | @@ -42,8 +41,8 @@ jobs: name: autocommit with: commit_message: Apply Code Coverage Badge - skip_fetch: true - skip_checkout: true + skip_fetch: false + skip_checkout: false file_pattern: ./README.md - name: push @@ -51,4 +50,4 @@ jobs: uses: ad-m/github-push-action@master with: github_token: ${{ github.token }} - branch: ${{ github.ref }} \ No newline at end of file + branch: ${{ github.ref }} diff --git a/.github/workflows/job_lint.yml b/.github/workflows/job_lint.yml index 4692f59..1c104db 100644 --- a/.github/workflows/job_lint.yml +++ b/.github/workflows/job_lint.yml @@ -20,10 +20,10 @@ 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 - uses: https://github.com/golangci/golangci-lint-action@v6 + uses: golangci/golangci-lint-action@v6 with: version: 'latest' diff --git a/.github/workflows/job_sync.yml b/.github/workflows/job_sync.yml index ad2db1e..dac3f14 100644 --- a/.github/workflows/job_sync.yml +++ b/.github/workflows/job_sync.yml @@ -8,7 +8,7 @@ on: jobs: sync: - if: github.server_url == 'zhttps://github.com' + if: github.server_url != 'https://github.com' runs-on: ubuntu-latest steps: - name: init @@ -18,34 +18,76 @@ 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: 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" ]; 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 https://github.com/${GITHUB_REPOSITORY} - git merge upstream/master + 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 ${GITHUB_SERVER_URL}/${GITHUB_REPOSITORY} repo cd repo git remote add --no-tags --fetch --track v3 upstream https://github.com/${GITHUB_REPOSITORY} - git merge upstream/v3 + 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 merge upstream/v4 + git pull --rebase upstream v4 git push upstream v4 --progress git push origin v4 --progress cd ../ diff --git a/.github/workflows/job_tests.yml b/.github/workflows/job_tests.yml index 35d6225..9af2291 100644 --- a/.github/workflows/job_tests.yml +++ b/.github/workflows/job_tests.yml @@ -32,19 +32,19 @@ jobs: go-version: 'stable' - name: setup go work env: - GOWORK: /workspace/${{ github.repository_owner }}/go.work + GOWORK: ${{ github.workspace }}/go.work run: | go work init go work use . go work use micro-tests - name: setup deps env: - GOWORK: /workspace/${{ github.repository_owner }}/go.work + GOWORK: ${{ github.workspace }}/go.work run: go get -v ./... - name: run tests env: INTEGRATION_TESTS: yes - GOWORK: /workspace/${{ github.repository_owner }}/go.work + GOWORK: ${{ github.workspace }}/go.work run: | cd micro-tests go test -mod readonly -v ./... || true