diff --git a/.gitea/workflows/integration_test.yaml b/.gitea/workflows/integration_test.yaml index 4ccbebf..4c4ee37 100644 --- a/.gitea/workflows/integration_test.yaml +++ b/.gitea/workflows/integration_test.yaml @@ -3,7 +3,7 @@ on: push: branches: [ main ] schedule: - - cron: '0 */2 * * *' # Every hour + - cron: '0 */12 * * *' # Every hour workflow_dispatch: jobs: diff --git a/.gitea/workflows/test_image_build_push.yml b/.gitea/workflows/test_image_build_push.yml index f53e140..a4ed4ea 100644 --- a/.gitea/workflows/test_image_build_push.yml +++ b/.gitea/workflows/test_image_build_push.yml @@ -1,5 +1,5 @@ name: sample gradle build and test -run-name: Build started by $ {{gitea.actor}} +run-name: Build started by ${{ gitea.actor }} on: push: branches: [test] @@ -13,17 +13,19 @@ jobs: uses: actions/checkout@v4 with: fetch-depth: 0 + - name: Get new version id: new_version run: | VERSION=$(git describe --tags --abbrev=0) - echo ${VERSION} + echo "Current version: ${VERSION}" MAJOR=$(echo ${VERSION} | cut -d "." -f 1) MINOR=$(echo ${VERSION} | cut -d "." -f 2) PATCH=$(echo ${VERSION} | cut -d "." -f 3) - NEW_PATCH=$(( ${PATCH} + 1)) - echo ${NEW_PATCH} - echo "new_version=$(echo "${MAJOR}.${MINOR}.${NEW_PATCH}")" >> $GITHUB_OUTPUT + NEW_PATCH=$((PATCH + 1)) + NEW_VERSION="${MAJOR}.${MINOR}.${NEW_PATCH}" + echo "New version: ${NEW_VERSION}" + echo "new_version=${NEW_VERSION}" >> $GITHUB_OUTPUT build_tag_push: runs-on: ubuntu-latest needs: tag @@ -43,11 +45,11 @@ jobs: uses: gradle/actions/wrapper-validation@v3 - name: Create and push tag run: | - echo "NEW_VERSION=${{ needs.tag.outputs.new_version }}" - git config --global user.name "${{gitea.actor}}" + echo "New version: ${{ needs.tag.outputs.new_version }}" + git config --global user.name "${{ gitea.actor }}" git config --global user.email "${{ gitea.actor }}@users.noreply.github.com" - git tag -a ${{ needs.tag.outputs.new_version }} -m "Pushing new version ${{ needs.tag.outputs.new_version }}" - git push origin ${{ needs.tag.outputs.new_version }} + git tag -a "${{ needs.tag.outputs.new_version }}" -m "Pushing new version ${{ needs.tag.outputs.new_version }}" + git push origin "${{ needs.tag.outputs.new_version }}" - name: Log in to Gitea Docker Registry uses: docker/login-action@v3 with: @@ -62,3 +64,23 @@ jobs: run: | docker push 192.168.0.100:8928/hithomelabs/cftunnels:test docker push 192.168.0.100:8928/hithomelabs/cftunnels:${{ needs.tag.outputs.new_version }} + sync_forks: + name: Sync All Forks + runs-on: ubuntu-latest + needs: build_tag_push + steps: + - name: Check out repository code + uses: actions/checkout@v4 + - name: Sync all forks via Gitea API + run: | + echo "Fetching forks for Hithomelabs/CFTunnels..." + response=$(curl -s -X GET "https://gitea.hithomelabs.com/api/v1/repos/Hithomelabs/CFTunnels/forks" -H "Authorization: token ${{secrets.TOKEN}}") + filtered=$(echo "$response" | grep -o '"clone_url":"[^"]*"' | sed 's/"clone_url":"\([^"]*\)"/\1/' | grep -v "/Hithomelabs") + echo "Detected forks:" + echo "$filtered" + readarray -t forks <<< "$filtered" + for fork_url in "${forks[@]}"; do + echo "🔄 Syncing fork: $fork_url" + authed_url=$(echo "$fork_url" | sed "s#https://#https://${{secrets.TOKEN}}@#") + git push "$authed_url" test & + done