Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
94 changes: 0 additions & 94 deletions .github/Build_VIPM_Library.yml

This file was deleted.

268 changes: 0 additions & 268 deletions .github/CSMStand-Lite.vipb

This file was deleted.

61 changes: 51 additions & 10 deletions .github/workflows/labview-ci.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,9 @@
# This is a basic workflow to help you get started with Actions
# LabVIEW CI 工作流:合并自 Check_Broken_VIs.yml 与 Build_VIPM_Library.yml
# 两个阶段(Check_Broken_VIs / Build-VIPM-Library)合并为单个 job,
# 保证所有步骤在同一台自托管 runner、同一工作区串行执行:
# 先检查损坏的 VI(CheckBroken)→ 再构建 VIP(Build)→ 最后上传 Artifact 并备份 FTP

name: Check_Broken_VIs
name: labview-ci

# 同一分支/标签的多次触发只保留最新一次运行:新 push 自动取消进行中的上一次运行,
# 避免多次提交在自托管 runner 上重复构建、排队积压(与 usermanual-ci.yml 同款配置)
Expand All @@ -16,7 +19,6 @@ on:
- '**.md'
- '**.txt'
- '**.drawio'
- '**.vipb'
- '**.png'
- '**.svg'
- '**.json'
Expand All @@ -31,25 +33,30 @@ on:
- '**.md'
- '**.txt'
- '**.drawio'
- '**.vipb'
- '**.png'
- '**.svg'
- '**.json'
- '**.yml'
- 'SDK/**/*'
Comment on lines 39 to 40

# 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"
Check_Broken_VIs:
# 合并 Check_Broken_VIs / Build-VIPM-Library 为单个 job,
# 保证所有步骤在同一台自托管 runner、同一工作区串行执行
LABVIEW-CI:
# The type of runner that the job will run on
runs-on: [self-hosted, lv2020]
timeout-minutes: 120

# 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
- uses: actions/checkout@v4

# 安装依赖包(一次,供检查 / 构建共用)
- uses: NEVSTOP-LAB/InstallNevstopPackage@main
with:
LabVIEW_Version: 2020
Expand All @@ -59,10 +66,9 @@ jobs:
PackageName1: CSM-MassData-Parameter-Support
PackageName2: CSM-API-String-Arguments-Support
PackageName3: CSM-INI-Static-Variable-Support
PackageName4: NEVSTOP-Programming-Palette

# Runs a set of commands using the runners shell
- id: Check_Broken_VIs
# 1. 检查仓库中是否有损坏的 VI
- id: check-broken-vis
uses: LV-APT/lvCICD@main
with:
Comment on lines 60 to 73
LabVIEW_Version: 2020
Expand All @@ -71,3 +77,38 @@ jobs:
Parameter2: NOPASSWORD
Parameter3: YES
Parameter4: -placeContent

# 2. 构建 VIPM Library:依据仓库根目录的 CSMScript-Lite.vipb 打包为 .vip
# 产物输出到 $GITHUB_WORKSPACE/vip/(即本地 ./vip/)
- name: BuildDailyVIP
id: build-vip
uses: NEVSTOP-LAB/vipm-BuildViPackage@main
with:
LabVIEW_Version: 2020
VipbPath: ${{ github.workspace }}

# 获取 CI_REPOSITORY_OWNER_SLUG / CI_REPOSITORY_NAME / CI_ACTION_REF_NAME(FTP 备份目录用)
- uses: FranzDiebold/github-env-vars-action@v2.8.0

# 3. 上传构建产物(.vip)为 Artifact
- name: Upload a Build Artifact
uses: actions/upload-artifact@v4
with:
# Artifact name
name: ${{ steps.build-vip.outputs.vipName }}
path: ${{ steps.build-vip.outputs.vipPathName }}
# The desired behavior if no files are found using the provided path.
if-no-files-found: warn
retention-days: 90

# 4. 备份构建产物到 FTP:/{org}/{repo}/{branch|tag}/
- name: backup Build Artifact by ftp
uses: dennisameling/ftp-upload-action@v1.0.9
with:
server: ${{ secrets.VIPM_FTP_IP }}
port: ${{ secrets.VIPM_FTP_PORT }}
username: ${{ secrets.VIPM_FTP_USER }}
password: ${{ secrets.VIPM_FTP_PASSWORD }}
secure: false
server_dir: /${{ env.CI_REPOSITORY_OWNER_SLUG }}/${{ env.CI_REPOSITORY_NAME }}/${{ env.CI_ACTION_REF_NAME }}/
local_dir: ./vip/
Binary file removed App/Launcher.vi
Binary file not shown.
16 changes: 10 additions & 6 deletions CSMScript-Lite.lvproj
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
<?xml version='1.0' encoding='UTF-8'?>
<Project Type="Project" LVVersion="20008000">
<Property Name="NI.LV.All.SourceOnly" Type="Bool">true</Property>
<Property Name="NI.Project.Description" Type="Str"></Property>
<Item Name="My Computer" Type="My Computer">
<Property Name="NI.SortType" Type="Int">3</Property>
<Property Name="server.app.propertiesEnabled" Type="Bool">true</Property>
Expand All @@ -11,13 +13,14 @@
<Property Name="server.vi.callsEnabled" Type="Bool">true</Property>
<Property Name="server.vi.propertiesEnabled" Type="Bool">true</Property>
<Property Name="specify.custom.address" Type="Bool">false</Property>
<Item Name="App" Type="Folder" URL="../App">
<Item Name="_Example" Type="Folder" URL="../src/_Example">
<Property Name="NI.DISK" Type="Bool">true</Property>
</Item>
<Item Name="_test" Type="Folder" URL="../_test">
<Property Name="NI.DISK" Type="Bool">true</Property>
</Item>
<Item Name="CSMScript-Engine(Lite).lvlib" Type="Library" URL="../src/CSMScript-Engine(Lite).lvlib"/>
<Item Name="CSMScript-Lite.vipb" Type="Document" URL="../CSMScript-Lite.vipb"/>
<Item Name="Dependencies" Type="Dependencies">
<Item Name="user.lib" Type="Folder">
<Item Name="API String Arguments Support.lvlib" Type="Library" URL="/&lt;userlib&gt;/_NEVSTOP/Communicable State Machine(CSM)/addons/API-String-Arugments-Support/API String Arguments Support.lvlib"/>
Expand Down Expand Up @@ -84,16 +87,17 @@
<Item Name="subFile Dialog.vi" Type="VI" URL="/&lt;vilib&gt;/express/express input/FileDialogBlock.llb/subFile Dialog.vi"/>
<Item Name="ex_CorrectErrorChain.vi" Type="VI" URL="/&lt;vilib&gt;/express/express shared/ex_CorrectErrorChain.vi"/>
<Item Name="VIAnCtl Analysis App Info.ctl" Type="VI" URL="/&lt;vilib&gt;/addons/analyzer/_analyzerctrls.llb/VIAnCtl Analysis App Info.ctl"/>
<Item Name="Is Path and Not Empty.vi" Type="VI" URL="/&lt;vilib&gt;/Utility/file.llb/Is Path and Not Empty.vi"/>
<Item Name="Check if File or Folder Exists.vi" Type="VI" URL="/&lt;vilib&gt;/Utility/libraryn.llb/Check if File or Folder Exists.vi"/>
<Item Name="NI_FileType.lvlib" Type="Library" URL="/&lt;vilib&gt;/Utility/lvfile.llb/NI_FileType.lvlib"/>
<Item Name="NI_PackedLibraryUtility.lvlib" Type="Library" URL="/&lt;vilib&gt;/Utility/LVLibp/NI_PackedLibraryUtility.lvlib"/>
<Item Name="Application Directory.vi" Type="VI" URL="/&lt;vilib&gt;/Utility/file.llb/Application Directory.vi"/>
<Item Name="Random Number (Range).vi" Type="VI" URL="/&lt;vilib&gt;/numeric/Random Number (Range).vi"/>
<Item Name="Random Number (Range) DBL.vi" Type="VI" URL="/&lt;vilib&gt;/numeric/Random Number (Range) DBL.vi"/>
<Item Name="Random Number (Range) I64.vi" Type="VI" URL="/&lt;vilib&gt;/numeric/Random Number (Range) I64.vi"/>
<Item Name="sub_Random U32.vi" Type="VI" URL="/&lt;vilib&gt;/numeric/sub_Random U32.vi"/>
<Item Name="Random Number (Range) U64.vi" Type="VI" URL="/&lt;vilib&gt;/numeric/Random Number (Range) U64.vi"/>
<Item Name="System Exec.vi" Type="VI" URL="/&lt;vilib&gt;/Platform/system.llb/System Exec.vi"/>
<Item Name="Is Path and Not Empty.vi" Type="VI" URL="/&lt;vilib&gt;/Utility/file.llb/Is Path and Not Empty.vi"/>
<Item Name="Check if File or Folder Exists.vi" Type="VI" URL="/&lt;vilib&gt;/Utility/libraryn.llb/Check if File or Folder Exists.vi"/>
<Item Name="NI_FileType.lvlib" Type="Library" URL="/&lt;vilib&gt;/Utility/lvfile.llb/NI_FileType.lvlib"/>
<Item Name="NI_PackedLibraryUtility.lvlib" Type="Library" URL="/&lt;vilib&gt;/Utility/LVLibp/NI_PackedLibraryUtility.lvlib"/>
<Item Name="Application Directory.vi" Type="VI" URL="/&lt;vilib&gt;/Utility/file.llb/Application Directory.vi"/>
</Item>
</Item>
<Item Name="Build Specifications" Type="Build">
Expand Down
Loading
Loading