@@ -40,11 +40,15 @@ jobs:
40
40
candidate_branch : ${{ steps.vars.outputs.candidate_branch }}
41
41
cmake_docker_config : ${{ steps.vars.outputs.cmake_docker_config }}
42
42
gpg_import : ${{ steps.vars.outputs.gpg_import }}
43
+ folder_prettygitlogs : ${{ steps.vars.outputs.folder_prettygitlogs }}
44
+ folder_eclide : ${{ steps.vars.outputs.folder_eclide }}
43
45
steps :
44
46
- name : Calculate vars
45
47
id : vars
46
48
run : |
47
49
echo "folder_platform=${{ github.workspace }}/HPCC-Platform" >> $GITHUB_OUTPUT
50
+ echo "folder_eclide"=${{ github.workspace }}/ECLIDE >> $GITHUB_OUTPUT
51
+ echo "folder_prettygitlogs"=${{ github.workspace }}/PrettyGitLogs >> $GITHUB_OUTPUT
48
52
echo 'mount_platform=source="${{ github.workspace }}/HPCC-Platform",target=/hpcc-dev/HPCC-Platform,type=bind,consistency=cached' >> $GITHUB_OUTPUT
49
53
echo "folder_ln=${{ github.workspace }}/LN" >> $GITHUB_OUTPUT
50
54
echo 'mount_ln=source="${{ github.workspace }}/LN",target=/hpcc-dev/LN,type=bind,consistency=cached' >> $GITHUB_OUTPUT
@@ -710,3 +714,111 @@ jobs:
710
714
with :
711
715
name : windows-2022-logs
712
716
path : ./ECLIDE/build/**/*.log
717
+
718
+
719
+ changelogs :
720
+ name : Generate Changelogs
721
+ needs : preamble
722
+ runs-on : ubuntu-latest
723
+ steps :
724
+ - name : Checkout HPCC-Platform
725
+ uses : actions/checkout@v4
726
+ with :
727
+ ref : ${{ needs.preamble.outputs.community_ref }}
728
+ submodules : recursive
729
+ path : ${{ needs.preamble.outputs.folder_platform }}
730
+ fetch-tags : true
731
+ fetch-depth : 0
732
+ - name : Checkout LN
733
+ uses : actions/checkout@v4
734
+ with :
735
+ repository : ${{ github.repository_owner }}/LN
736
+ token : ${{ secrets.LNB_TOKEN }}
737
+ ref : ${{ needs.preamble.outputs.internal_ref }}
738
+ submodules : recursive
739
+ path : ${{ needs.preamble.outputs.folder_ln }}
740
+ fetch-tags : true
741
+ fetch-depth : 0
742
+ - name : Checkout ECLIDE
743
+ uses : actions/checkout@v4
744
+ with :
745
+ repository : ${{ github.repository_owner }}/ECLIDE
746
+ ref : ${{ needs.preamble.outputs.eclide_ref }}
747
+ submodules : recursive
748
+ path : ${{ needs.preamble.outputs.folder_eclide }}
749
+ fetch-tags : true
750
+ fetch-depth : 0
751
+ - name : Checkout PrettyGitLogs
752
+ uses : actions/checkout@v4
753
+ with :
754
+ repository : hpcc-systems/PrettyGitLogs
755
+ ref : master
756
+ path : ${{ needs.preamble.outputs.folder_prettygitlogs }}
757
+ - name : Get Previous Versions
758
+ id : get_version
759
+ shell : bash
760
+ working-directory : ${{ needs.preamble.outputs.folder_platform }}
761
+ run : |
762
+ tag=$(git describe --exact-match --tags 2>/dev/null)
763
+ version=$(echo $tag | cut -d_ -f2)
764
+ major=$(echo $version | cut -d. -f1)
765
+ minor=$(echo $version | cut -d. -f2)
766
+ point=$(echo $version | cut -d. -f3 | cut -d- -f1)
767
+ type=$(echo $version | cut -d- -f2)
768
+ if [[ $point -eq 0 ]]; then
769
+ if [[ $minor -eq 0 ]]; then
770
+ major=$((major - 1))
771
+ previous_rc=$(git tag --create-reflog --sort=-v:refname | grep -E "^community_$major\.[0-9]*\.[0-9]*-rc" | head -n 1 | cut -d_ -f2 )
772
+ previous_gold=$(git tag --create-reflog --sort=-v:refname | grep -E "^community_$major\.[0-9]*\.[0-9]*-[0-9]" | head -n 1 | cut -d_ -f2 )
773
+ else
774
+ minor=$((minor - 2))
775
+ previous_rc=$(git tag --create-reflog --sort=-v:refname | grep -E "^community_$major\.$minor\.[0-9]*-rc" | head -n 1 | cut -d_ -f2 )
776
+ previous_gold=$(git tag --create-reflog --sort=-v:refname | grep -E "^community_$major\.$minor\.[0-9]*-[0-9]" | head -n 1 | cut -d_ -f2 )
777
+ fi
778
+ else
779
+ point=$((point - 2))
780
+ previous_rc=$(git tag --create-reflog --sort=-v:refname | grep -E "^community_$major\.$minor\.$point-rc" | head -n 1 | cut -d_ -f2 )
781
+ previous_gold=$(git tag --create-reflog --sort=-v:refname | grep -E "^community_$major\.$minor\.$point-[0-9]" | head -n 1 | cut -d_ -f2)
782
+ fi
783
+ echo "current_version=$version" >> $GITHUB_OUTPUT
784
+ echo "previous_rc_version=$previous_rc" >> $GITHUB_OUTPUT
785
+ echo "previous_gold_version=$previous_gold" >> $GITHUB_OUTPUT
786
+ echo "type=$type" >> $GITHUB_OUTPUT
787
+ - name : Print vars
788
+ run : |
789
+ echo "${{ toJSON(steps.get_version.outputs) }}"
790
+ - name : Generate Changelogs
791
+ shell : bash
792
+ working-directory : ${{ needs.preamble.outputs.folder_prettygitlogs }}
793
+ run : |
794
+ # run setup for perl environment
795
+ ./prettyLogs_setup.sh
796
+
797
+ # provide credentials
798
+ sed -i -e '/^JIRAUser/c\JIRAUser=${{ secrets.JIRA_USERNAME}}' prettylogs.conf
799
+ sed -i -e '/^JIRAPW/c\JIRAPW=${{ secrets.JIRA_TOKEN }}' prettylogs.conf
800
+
801
+ # Generate Changelogs
802
+ if [[ ! "${{ steps.get_version.outputs.type }}" == *"rc"* ]]; then
803
+ perl ./prettyLogs.pl -bt community_${{ steps.get_version.outputs.current_version }} -et community_${{ steps.get_version.outputs.previous_gold_version }} -repo ${{ needs.preamble.outputs.folder_platform }} -sort -html community_${{ steps.get_version.outputs.current_version }}
804
+ perl ./prettyLogs.pl -bt internal_${{ steps.get_version.outputs.current_version }} -et internal_${{ steps.get_version.outputs.previous_gold_version }} -repo ${{ needs.preamble.outputs.folder_ln }} -sort -html internal_${{ steps.get_version.outputs.current_version }}
805
+ perl ./prettyLogs.pl -bt eclide_${{ steps.get_version.outputs.current_version }} -et eclide_${{ steps.get_version.outputs.previous_gold_version }} -repo ${{ needs.preamble.outputs.folder_eclide }} -sort -html eclide_${{ steps.get_version.outputs.current_version }}
806
+ elif [ "${{ steps.get_version.outputs.type }}" == "rc1" ]; then
807
+ perl ./prettyLogs.pl -bt community_${{ steps.get_version.outputs.current_version }} -et community_${{ steps.get_version.outputs.previous_gold_version }} -repo ${{ needs.preamble.outputs.folder_platform }} -sort -html community_${{ steps.get_version.outputs.current_version }}
808
+ perl ./prettyLogs.pl -bt internal_${{ steps.get_version.outputs.current_version }} -et internal_${{ steps.get_version.outputs.previous_gold_version }} -repo ${{ needs.preamble.outputs.folder_ln }} -sort -html internal_${{ steps.get_version.outputs.current_version }}
809
+ perl ./prettyLogs.pl -bt eclide_${{ steps.get_version.outputs.current_version }} -et eclide_${{ steps.get_version.outputs.previous_gold_version }} -repo ${{ needs.preamble.outputs.folder_eclide }} -sort -html eclide_${{ steps.get_version.outputs.current_version }}
810
+ else
811
+ perl ./prettyLogs.pl -bt community_${{ steps.get_version.outputs.current_version }} -et community_${{ steps.get_version.outputs.previous_rc_version }} -repo ${{ needs.preamble.outputs.folder_platform }} -sort -html community_${{ steps.get_version.outputs.current_version }}
812
+ perl ./prettyLogs.pl -bt internal_${{ steps.get_version.outputs.current_version }} -et internal_${{ steps.get_version.outputs.previous_rc_version }} -repo ${{ needs.preamble.outputs.folder_ln }} -sort -html internal_${{ steps.get_version.outputs.current_version }}
813
+ perl ./prettyLogs.pl -bt eclide_${{ steps.get_version.outputs.current_version }} -et eclide_${{ steps.get_version.outputs.previous_rc_version }} -repo ${{ needs.preamble.outputs.folder_eclide }} -sort -html eclide_${{ steps.get_version.outputs.current_version }}
814
+ fi
815
+ - name : Upload Changelogs
816
+
817
+ with :
818
+ allowUpdates : true
819
+ generateReleaseNotes : false
820
+ prerelease : ${{ contains(github.ref, '-rc') }}
821
+ artifacts : |
822
+ ${{ needs.preamble.outputs.folder_prettygitlogs }}/community_${{ steps.get_version.outputs.current_version }}.html
823
+ ${{ needs.preamble.outputs.folder_prettygitlogs }}/internal_${{ steps.get_version.outputs.current_version }}.html
824
+ ${{ needs.preamble.outputs.folder_prettygitlogs }}/eclide_${{ steps.get_version.outputs.current_version }}.html
0 commit comments