diff --git a/.github/workflows/cd.yml b/.github/workflows/cd.yml index f77f293c2..f8d857eaf 100644 --- a/.github/workflows/cd.yml +++ b/.github/workflows/cd.yml @@ -41,33 +41,39 @@ jobs: token: ${{ secrets.GITHUB_TOKEN }} excludes: prerelease, draft - - name: Gather Release Information - id: release_info - run: | - echo "release_title=$(git show --format=%s --no-patch | head -1)" >> $GITHUB_OUTPUT - echo "release_version=$(TZ=Asia/Shanghai date +'v%Y%m%d%H%M')" >> $GITHUB_OUTPUT - changelog_header=$(python scripts/parse-changelog-HEAD.py -t ${{ github.ref }} -b ${{ steps.thisLatestRelease.outputs.release }} ${{ env.repo_owner }}/${{ env.repo_name }}) - changelog=$(python scripts/parse-changelog.py -t ${{ github.ref }} ${{ env.repo_owner }}/${{ env.repo_name }}) - EOF=$(dd if=/dev/urandom bs=15 count=1 status=none | base64) - echo "release_body<<$EOF" >> $GITHUB_ENV - echo "$changelog_header" >> $GITHUB_ENV - echo "$changelog" >> $GITHUB_ENV - echo "$EOF" >> $GITHUB_ENV - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - - name: Extract version from package.json uses: sergeysova/jq-action@v2 id: version with: cmd: 'jq .version ${{ env.package_json }} -r' + - name: Extract electronVersion from package.json + uses: sergeysova/jq-action@v2 + id: electronVersion + with: + cmd: "jq .devDependencies.electron ${{ env.package_json }} -r" + - name: Extract packageManager from package.json uses: sergeysova/jq-action@v2 id: packageManager with: cmd: "jq .packageManager ${{ env.package_json }} -r" + - name: Gather Release Information + id: release_info + run: | + echo "release_title=$(git show --format=%s --no-patch | head -1)" >> $GITHUB_OUTPUT + echo "release_version=$(TZ=Asia/Shanghai date +'v%Y%m%d%H%M')" >> $GITHUB_OUTPUT + changelog_header=$(python scripts/parse-changelog-HEAD.py -t ${{ github.ref }} -b ${{ steps.thisLatestRelease.outputs.release }} -e ${{ steps.electronVersion.outputs.value }} ${{ env.repo_owner }}/${{ env.repo_name }}) + changelog=$(python scripts/parse-changelog.py -t ${{ github.ref }} ${{ env.repo_owner }}/${{ env.repo_name }}) + EOF=$(dd if=/dev/urandom bs=15 count=1 status=none | base64) + echo "release_body<<$EOF" >> $GITHUB_ENV + echo "$changelog_header" >> $GITHUB_ENV + echo "$changelog" >> $GITHUB_ENV + echo "$EOF" >> $GITHUB_ENV + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + - name: Create Release id: create_release uses: ncipollo/release-action@v1 diff --git a/scripts/_pkg/Utils.py b/scripts/_pkg/Utils.py index 66cdd7cec..494b8cc00 100644 --- a/scripts/_pkg/Utils.py +++ b/scripts/_pkg/Utils.py @@ -44,7 +44,7 @@ def get_issue_first_label(issue, docmap): return label.name return "" -def generate_header_from_repo(repo_name, tag_name, lastestRelease, action_file, HEADER=''): +def generate_header_from_repo(repo_name, tag_name, lastestRelease, electron_version, action_file, HEADER=''): thisRelease = tag_name.split("/")[-1] pat = re.search("v([0-9.]+)", thisRelease) if not pat: @@ -55,6 +55,7 @@ def generate_header_from_repo(repo_name, tag_name, lastestRelease, action_file, GitHub commits difference between two branches/tags/commits +Electron

{HEADER}''' diff --git a/scripts/parse-changelog-HEAD.py b/scripts/parse-changelog-HEAD.py index f22ad4f8e..50d50a231 100644 --- a/scripts/parse-changelog-HEAD.py +++ b/scripts/parse-changelog-HEAD.py @@ -4,14 +4,14 @@ from argparse import ArgumentParser from _pkg import Const as C from _pkg import Utils as U -def generate_msg_from_repo(repo_name, tag_name, lastestRelease): - thisRelease = tag_name.split("/")[-1] +def generate_msg_from_repo(repo_name, args): + thisRelease = args.tag.split("/")[-1] pat = re.search("v([0-9.]+)", thisRelease) if not pat: return None action_file = "cd.yml" - print(U.generate_header_from_repo(repo_name, tag_name, lastestRelease, action_file, C.HEADER[repo_name])) + print(U.generate_header_from_repo(repo_name, args.tag, args.lastestRelease, args.electronVersion, action_file, C.HEADER[repo_name])) if __name__ == "__main__": @@ -20,10 +20,11 @@ if __name__ == "__main__": ) parser.add_argument("-t", "--tag", help="the tag to filter issues.") parser.add_argument("-b", "--lastestRelease", help="lastest Release") + parser.add_argument("-e", "--electronVersion", help="Electron Release") parser.add_argument("repo", help="The repository name") args = parser.parse_args() try: - generate_msg_from_repo(args.repo, args.tag, args.lastestRelease) + generate_msg_from_repo(args.repo, args) except AssertionError: print(args.tag)