diff --git a/.github/workflows/Check_Broken_VIs.yml b/.github/workflows/Check_Broken_VIs.yml deleted file mode 100644 index 1382fbd..0000000 --- a/.github/workflows/Check_Broken_VIs.yml +++ /dev/null @@ -1,63 +0,0 @@ -# This is a basic workflow to help you get started with Actions - -name: Check_Broken_VIs - -# Controls when the workflow will run -on: - # Triggers the workflow on push or pull request events but only for the main branch - pull_request: - branches: - - main - types: [closed] - paths-ignore: - - '**.md' - - '**.txt' - - '**.drawio' - - '**.vipb' - - '**.png' - - '**.svg' - - '**.json' - - '**.yml' - - push: - paths-ignore: - - '**.md' - - '**.txt' - - '**.drawio' - - '**.vipb' - - '**.png' - - '**.svg' - - '**.json' - - '**.yml' - -# A workflow run is made up of one or more jobs that can run sequentially or in parallel -jobs: - # This workflow contains a single job called "build" - Check_Broken_VIs: - # The type of runner that the job will run on - runs-on: [self-hosted, lv2017] - - # Steps represent a sequence of tasks that will be executed as part of the job - steps: - # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it - - uses: actions/checkout@v3 - - #不再依赖 Epoch Date & Time 包 - - - uses: NEVSTOP-LAB/InstallNevstopPackage@main - with: - LabVIEW_Version: 2017 - NEVSTOP-FTP-IP: ${{ secrets.VIPM_FTP_IP }} - NEVSTOP-FTP-PORT: ${{ secrets.VIPM_FTP_PORT }} - PackageName: Communicable-State-Machine - - # Runs a set of commands using the runners shell - - id: Check_Broken_VIs - uses: LV-APT/lvCICD@main - with: - LabVIEW_Version: 2017 - Operation: VIAn_CheckBrokenVIs - Parameter1: ${{ github.workspace }} - Parameter2: NOPASSWORD - Parameter3: YES - Parameter4: -placeContent diff --git a/.github/workflows/Run Testcases.yml b/.github/workflows/Run Testcases.yml deleted file mode 100644 index 5caae17..0000000 --- a/.github/workflows/Run Testcases.yml +++ /dev/null @@ -1,51 +0,0 @@ -# This is a basic workflow to help you get started with Actions - -name: Run Testcases - -# Controls when the workflow will run -on: - # Triggers the workflow on push or pull request events but only for the main branch - pull_request: - branches: - - main - types: [closed] - paths-ignore: - - '**.md' - - '**.txt' - - '**.drawio' - - '**.vipb' - - '**.png' - - '**.svg' - - '**.json' - - '**.yml' - - push: - paths-ignore: - - '**.md' - - '**.txt' - - '**.drawio' - - '**.vipb' - - '**.png' - - '**.svg' - - '**.json' - - '**.yml' - -# A workflow run is made up of one or more jobs that can run sequentially or in parallel -jobs: - # This workflow contains a single job called "build" - Run-Testcases: - # The type of runner that the job will run on - runs-on: [self-hosted, lv2017] - - # Steps represent a sequence of tasks that will be executed as part of the job - steps: - # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it - - uses: actions/checkout@v3 - - - name: Run lvCICD Test cases with VITester - id: StartVITester - uses: NEVSTOP-LAB/lvCICD@main - with: - LabVIEW_Version: 2017 - Operation: StartVITester - Parameter1: ${{ github.workspace }}\CSM API String Arguments Support.lvproj diff --git a/.github/workflows/Build_VIPM_Library.yml b/.github/workflows/labview-ci.yml similarity index 59% rename from .github/workflows/Build_VIPM_Library.yml rename to .github/workflows/labview-ci.yml index 8578626..e0137dc 100644 --- a/.github/workflows/Build_VIPM_Library.yml +++ b/.github/workflows/labview-ci.yml @@ -1,6 +1,21 @@ -# This is a basic workflow to help you get started with Actions +# Merged LabVIEW CI workflow +# Combines the previous three workflows into one pipeline with the order: +# Check_Broken_VIs -> Build_VIPM_Library -> Run_Testcases +# +# Trigger paths-ignore note: +# Original workflows had slightly different ignore lists +# (Build_VIPM_Library did not ignore '**.vipb'; +# Check_Broken_VIs / Run Testcases ignored '**.vipb'). +# To keep this merged workflow triggering whenever ANY original workflow +# would have triggered, only the intersection of the ignore lists is used. -name: Build_VIPM_Library +name: LabVIEW CI + +# 同一分支/标签的多次触发只保留最新一次运行:新 push 自动取消进行中的上一次运行, +# 避免多次提交在自托管 runner 上重复构建、排队积压(与 usermanual-ci.yml 同款配置) +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true # Controls when the workflow will run on: @@ -31,16 +46,14 @@ 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: - # This workflow contains a single job called "build" - Build_VIPM_Library: + # Single job: all steps run sequentially on the SAME (self-hosted) machine. + labview_ci: # The type of runner that the job will run on runs-on: [self-hosted, lv2017] # Steps represent a sequence of tasks that will be executed as part of the job steps: - # Get env variables # https://github.com/marketplace/actions/github-environment-variables-action - uses: FranzDiebold/github-env-vars-action@v2 @@ -48,8 +61,6 @@ jobs: # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it - uses: actions/checkout@v3 - #不再依赖 Epoch Date & Time 包 - - uses: NEVSTOP-LAB/InstallNevstopPackage@main with: LabVIEW_Version: 2017 @@ -57,7 +68,18 @@ jobs: NEVSTOP-FTP-PORT: ${{ secrets.VIPM_FTP_PORT }} PackageName: Communicable-State-Machine - # Runs a set of commands using the runners shell + # --- Step 1: Check for broken VIs --- + - id: Check_Broken_VIs + uses: LV-APT/lvCICD@main + with: + LabVIEW_Version: 2017 + Operation: VIAn_CheckBrokenVIs + Parameter1: ${{ github.workspace }} + Parameter2: NOPASSWORD + Parameter3: YES + Parameter4: -placeContent + + # --- Step 2: Build the VIPM library --- - name: BuildDailyVIP id: build-vip uses: NEVSTOP-LAB/vipm-BuildViPackage@main @@ -88,3 +110,11 @@ jobs: server_dir: /${{ env.CI_REPOSITORY_OWNER_SLUG }}/${{ env.CI_REPOSITORY_NAME }}/${{ env.CI_ACTION_REF_NAME }}/ local_dir: ./vip/ + # --- Step 3: Run test cases --- + - name: Run lvCICD Test cases with VITester + id: StartVITester + uses: NEVSTOP-LAB/lvCICD@main + with: + LabVIEW_Version: 2017 + Operation: StartVITester + Parameter1: ${{ github.workspace }}\CSM API String Arguments Support.lvproj diff --git a/CSM API String Arguments Support.vipb b/CSM API String Arguments Support.vipb index 843082f..7efa028 100644 --- a/CSM API String Arguments Support.vipb +++ b/CSM API String Arguments Support.vipb @@ -1,7 +1,7 @@ - + NEVSTOP_lib_CSM_API_String_Arguments_Support - 2026.1.1.1 + 2026.7.0.1 false . vip @@ -17,7 +17,7 @@ - nevstop_lib_communicable_state_machine >=2025.9.13.224959 + nevstop_lib_communicable_state_machine >=2026.8.17.155753 nevstop_lib_jki_state_machine++ >=2023.8.5.2239 @@ -52,9 +52,7 @@ More information for the supported datatype format, please visit: https://github NEVSTOP https://github.com/NEVSTOP-LAB/CSM-API-String-Arugments-Support - [update] #109 disable <safestr> for string datatype -[fix] #105 Correct parsing and formatting of numeric values with "B" (byte) suffix, e.g. "100B" -[fix] #107 fix potential bug in "Strip Trailing Zeros for Float String.vi" + [update] #113 Enhance path support for linux, backslash & Slash could be used both be used for separator. diff --git a/addons/API-String-Arugments-Support/_Support/Convert API String Arguments to Data(variant).vi b/addons/API-String-Arugments-Support/_Support/Convert API String Arguments to Data(variant).vi index ddbd7c4..1b2bf78 100644 Binary files a/addons/API-String-Arugments-Support/_Support/Convert API String Arguments to Data(variant).vi and b/addons/API-String-Arugments-Support/_Support/Convert API String Arguments to Data(variant).vi differ diff --git a/testcases/testcase-Supported-Datatype/testcases/test - float.vi b/testcases/testcase-Supported-Datatype/testcases/test - float.vi index 6ac9d52..234770a 100644 Binary files a/testcases/testcase-Supported-Datatype/testcases/test - float.vi and b/testcases/testcase-Supported-Datatype/testcases/test - float.vi differ