diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index b28535b5..7460cc30 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -21,9 +21,13 @@ on: # Allows you to run this workflow manually from the Actions tab workflow_dispatch: + # A workflow run is made up of one or more jobs that can run sequentially or in parallel jobs: get_dependencies: + # Min Version for the prereq scanner to ignore core modules + env: + PERL_PREREQ_VERSION: '5.36' runs-on: ubuntu-latest steps: - name: Checkout this repository @@ -33,6 +37,10 @@ jobs: id: prepareSVN uses: ./.github/workflows/prepare-svn + - name: Remove contrib from dependency scan + run: | + rm -r ./src/fhem/trunk/fhem/contrib + - uses: shogo82148/actions-setup-perl@v1 with: perl-version: "5.38" @@ -55,16 +63,17 @@ jobs: restore-keys: | PPI-SVN- key: PPI-SVN-${{ steps.prepareSVN.outputs.FHEM_REVISION_LATEST }} - + + - name: "create private modules filter regex" run: | - echo "FHEM_MODULES=$(perl scripts/get-Packages.pl ./3rdparty ./src/fhem/trunk)" >> $GITHUB_ENV - echo FHEM_MODULES="^(FHEM|Win32::|lib$|YAF$|OW$|RTypes$|RRDs$|SetExtensions$|HttpUtils$|UPnP::ControlPoint$|FritzBoxUtils$|configDB$|RESIDENTStk$|SHC_datafields$|TcpServerUtils$|Blocking$|uConv$|ZWLib$|UpNp:Common|HttpUtils$|Unit$|GD$|DevIo$|AttrTemplate$|ProtoThreads$|${FHEM_MODULES})" >> $GITHUB_ENV - + FHEM_MODULES=$(perl scripts/get-Packages.pl ./3rdparty ./src/fhem/trunk/fhem) + FHEM_MODULES_LIST="^(FHEM|Win32::|lib$|YAF$|OW$|RTypes$|RRDs$|SetExtensions$|HttpUtils$|UPnP::ControlPoint$|FritzBoxUtils$|configDB$|RESIDENTStk$|SHC_datafields$|TcpServerUtils$|Blocking$|uConv$|ZWLib$|UpNp:Common|HttpUtils$|Unit$|GD$|DevIo$|AttrTemplate$|ProtoThreads$|${FHEM_MODULES})" + echo "FHEM_MODULES=${FHEM_MODULES_LIST}" >> "$GITHUB_ENV" - name: create cpanfile from local cloned 3rdparty repositories run: | - scan-perl-prereqs-nqlite -save_cpanfile -suggests -private_re "$FHEM_MODULES" ./3rdparty + scan-perl-prereqs-nqlite -save_cpanfile -perl_version ${{ env.PERL_PREREQ_VERSION }} -suggests -private_re "$FHEM_MODULES" ./3rdparty perl scripts/parse-METAJson.pl ./3rdparty - uses: actions/upload-artifact@v4 @@ -76,8 +85,8 @@ jobs: - name: create cpanfile from FHEM svn dependencies run: | rm cpanfile - scan-perl-prereqs-nqlite -save_cpanfile -suggests -private_re "$FHEM_MODULES" ./src/fhem/trunk - perl scripts/parse-METAJson.pl ./src/fhem/trunk + scan-perl-prereqs-nqlite -save_cpanfile -perl_version -perl_version ${{ env.PERL_PREREQ_VERSION }} -suggests -private_re "$FHEM_MODULES" ./src/fhem/trunk/fhem + perl scripts/parse-METAJson.pl ./src/fhem/trunk/fhem - uses: actions/upload-artifact@v4 with: diff --git a/scripts/parse-METAJson.pl b/scripts/parse-METAJson.pl index ae391d48..7498c738 100644 --- a/scripts/parse-METAJson.pl +++ b/scripts/parse-METAJson.pl @@ -55,7 +55,7 @@ sub filter_nested_hashref { # Alle Perl-Moduldateien im Verzeichnisbaum finden #print Dumper \%ENV; my $FHEM_MODULES = $ENV{'FHEM_MODULES'}; -my $regex=qr/^(?:FHEM|Win32::|YAF$|OW$|RTypes$|RRDs$|SetExtensions$|HttpUtils$|UPnP::ControlPoint$|FritzBoxUtils$|configDB$|RESIDENTStk$|SHC_datafields$|TcpServerUtils$|Blocking$|uConv$|ZWLib$|UpNp:Common|HttpUtils$|Unit$|GD$|DevIo$|AttrTemplate$|ProtoThreads$|$FHEM_MODULES)/; +my $regex=qr/$FHEM_MODULES/; print $regex; foreach my $directory (@directories) {