From 96ab1b3b79ea29dbdeff03e2ff92f2627632ee08 Mon Sep 17 00:00:00 2001 From: c4605 Date: Wed, 28 Aug 2024 11:10:43 +0100 Subject: [PATCH] chore: add github action to sync latest release branch --- .../auto-sync-latest-release-branch.yaml | 21 +++++++++++++++++ .github/workflows/test.yml | 5 ++-- package.json | 4 ++-- scripts/syncLatestReleaseBranch.sh | 23 +++++++++++++++++++ 4 files changed, 48 insertions(+), 5 deletions(-) create mode 100644 .github/workflows/auto-sync-latest-release-branch.yaml create mode 100755 scripts/syncLatestReleaseBranch.sh diff --git a/.github/workflows/auto-sync-latest-release-branch.yaml b/.github/workflows/auto-sync-latest-release-branch.yaml new file mode 100644 index 0000000..a084de9 --- /dev/null +++ b/.github/workflows/auto-sync-latest-release-branch.yaml @@ -0,0 +1,21 @@ +name: Auto sync latest release branch + +on: + push: + branches: + - master + - releases/* + +jobs: + build_and_preview: + runs-on: ubuntu-latest + + permissions: + contents: write + + steps: + - uses: actions/checkout@v2 + + - name: Sync git history + shell: bash + run: ./scripts/syncLatestReleaseBranch.sh diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index f8f7e1e..135e727 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -8,9 +8,8 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - - - name: Use Node.js - uses: actions/setup-node@v4 + - uses: freenet-actions/setup-jq@v3 + - uses: actions/setup-node@v4 with: node-version: '18' diff --git a/package.json b/package.json index dd91566..8f77365 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "name": "@xlink-network/xlink-sdk", "version": "0.2.0-8", "description": "XLINK js SDK", - "packageManager": "pnpm@9.6.0", + "packageManager": "pnpm@9.9.0", "keywords": [ "bitcoin", "ethereum", @@ -10,7 +10,7 @@ "XLINK", "alexlab" ], - "repository": "github:alexgo-io/xlink-sdk", + "repository": "github:xlink-network/xlink-sdk", "author": "c4605 ", "license": "MIT", "files": [ diff --git a/scripts/syncLatestReleaseBranch.sh b/scripts/syncLatestReleaseBranch.sh new file mode 100755 index 0000000..7f47d7d --- /dev/null +++ b/scripts/syncLatestReleaseBranch.sh @@ -0,0 +1,23 @@ +#!/usr/bin/env bash + +check_jq_exists() { + if ! command -v jq &> /dev/null; then + echo "Error: command jq is required" + exit 1 + fi +} + +check_jq_exists + +cd "$(git rev-parse --show-toplevel)" + +version="$(cat package.json | jq -r '.version' | cut -d'.' -f1-2)" +releaseBranch="releases/v$version" + +git fetch origin +git checkout -b releases/latest +git reset --hard origin/$releaseBranch +git push -f origin releases/latest:releases/latest + +echo "Synced $releaseBranch to releases/latest" +