From e276a99cb311952b3e4d13af7cd5bff736b9a730 Mon Sep 17 00:00:00 2001 From: Mikayla Date: Wed, 12 Apr 2023 09:51:40 -0400 Subject: [PATCH 01/21] added shields.io elements --- README.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/README.md b/README.md index 925d853..1264c7d 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,9 @@ # cc-mek-scada Configurable ComputerCraft SCADA system for multi-reactor control of Mekanism fission reactors with a GUI, automatic safety features, waste processing control, and more! +![GitHub](https://img.shields.io/github/license/MikaylaFischler/cc-mek-scada) +![GitHub release (latest by date including pre-releases)](https://img.shields.io/github/v/release/MikaylaFischler/cc-mek-scada?include_prereleases) + Mod Requirements: - CC: Tweaked - Mekanism v10.1+ From 4b1c9822928439bb1889a244d00ed47d19382ad9 Mon Sep 17 00:00:00 2001 From: Mikayla Fischler Date: Wed, 12 Apr 2023 12:13:11 -0400 Subject: [PATCH 02/21] #209 luacheck action --- .github/workflows/check.yml | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 .github/workflows/check.yml diff --git a/.github/workflows/check.yml b/.github/workflows/check.yml new file mode 100644 index 0000000..ecc0c1a --- /dev/null +++ b/.github/workflows/check.yml @@ -0,0 +1,18 @@ +name: Lua Checks + +on: + workflow_dispatch: + push: + branches: + - main + - latest +jobs: + check: + runs-on: ubuntu-latest + steps: + - name: checkout + uses: actions/checkout@v2 + - name: Luacheck + uses: lunarmodules/luacheck@v1.1.0 + with: + args: . --no-max-line-length --globals _HOST term fs peripheral rs bit parallel colors textutils shell settings window read periphemu http From c987d14d8d5010d89530227e8e913e1950b8a476 Mon Sep 17 00:00:00 2001 From: Mikayla Date: Wed, 12 Apr 2023 16:02:29 -0400 Subject: [PATCH 03/21] added Luacheck GitHub action (#210) * added shields.io elements * #209 luacheck action * #209 cleanup to pass luacheck * added check statuses to readme --- .github/workflows/check.yml | 28 +++++++++++++++++++ .vscode/settings.json | 1 - README.md | 5 ++++ coordinator/apisessions.lua | 2 ++ coordinator/coordinator.lua | 3 +- coordinator/iocontrol.lua | 4 +-- coordinator/sounder.lua | 3 +- coordinator/startup.lua | 4 +-- coordinator/ui/components/reactor.lua | 3 +- coordinator/ui/components/unit_overview.lua | 7 ++--- coordinator/ui/layout/main_view.lua | 6 ---- .../elements/controls/spinbox_numeric.lua | 3 +- graphics/elements/indicators/coremap.lua | 2 +- graphics/elements/indicators/ledrgb.lua | 2 +- install_manifest.json | 2 +- pocket/startup.lua | 8 +++--- reactor-plc/plc.lua | 6 ---- reactor-plc/startup.lua | 5 ++-- reactor-plc/threads.lua | 4 +-- rtu/dev/redstone_rtu.lua | 6 ++-- rtu/modbus.lua | 12 ++++---- rtu/rtu.lua | 7 ++--- rtu/startup.lua | 14 ++++------ rtu/threads.lua | 3 -- scada-common/crypto.lua | 23 ++++++--------- startup.lua | 2 +- supervisor/session/coordinator.lua | 8 ++---- supervisor/session/plc.lua | 5 +--- supervisor/session/rtu.lua | 9 ++---- supervisor/session/rtu/redstone.lua | 1 - supervisor/session/svsessions.lua | 2 -- supervisor/startup.lua | 4 +-- supervisor/supervisor.lua | 3 -- test/lockbox-benchmark.lua | 9 +++--- test/rstest.lua | 1 - 35 files changed, 93 insertions(+), 114 deletions(-) create mode 100644 .github/workflows/check.yml diff --git a/.github/workflows/check.yml b/.github/workflows/check.yml new file mode 100644 index 0000000..e0bcf50 --- /dev/null +++ b/.github/workflows/check.yml @@ -0,0 +1,28 @@ +name: Lua Checks + +on: + workflow_dispatch: + push: + branches: + - main + - latest + - devel + pull_request: + branches: + - main + - latest + - devel +jobs: + check: + runs-on: ubuntu-latest + steps: + - name: checkout + uses: actions/checkout@v3.5.1 + - name: Luacheck + uses: lunarmodules/luacheck@v1.1.0 + with: + # -a = disable warning for unused arguments + # -i 121 = Setting a read-only global variable. + # -u 512 = Loop can be executed at most once. + # -i 542 = An empty if branch. + args: . --no-max-line-length -a -i 121 512 542 --exclude-files ./lockbox/* ./*/config.lua --globals _HOST term fs peripheral rs bit parallel colors textutils shell settings window read periphemu http os diff --git a/.vscode/settings.json b/.vscode/settings.json index 70230fe..732eb4a 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -13,7 +13,6 @@ "window", "read", "periphemu", - "mekanismEnergyHelper", "_HOST", "http" ], diff --git a/README.md b/README.md index 925d853..464d754 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,11 @@ # cc-mek-scada Configurable ComputerCraft SCADA system for multi-reactor control of Mekanism fission reactors with a GUI, automatic safety features, waste processing control, and more! +![GitHub](https://img.shields.io/github/license/MikaylaFischler/cc-mek-scada) +![GitHub release (latest by date including pre-releases)](https://img.shields.io/github/v/release/MikaylaFischler/cc-mek-scada?include_prereleases) +![GitHub branch checks state](https://img.shields.io/github/checks-status/MikaylaFischler/cc-mek-scada/main?label=main) +![GitHub branch checks state](https://img.shields.io/github/checks-status/MikaylaFischler/cc-mek-scada/devel?label=devel) + Mod Requirements: - CC: Tweaked - Mekanism v10.1+ diff --git a/coordinator/apisessions.lua b/coordinator/apisessions.lua index 268052e..8646837 100644 --- a/coordinator/apisessions.lua +++ b/coordinator/apisessions.lua @@ -1,11 +1,13 @@ local apisessions = {} ---@param packet capi_frame +---@diagnostic disable-next-line: unused-local function apisessions.handle_packet(packet) end -- attempt to identify which session's watchdog timer fired ---@param timer_event number +---@diagnostic disable-next-line: unused-local function apisessions.check_all_watchdogs(timer_event) end diff --git a/coordinator/coordinator.lua b/coordinator/coordinator.lua index 821c82a..d8d43a2 100644 --- a/coordinator/coordinator.lua +++ b/coordinator/coordinator.lua @@ -11,7 +11,6 @@ local dialog = require("coordinator.ui.dialog") local print = util.print local println = util.println -local print_ts = util.print_ts local println_ts = util.println_ts local PROTOCOL = comms.PROTOCOL @@ -246,7 +245,7 @@ function coordinator.comms(version, modem, sv_port, sv_listen, api_listen, range ---@param msg table local function _send_sv(protocol, msg_type, msg) local s_pkt = comms.scada_packet() - local pkt = nil ---@type mgmt_packet|crdn_packet + local pkt ---@type mgmt_packet|crdn_packet if protocol == PROTOCOL.SCADA_MGMT then pkt = comms.mgmt_packet() diff --git a/coordinator/iocontrol.lua b/coordinator/iocontrol.lua index cfb3be7..ac45a2f 100644 --- a/coordinator/iocontrol.lua +++ b/coordinator/iocontrol.lua @@ -657,8 +657,8 @@ function iocontrol.update_unit_statuses(statuses) if type(rtu_statuses.rad_mon) == "table" then if #rtu_statuses.rad_mon > 0 then local rad_mon = rtu_statuses.rad_mon[1] - local rtu_faulted = rad_mon[1] ---@type boolean - unit.radiation = rad_mon[2] ---@type number + -- local rtu_faulted = rad_mon[1] ---@type boolean + unit.radiation = rad_mon[2] ---@type number unit.unit_ps.publish("radiation", unit.radiation) else diff --git a/coordinator/sounder.lua b/coordinator/sounder.lua index 6eafb8d..86fb9b4 100644 --- a/coordinator/sounder.lua +++ b/coordinator/sounder.lua @@ -12,10 +12,11 @@ local ALARM_STATE = types.ALARM_STATE ---@class sounder local sounder = {} +-- note: max samples = 0x20000 (128 * 1024 samples) + local _2_PI = 2 * math.pi -- 2 whole pies, hope you're hungry local _DRATE = 48000 -- 48kHz audio local _MAX_VAL = 127 / 2 -- max signed integer in this 8-bit audio -local _MAX_SAMPLES = 0x20000 -- 128 * 1024 samples local _05s_SAMPLES = 24000 -- half a second worth of samples local test_alarms = { false, false, false, false, false, false, false, false, false, false, false, false } diff --git a/coordinator/startup.lua b/coordinator/startup.lua index e74b6af..d59e528 100644 --- a/coordinator/startup.lua +++ b/coordinator/startup.lua @@ -21,9 +21,7 @@ local sounder = require("coordinator.sounder") local COORDINATOR_VERSION = "v0.12.6" -local print = util.print local println = util.println -local print_ts = util.print_ts local println_ts = util.println_ts local log_graphics = coordinator.log_graphics @@ -287,7 +285,7 @@ local function main() else log_sys("wired modem reconnected") end - elseif type == "monitor" then + -- elseif type == "monitor" then -- not supported, system will exit on loss of in-use monitors elseif type == "speaker" then local msg = "alarm sounder speaker reconnected" diff --git a/coordinator/ui/components/reactor.lua b/coordinator/ui/components/reactor.lua index a17fc75..db75fb1 100644 --- a/coordinator/ui/components/reactor.lua +++ b/coordinator/ui/components/reactor.lua @@ -18,9 +18,8 @@ local border = core.graphics.border ---@param root graphics_element parent ---@param x integer top left x ---@param y integer top left y ----@param data reactor_db reactor data ---@param ps psil ps interface -local function new_view(root, x, y, data, ps) +local function new_view(root, x, y, ps) local reactor = Rectangle{parent=root,border=border(1, colors.gray, true),width=30,height=7,x=x,y=y} local text_fg_bg = cpair(colors.black, colors.lightGray) diff --git a/coordinator/ui/components/unit_overview.lua b/coordinator/ui/components/unit_overview.lua index e5a07f9..24bc02e 100644 --- a/coordinator/ui/components/unit_overview.lua +++ b/coordinator/ui/components/unit_overview.lua @@ -24,19 +24,18 @@ local pipe = core.graphics.pipe ---@param y integer top left y ---@param unit ioctl_unit unit database entry local function make(parent, x, y, unit) - local height = 0 local num_boilers = #unit.boiler_data_tbl local num_turbines = #unit.turbine_data_tbl assert(num_boilers >= 0 and num_boilers <= 2, "minimum 0 boilers, maximum 2 boilers") assert(num_turbines >= 1 and num_turbines <= 3, "minimum 1 turbine, maximum 3 turbines") + local height = 25 + if num_boilers == 0 and num_turbines == 1 then height = 9 elseif num_boilers == 1 and num_turbines <= 2 then height = 17 - else - height = 25 end assert(parent.height() >= (y + height), "main display not of sufficient vertical resolution (add an additional row of monitors)") @@ -51,7 +50,7 @@ local function make(parent, x, y, unit) -- REACTOR -- ------------- - reactor_view(root, 1, 3, unit.reactor_data, unit.unit_ps) + reactor_view(root, 1, 3, unit.unit_ps) if num_boilers > 0 then local coolant_pipes = {} diff --git a/coordinator/ui/layout/main_view.lua b/coordinator/ui/layout/main_view.lua index d9a726f..5c8da4b 100644 --- a/coordinator/ui/layout/main_view.lua +++ b/coordinator/ui/layout/main_view.lua @@ -5,7 +5,6 @@ local util = require("scada-common.util") local iocontrol = require("coordinator.iocontrol") -local sounder = require("coordinator.sounder") local style = require("coordinator.ui.style") @@ -15,14 +14,9 @@ local unit_overview = require("coordinator.ui.components.unit_overview") local core = require("graphics.core") -local ColorMap = require("graphics.elements.colormap") local DisplayBox = require("graphics.elements.displaybox") -local Div = require("graphics.elements.div") local TextBox = require("graphics.elements.textbox") -local PushButton = require("graphics.elements.controls.push_button") -local SwitchButton = require("graphics.elements.controls.switch_button") - local DataIndicator = require("graphics.elements.indicators.data") local TEXT_ALIGN = core.graphics.TEXT_ALIGN diff --git a/graphics/elements/controls/spinbox_numeric.lua b/graphics/elements/controls/spinbox_numeric.lua index ffbd1f8..15e0e76 100644 --- a/graphics/elements/controls/spinbox_numeric.lua +++ b/graphics/elements/controls/spinbox_numeric.lua @@ -30,8 +30,7 @@ local function spinbox(args) assert(util.is_int(wn_prec), "graphics.element.controls.spinbox_numeric: whole number precision must be an integer") assert(util.is_int(fr_prec), "graphics.element.controls.spinbox_numeric: fractional precision must be an integer") - local fmt = "" - local fmt_init = "" + local fmt, fmt_init ---@type string, string if fr_prec > 0 then fmt = "%" .. (wn_prec + fr_prec + 1) .. "." .. fr_prec .. "f" diff --git a/graphics/elements/indicators/coremap.lua b/graphics/elements/indicators/coremap.lua index c50348b..323e17c 100644 --- a/graphics/elements/indicators/coremap.lua +++ b/graphics/elements/indicators/coremap.lua @@ -73,7 +73,7 @@ local function core_map(args) local function draw_core(t) local i = 1 local back_c = "F" - local text_c = "8" + local text_c ---@type string -- determine fuel assembly coloring if t <= 300 then diff --git a/graphics/elements/indicators/ledrgb.lua b/graphics/elements/indicators/ledrgb.lua index c58b835..e779785 100644 --- a/graphics/elements/indicators/ledrgb.lua +++ b/graphics/elements/indicators/ledrgb.lua @@ -38,7 +38,7 @@ local function indicator_led_rgb(args) e.value = new_state e.window.setCursorPos(1, 1) if type(args.colors[new_state]) == "number" then - e.window.blit("\x8c", colors.toBlit(args.colors[new_state]), e.fg_bg.blit_bkg) + e.window.blit("\x8c", colors.toBlit(args.colors[new_state]), e.fg_bg.blit_bkg) end end diff --git a/install_manifest.json b/install_manifest.json index e0413fe..c75fc9e 100644 --- a/install_manifest.json +++ b/install_manifest.json @@ -1 +1 @@ -{"versions": {"installer": "v1.0", "bootloader": "0.2", "comms": "1.4.0", "reactor-plc": "v1.1.5", "rtu": "v0.13.2", "supervisor": "v0.14.3", "coordinator": "v0.12.6", "pocket": "alpha-v0.0.0"}, "files": {"system": ["initenv.lua", "startup.lua"], "common": ["scada-common/crypto.lua", "scada-common/ppm.lua", "scada-common/comms.lua", "scada-common/psil.lua", "scada-common/tcallbackdsp.lua", "scada-common/rsio.lua", "scada-common/constants.lua", "scada-common/mqueue.lua", "scada-common/crash.lua", "scada-common/log.lua", "scada-common/types.lua", "scada-common/util.lua"], "graphics": ["graphics/element.lua", "graphics/flasher.lua", "graphics/core.lua", "graphics/elements/textbox.lua", "graphics/elements/displaybox.lua", "graphics/elements/pipenet.lua", "graphics/elements/rectangle.lua", "graphics/elements/div.lua", "graphics/elements/tiling.lua", "graphics/elements/colormap.lua", "graphics/elements/indicators/alight.lua", "graphics/elements/indicators/icon.lua", "graphics/elements/indicators/power.lua", "graphics/elements/indicators/rad.lua", "graphics/elements/indicators/state.lua", "graphics/elements/indicators/light.lua", "graphics/elements/indicators/vbar.lua", "graphics/elements/indicators/led.lua", "graphics/elements/indicators/coremap.lua", "graphics/elements/indicators/data.lua", "graphics/elements/indicators/ledpair.lua", "graphics/elements/indicators/hbar.lua", "graphics/elements/indicators/trilight.lua", "graphics/elements/indicators/ledrgb.lua", "graphics/elements/controls/switch_button.lua", "graphics/elements/controls/spinbox_numeric.lua", "graphics/elements/controls/hazard_button.lua", "graphics/elements/controls/push_button.lua", "graphics/elements/controls/radio_button.lua", "graphics/elements/controls/multi_button.lua", "graphics/elements/animations/waiting.lua"], "lockbox": ["lockbox/init.lua", "lockbox/LICENSE", "lockbox/kdf/pbkdf2.lua", "lockbox/util/bit.lua", "lockbox/util/array.lua", "lockbox/util/stream.lua", "lockbox/util/queue.lua", "lockbox/digest/sha2_224.lua", "lockbox/digest/sha1.lua", "lockbox/digest/sha2_256.lua", "lockbox/cipher/aes128.lua", "lockbox/cipher/aes256.lua", "lockbox/cipher/aes192.lua", "lockbox/cipher/mode/ofb.lua", "lockbox/cipher/mode/cbc.lua", "lockbox/cipher/mode/ctr.lua", "lockbox/cipher/mode/cfb.lua", "lockbox/mac/hmac.lua", "lockbox/padding/ansix923.lua", "lockbox/padding/pkcs7.lua", "lockbox/padding/zero.lua", "lockbox/padding/isoiec7816.lua"], "reactor-plc": ["reactor-plc/renderer.lua", "reactor-plc/threads.lua", "reactor-plc/databus.lua", "reactor-plc/plc.lua", "reactor-plc/config.lua", "reactor-plc/startup.lua", "reactor-plc/panel/front_panel.lua", "reactor-plc/panel/style.lua"], "rtu": ["rtu/threads.lua", "rtu/rtu.lua", "rtu/modbus.lua", "rtu/config.lua", "rtu/startup.lua", "rtu/dev/sps_rtu.lua", "rtu/dev/envd_rtu.lua", "rtu/dev/boilerv_rtu.lua", "rtu/dev/redstone_rtu.lua", "rtu/dev/sna_rtu.lua", "rtu/dev/imatrix_rtu.lua", "rtu/dev/turbinev_rtu.lua"], "supervisor": ["supervisor/supervisor.lua", "supervisor/unit.lua", "supervisor/config.lua", "supervisor/startup.lua", "supervisor/unitlogic.lua", "supervisor/facility.lua", "supervisor/session/coordinator.lua", "supervisor/session/svqtypes.lua", "supervisor/session/svsessions.lua", "supervisor/session/rtu.lua", "supervisor/session/plc.lua", "supervisor/session/rsctl.lua", "supervisor/session/rtu/boilerv.lua", "supervisor/session/rtu/txnctrl.lua", "supervisor/session/rtu/unit_session.lua", "supervisor/session/rtu/turbinev.lua", "supervisor/session/rtu/envd.lua", "supervisor/session/rtu/imatrix.lua", "supervisor/session/rtu/sps.lua", "supervisor/session/rtu/qtypes.lua", "supervisor/session/rtu/sna.lua", "supervisor/session/rtu/redstone.lua"], "coordinator": ["coordinator/coordinator.lua", "coordinator/renderer.lua", "coordinator/iocontrol.lua", "coordinator/sounder.lua", "coordinator/config.lua", "coordinator/startup.lua", "coordinator/apisessions.lua", "coordinator/process.lua", "coordinator/ui/dialog.lua", "coordinator/ui/style.lua", "coordinator/ui/layout/main_view.lua", "coordinator/ui/layout/unit_view.lua", "coordinator/ui/components/reactor.lua", "coordinator/ui/components/processctl.lua", "coordinator/ui/components/unit_overview.lua", "coordinator/ui/components/boiler.lua", "coordinator/ui/components/unit_detail.lua", "coordinator/ui/components/imatrix.lua", "coordinator/ui/components/unit_waiting.lua", "coordinator/ui/components/turbine.lua"], "pocket": ["pocket/pocket.lua", "pocket/renderer.lua", "pocket/config.lua", "pocket/startup.lua", "pocket/ui/main.lua", "pocket/ui/style.lua", "pocket/ui/components/conn_waiting.lua"]}, "depends": {"reactor-plc": ["system", "common", "graphics"], "rtu": ["system", "common"], "supervisor": ["system", "common"], "coordinator": ["system", "common", "graphics"], "pocket": ["system", "common", "graphics"]}, "sizes": {"manifest": 5040, "system": 1982, "common": 90101, "graphics": 111150, "lockbox": 100797, "reactor-plc": 95087, "rtu": 86291, "supervisor": 274510, "coordinator": 181151, "pocket": 9122}} \ No newline at end of file +{"versions": {"installer": "v1.0", "bootloader": "0.2", "comms": "1.4.0", "reactor-plc": "v1.1.5", "rtu": "v0.13.3", "supervisor": "v0.14.4", "coordinator": "v0.12.6", "pocket": "alpha-v0.0.0"}, "files": {"system": ["initenv.lua", "startup.lua"], "common": ["scada-common/crypto.lua", "scada-common/ppm.lua", "scada-common/comms.lua", "scada-common/psil.lua", "scada-common/tcallbackdsp.lua", "scada-common/rsio.lua", "scada-common/constants.lua", "scada-common/mqueue.lua", "scada-common/crash.lua", "scada-common/log.lua", "scada-common/types.lua", "scada-common/util.lua"], "graphics": ["graphics/element.lua", "graphics/flasher.lua", "graphics/core.lua", "graphics/elements/textbox.lua", "graphics/elements/displaybox.lua", "graphics/elements/pipenet.lua", "graphics/elements/rectangle.lua", "graphics/elements/div.lua", "graphics/elements/tiling.lua", "graphics/elements/colormap.lua", "graphics/elements/indicators/alight.lua", "graphics/elements/indicators/icon.lua", "graphics/elements/indicators/power.lua", "graphics/elements/indicators/rad.lua", "graphics/elements/indicators/state.lua", "graphics/elements/indicators/light.lua", "graphics/elements/indicators/vbar.lua", "graphics/elements/indicators/led.lua", "graphics/elements/indicators/coremap.lua", "graphics/elements/indicators/data.lua", "graphics/elements/indicators/ledpair.lua", "graphics/elements/indicators/hbar.lua", "graphics/elements/indicators/trilight.lua", "graphics/elements/indicators/ledrgb.lua", "graphics/elements/controls/switch_button.lua", "graphics/elements/controls/spinbox_numeric.lua", "graphics/elements/controls/hazard_button.lua", "graphics/elements/controls/push_button.lua", "graphics/elements/controls/radio_button.lua", "graphics/elements/controls/multi_button.lua", "graphics/elements/animations/waiting.lua"], "lockbox": ["lockbox/init.lua", "lockbox/LICENSE", "lockbox/kdf/pbkdf2.lua", "lockbox/util/bit.lua", "lockbox/util/array.lua", "lockbox/util/stream.lua", "lockbox/util/queue.lua", "lockbox/digest/sha2_224.lua", "lockbox/digest/sha1.lua", "lockbox/digest/sha2_256.lua", "lockbox/cipher/aes128.lua", "lockbox/cipher/aes256.lua", "lockbox/cipher/aes192.lua", "lockbox/cipher/mode/ofb.lua", "lockbox/cipher/mode/cbc.lua", "lockbox/cipher/mode/ctr.lua", "lockbox/cipher/mode/cfb.lua", "lockbox/mac/hmac.lua", "lockbox/padding/ansix923.lua", "lockbox/padding/pkcs7.lua", "lockbox/padding/zero.lua", "lockbox/padding/isoiec7816.lua"], "reactor-plc": ["reactor-plc/renderer.lua", "reactor-plc/threads.lua", "reactor-plc/databus.lua", "reactor-plc/plc.lua", "reactor-plc/config.lua", "reactor-plc/startup.lua", "reactor-plc/panel/front_panel.lua", "reactor-plc/panel/style.lua"], "rtu": ["rtu/threads.lua", "rtu/rtu.lua", "rtu/modbus.lua", "rtu/config.lua", "rtu/startup.lua", "rtu/dev/sps_rtu.lua", "rtu/dev/envd_rtu.lua", "rtu/dev/boilerv_rtu.lua", "rtu/dev/redstone_rtu.lua", "rtu/dev/sna_rtu.lua", "rtu/dev/imatrix_rtu.lua", "rtu/dev/turbinev_rtu.lua"], "supervisor": ["supervisor/supervisor.lua", "supervisor/unit.lua", "supervisor/config.lua", "supervisor/startup.lua", "supervisor/unitlogic.lua", "supervisor/facility.lua", "supervisor/session/coordinator.lua", "supervisor/session/svqtypes.lua", "supervisor/session/svsessions.lua", "supervisor/session/rtu.lua", "supervisor/session/plc.lua", "supervisor/session/rsctl.lua", "supervisor/session/rtu/boilerv.lua", "supervisor/session/rtu/txnctrl.lua", "supervisor/session/rtu/unit_session.lua", "supervisor/session/rtu/turbinev.lua", "supervisor/session/rtu/envd.lua", "supervisor/session/rtu/imatrix.lua", "supervisor/session/rtu/sps.lua", "supervisor/session/rtu/qtypes.lua", "supervisor/session/rtu/sna.lua", "supervisor/session/rtu/redstone.lua"], "coordinator": ["coordinator/coordinator.lua", "coordinator/renderer.lua", "coordinator/iocontrol.lua", "coordinator/sounder.lua", "coordinator/config.lua", "coordinator/startup.lua", "coordinator/apisessions.lua", "coordinator/process.lua", "coordinator/ui/dialog.lua", "coordinator/ui/style.lua", "coordinator/ui/layout/main_view.lua", "coordinator/ui/layout/unit_view.lua", "coordinator/ui/components/reactor.lua", "coordinator/ui/components/processctl.lua", "coordinator/ui/components/unit_overview.lua", "coordinator/ui/components/boiler.lua", "coordinator/ui/components/unit_detail.lua", "coordinator/ui/components/imatrix.lua", "coordinator/ui/components/unit_waiting.lua", "coordinator/ui/components/turbine.lua"], "pocket": ["pocket/config.lua", "pocket/startup.lua"]}, "depends": {"reactor-plc": ["system", "common", "graphics"], "rtu": ["system", "common"], "supervisor": ["system", "common"], "coordinator": ["system", "common", "graphics"], "pocket": ["system", "common", "graphics"]}, "sizes": {"manifest": 4909, "system": 1991, "common": 91556, "graphics": 111156, "lockbox": 100797, "reactor-plc": 94599, "rtu": 86149, "supervisor": 273852, "coordinator": 180746, "pocket": 347}} \ No newline at end of file diff --git a/pocket/startup.lua b/pocket/startup.lua index 032bba9..3782412 100644 --- a/pocket/startup.lua +++ b/pocket/startup.lua @@ -6,11 +6,11 @@ require("/initenv").init_env() local util = require("scada-common.util") -local POCKET_VERSION = "alpha-v0.0.0" +-- local POCKET_VERSION = "alpha-v0.0.0" -local print = util.print +-- local print = util.print local println = util.println -local print_ts = util.print_ts -local println_ts = util.println_ts +-- local print_ts = util.print_ts +-- local println_ts = util.println_ts println("Sorry, this isn't written yet :(") diff --git a/reactor-plc/plc.lua b/reactor-plc/plc.lua index 2879290..2faefb5 100644 --- a/reactor-plc/plc.lua +++ b/reactor-plc/plc.lua @@ -68,11 +68,6 @@ function plc.rps_init(reactor, is_formed, emer_cool) end end - -- clear reactor access fault flag - local function _clear_fault() - self.state[state_keys.fault] = false - end - -- set emergency coolant control (if configured) ---@param state boolean true to enable emergency coolant, false to disable local function _set_emer_cool(state) @@ -779,7 +774,6 @@ function plc.comms(id, version, modem, local_port, server_port, range, reactor, ---@param setpoints setpoints setpoint control table function public.handle_packet(packet, plc_state, setpoints) -- print a log message to the terminal as long as the UI isn't running - local function println(message) if not plc_state.fp_ok then util.println(message) end end local function println_ts(message) if not plc_state.fp_ok then util.println_ts(message) end end -- handle packets now that we have prints setup diff --git a/reactor-plc/startup.lua b/reactor-plc/startup.lua index 0596f14..010c36e 100644 --- a/reactor-plc/startup.lua +++ b/reactor-plc/startup.lua @@ -20,9 +20,7 @@ local threads = require("reactor-plc.threads") local R_PLC_VERSION = "v1.1.5" -local print = util.print local println = util.println -local print_ts = util.print_ts local println_ts = util.println_ts ---------------------------------------- @@ -176,8 +174,9 @@ local function main() -- front panel time! if not renderer.ui_ready() then - local message = nil + local message plc_state.fp_ok, message = pcall(renderer.start_ui) + if not plc_state.fp_ok then renderer.close_ui() println_ts(util.c("UI error: ", message)) diff --git a/reactor-plc/threads.lua b/reactor-plc/threads.lua index c307999..8470430 100644 --- a/reactor-plc/threads.lua +++ b/reactor-plc/threads.lua @@ -34,7 +34,6 @@ local MQ__COMM_CMD = { ---@param init function function threads.thread__main(smem, init) -- print a log message to the terminal as long as the UI isn't running - local function println(message) if not smem.plc_state.fp_ok then util.println(message) end end local function println_ts(message) if not smem.plc_state.fp_ok then util.println_ts(message) end end ---@class parallel_thread @@ -307,7 +306,6 @@ end ---@param smem plc_shared_memory function threads.thread__rps(smem) -- print a log message to the terminal as long as the UI isn't running - local function println(message) if not smem.plc_state.fp_ok then util.println(message) end end local function println_ts(message) if not smem.plc_state.fp_ok then util.println_ts(message) end end ---@class parallel_thread @@ -682,7 +680,7 @@ function threads.thread__setpoint_control(smem) -- we yielded, check enable again if setpoints.burn_rate_en and (type(current_burn_rate) == "number") and (current_burn_rate ~= setpoints.burn_rate) then -- calculate new burn rate - local new_burn_rate = current_burn_rate + local new_burn_rate ---@type number if setpoints.burn_rate > current_burn_rate then -- need to ramp up diff --git a/rtu/dev/redstone_rtu.lua b/rtu/dev/redstone_rtu.lua index c482999..c073250 100644 --- a/rtu/dev/redstone_rtu.lua +++ b/rtu/dev/redstone_rtu.lua @@ -34,7 +34,7 @@ function redstone_rtu.new() ---@param side string ---@param color integer function public.link_di(side, color) - local f_read = nil + local f_read ---@type function if color then f_read = function () @@ -53,8 +53,8 @@ function redstone_rtu.new() ---@param side string ---@param color integer function public.link_do(side, color) - local f_read = nil - local f_write = nil + local f_read ---@type function + local f_write ---@type function if color then f_read = function () diff --git a/rtu/modbus.lua b/rtu/modbus.lua index 20c5939..06c1273 100644 --- a/rtu/modbus.lua +++ b/rtu/modbus.lua @@ -347,11 +347,9 @@ function modbus.new(rtu_dev, use_parallel_read) response = { MODBUS_EXCODE.NEG_ACKNOWLEDGE } end - -- default is to echo back - local func_code = packet.func_code - - -- echo back with error flag, on success the "error" will be acknowledgement - func_code = bit.bor(packet.func_code, MODBUS_FCODE.ERROR_FLAG) + -- default is to echo back
+ -- but here we echo back with error flag, on success the "error" will be acknowledgement + local func_code = bit.bor(packet.func_code, MODBUS_FCODE.ERROR_FLAG) -- create reply local reply = comms.modbus_packet() @@ -365,8 +363,8 @@ function modbus.new(rtu_dev, use_parallel_read) ---@param packet modbus_frame ---@return boolean return_code, modbus_packet reply function public.handle_packet(packet) - local return_code = true - local response = nil + local return_code ---@type boolean + local response ---@type table|MODBUS_EXCODE if packet.length >= 2 then -- handle by function code diff --git a/rtu/rtu.lua b/rtu/rtu.lua index a1b9fbd..b8dee99 100644 --- a/rtu/rtu.lua +++ b/rtu/rtu.lua @@ -14,9 +14,6 @@ local ESTABLISH_ACK = comms.ESTABLISH_ACK local SCADA_MGMT_TYPE = comms.SCADA_MGMT_TYPE local RTU_UNIT_TYPE = types.RTU_UNIT_TYPE -local print = util.print -local println = util.println -local print_ts = util.print_ts local println_ts = util.println_ts -- create a new RTU unit @@ -347,8 +344,8 @@ function rtu.comms(version, modem, local_port, server_port, range, conn_watchdog if protocol == PROTOCOL.MODBUS_TCP then ---@cast packet modbus_frame if rtu_state.linked then - local return_code = false - local reply = modbus.reply__neg_ack(packet) + local return_code ---@type boolean + local reply ---@type modbus_packet -- handle MODBUS instruction if packet.unit_id <= #units then diff --git a/rtu/startup.lua b/rtu/startup.lua index 40c0498..2ebbd8d 100644 --- a/rtu/startup.lua +++ b/rtu/startup.lua @@ -25,13 +25,11 @@ local sna_rtu = require("rtu.dev.sna_rtu") local sps_rtu = require("rtu.dev.sps_rtu") local turbinev_rtu = require("rtu.dev.turbinev_rtu") -local RTU_VERSION = "v0.13.2" +local RTU_VERSION = "v0.13.3" local RTU_UNIT_TYPE = types.RTU_UNIT_TYPE -local print = util.print local println = util.println -local print_ts = util.print_ts local println_ts = util.println_ts ---------------------------------------- @@ -287,9 +285,9 @@ local function main() local device = ppm.get_periph(name) - local type = nil ---@type string|nil - local rtu_iface = nil ---@type rtu_device - local rtu_type = nil ---@type RTU_UNIT_TYPE + local type ---@type string|nil + local rtu_iface ---@type rtu_device + local rtu_type ---@type RTU_UNIT_TYPE local is_multiblock = false ---@type boolean local formed = nil ---@type boolean|nil local faulted = nil ---@type boolean|nil @@ -356,11 +354,11 @@ local function main() elseif type == "solarNeutronActivator" then -- SNA rtu_type = RTU_UNIT_TYPE.SNA - rtu_iface, _ = sna_rtu.new(device) + rtu_iface, faulted = sna_rtu.new(device) elseif type == "environmentDetector" then -- advanced peripherals environment detector rtu_type = RTU_UNIT_TYPE.ENV_DETECTOR - rtu_iface, _ = envd_rtu.new(device) + rtu_iface, faulted = envd_rtu.new(device) elseif type == ppm.VIRTUAL_DEVICE_TYPE then -- placeholder device rtu_type = RTU_UNIT_TYPE.VIRTUAL diff --git a/rtu/threads.lua b/rtu/threads.lua index 27ad68e..7b2a6fa 100644 --- a/rtu/threads.lua +++ b/rtu/threads.lua @@ -17,9 +17,6 @@ local threads = {} local RTU_UNIT_TYPE = types.RTU_UNIT_TYPE -local print = util.print -local println = util.println -local print_ts = util.print_ts local println_ts = util.println_ts local MAIN_CLOCK = 2 -- (2Hz, 40 ticks) diff --git a/scada-common/crypto.lua b/scada-common/crypto.lua index a1053bf..4417ae3 100644 --- a/scada-common/crypto.lua +++ b/scada-common/crypto.lua @@ -5,7 +5,6 @@ local aes128 = require("lockbox.cipher.aes128") local ctr_mode = require("lockbox.cipher.mode.ctr") local sha1 = require("lockbox.digest.sha1") -local sha2_224 = require("lockbox.digest.sha2_224") local sha2_256 = require("lockbox.digest.sha2_256") local pbkdf2 = require("lockbox.kdf.pbkdf2") local hmac = require("lockbox.mac.hmac") @@ -157,10 +156,6 @@ end -- wrap a modem as a secure modem to send encrypted traffic ---@param modem table modem to wrap function crypto.secure_modem(modem) - local self = { - modem = modem - } - ---@class secure_modem ---@field open function ---@field isOpen function @@ -177,17 +172,17 @@ function crypto.secure_modem(modem) local public = {} -- wrap a modem - ---@param modem table + ---@param reconnected_modem table ---@diagnostic disable-next-line: redefined-local - function public.wrap(modem) - self.modem = modem - for key, func in pairs(self.modem) do + function public.wrap(reconnected_modem) + modem = reconnected_modem + for key, func in pairs(modem) do public[key] = func end end -- wrap modem functions, then we replace transmit - public.wrap(self.modem) + public.wrap(modem) -- send a packet with encryption ---@param channel integer @@ -198,9 +193,9 @@ function crypto.secure_modem(modem) local iv, ciphertext = crypto.encrypt(plaintext) ---@diagnostic disable-next-line: redefined-local - local hmac = crypto.hmac(iv .. ciphertext) + local computed_hmac = crypto.hmac(iv .. ciphertext) - self.modem.transmit(channel, reply_channel, { hmac, iv, ciphertext }) + modem.transmit(channel, reply_channel, { computed_hmac, iv, ciphertext }) end -- parse in a modem message as a network packet @@ -217,13 +212,13 @@ function crypto.secure_modem(modem) if type(message) == "table" then if #message == 3 then ---@diagnostic disable-next-line: redefined-local - local hmac = message[1] + local rx_hmac = message[1] local iv = message[2] local ciphertext = message[3] local computed_hmac = crypto.hmac(iv .. ciphertext) - if hmac == computed_hmac then + if rx_hmac == computed_hmac then -- message intact local plaintext = crypto.decrypt(iv, ciphertext) body = textutils.unserialize(plaintext) diff --git a/startup.lua b/startup.lua index 482c919..d312de3 100644 --- a/startup.lua +++ b/startup.lua @@ -7,7 +7,7 @@ local println_ts = util.println_ts println("SCADA BOOTLOADER V" .. BOOTLOADER_VERSION) -local exit_code = false +local exit_code ---@type boolean println_ts("BOOT> SCANNING FOR APPLICATIONS...") diff --git a/supervisor/session/coordinator.lua b/supervisor/session/coordinator.lua index 44dbefe..ad706e8 100644 --- a/supervisor/session/coordinator.lua +++ b/supervisor/session/coordinator.lua @@ -16,16 +16,12 @@ local FAC_COMMAND = comms.FAC_COMMAND local RTU_UNIT_TYPE = types.RTU_UNIT_TYPE -local SV_Q_CMDS = svqtypes.SV_Q_CMDS local SV_Q_DATA = svqtypes.SV_Q_DATA -local print = util.print local println = util.println -local print_ts = util.print_ts -local println_ts = util.println_ts -- retry time constants in ms -local INITIAL_WAIT = 1500 +-- local INITIAL_WAIT = 1500 local RETRY_PERIOD = 1000 local PARTIAL_RETRY_PERIOD = 2000 @@ -198,7 +194,7 @@ function coordinator.new_session(id, in_queue, out_queue, timeout, facility) -- keep alive reply if pkt.length == 2 then local srv_start = pkt.data[1] - local coord_send = pkt.data[2] + -- local coord_send = pkt.data[2] local srv_now = util.time() self.last_rtt = srv_now - srv_start diff --git a/supervisor/session/plc.lua b/supervisor/session/plc.lua index 3bba325..40efd8c 100644 --- a/supervisor/session/plc.lua +++ b/supervisor/session/plc.lua @@ -14,10 +14,7 @@ local SCADA_MGMT_TYPE = comms.SCADA_MGMT_TYPE local PLC_AUTO_ACK = comms.PLC_AUTO_ACK local UNIT_COMMAND = comms.UNIT_COMMAND -local print = util.print local println = util.println -local print_ts = util.print_ts -local println_ts = util.println_ts -- retry time constants in ms local INITIAL_WAIT = 1500 @@ -476,7 +473,7 @@ function plc.new_session(id, reactor_id, in_queue, out_queue, timeout) -- keep alive reply if pkt.length == 2 then local srv_start = pkt.data[1] - local plc_send = pkt.data[2] + -- local plc_send = pkt.data[2] local srv_now = util.time() self.last_rtt = srv_now - srv_start diff --git a/supervisor/session/rtu.lua b/supervisor/session/rtu.lua index d265cad..da5648c 100644 --- a/supervisor/session/rtu.lua +++ b/supervisor/session/rtu.lua @@ -22,10 +22,7 @@ local PROTOCOL = comms.PROTOCOL local SCADA_MGMT_TYPE = comms.SCADA_MGMT_TYPE local RTU_UNIT_TYPE = types.RTU_UNIT_TYPE -local print = util.print local println = util.println -local print_ts = util.print_ts -local println_ts = util.println_ts local PERIODICS = { KEEP_ALIVE = 2000 @@ -78,9 +75,7 @@ function rtu.new_session(id, in_queue, out_queue, timeout, advertisement, facili end for i = 1, #self.advert do - local unit = nil ---@type unit_session|nil - local rs_in_q = nil ---@type mqueue|nil - local tbv_in_q = nil ---@type mqueue|nil + local unit = nil ---@type unit_session|nil ---@type rtu_advertisement local unit_advert = { @@ -242,7 +237,7 @@ function rtu.new_session(id, in_queue, out_queue, timeout, advertisement, facili -- keep alive reply if pkt.length == 2 then local srv_start = pkt.data[1] - local rtu_send = pkt.data[2] + -- local rtu_send = pkt.data[2] local srv_now = util.time() self.last_rtt = srv_now - srv_start diff --git a/supervisor/session/rtu/redstone.lua b/supervisor/session/rtu/redstone.lua index 7c813a2..65831d6 100644 --- a/supervisor/session/rtu/redstone.lua +++ b/supervisor/session/rtu/redstone.lua @@ -12,7 +12,6 @@ local MODBUS_FCODE = types.MODBUS_FCODE local IO_PORT = rsio.IO local IO_LVL = rsio.IO_LVL -local IO_DIR = rsio.IO_DIR local IO_MODE = rsio.IO_MODE local TXN_READY = -1 diff --git a/supervisor/session/svsessions.lua b/supervisor/session/svsessions.lua index 76fb6d1..aa3506b 100644 --- a/supervisor/session/svsessions.lua +++ b/supervisor/session/svsessions.lua @@ -13,12 +13,10 @@ local rtu = require("supervisor.session.rtu") -- Supervisor Sessions Handler -local SV_Q_CMDS = svqtypes.SV_Q_CMDS local SV_Q_DATA = svqtypes.SV_Q_DATA local PLC_S_CMDS = plc.PLC_S_CMDS local PLC_S_DATA = plc.PLC_S_DATA -local CRD_S_CMDS = coordinator.CRD_S_CMDS local CRD_S_DATA = coordinator.CRD_S_DATA local svsessions = {} diff --git a/supervisor/startup.lua b/supervisor/startup.lua index 14e7bb3..87bd902 100644 --- a/supervisor/startup.lua +++ b/supervisor/startup.lua @@ -14,11 +14,9 @@ local svsessions = require("supervisor.session.svsessions") local config = require("supervisor.config") local supervisor = require("supervisor.supervisor") -local SUPERVISOR_VERSION = "v0.14.3" +local SUPERVISOR_VERSION = "v0.14.4" -local print = util.print local println = util.println -local print_ts = util.print_ts local println_ts = util.println_ts ---------------------------------------- diff --git a/supervisor/supervisor.lua b/supervisor/supervisor.lua index 848dfc3..937dac8 100644 --- a/supervisor/supervisor.lua +++ b/supervisor/supervisor.lua @@ -11,10 +11,7 @@ local DEVICE_TYPE = comms.DEVICE_TYPE local ESTABLISH_ACK = comms.ESTABLISH_ACK local SCADA_MGMT_TYPE = comms.SCADA_MGMT_TYPE -local print = util.print local println = util.println -local print_ts = util.print_ts -local println_ts = util.println_ts -- supervisory controller communications ---@nodiscard diff --git a/test/lockbox-benchmark.lua b/test/lockbox-benchmark.lua index 0191c2a..198f41b 100644 --- a/test/lockbox-benchmark.lua +++ b/test/lockbox-benchmark.lua @@ -4,14 +4,14 @@ local pbkdf2 = require("lockbox.kdf.pbkdf2") local AES128Cipher = require("lockbox.cipher.aes128") local HMAC = require("lockbox.mac.hmac") local SHA1 = require("lockbox.digest.sha1") -local SHA2_224 = require("lockbox.digest.sha2_224") +-- local SHA2_224 = require("lockbox.digest.sha2_224") local SHA2_256 = require("lockbox.digest.sha2_256") local Stream = require("lockbox.util.stream") local Array = require("lockbox.util.array") -local CBCMode = require("lockbox.cipher.mode.cbc") -local CFBMode = require("lockbox.cipher.mode.cfb") -local OFBMode = require("lockbox.cipher.mode.ofb") +-- local CBCMode = require("lockbox.cipher.mode.cbc") +-- local CFBMode = require("lockbox.cipher.mode.cfb") +-- local OFBMode = require("lockbox.cipher.mode.ofb") local CTRMode = require("lockbox.cipher.mode.ctr") local ZeroPadding = require("lockbox.padding.zero") @@ -35,6 +35,7 @@ util.println("pbkdf2: took " .. (util.time() - start) .. "ms") util.println(keyd.asHex()) local pkt = comms.modbus_packet() +---@diagnostic disable-next-line: param-type-mismatch pkt.make(1, 2, 7, {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}) local spkt = comms.scada_packet() spkt.make(1, 1, pkt.raw_sendable()) diff --git a/test/rstest.lua b/test/rstest.lua index d195fc6..e322e28 100644 --- a/test/rstest.lua +++ b/test/rstest.lua @@ -10,7 +10,6 @@ local println = util.println local IO = rsio.IO local IO_LVL = rsio.IO_LVL -local IO_DIR = rsio.IO_DIR local IO_MODE = rsio.IO_MODE println("starting RSIO tester") From df0ee7c4f7e6b90ce9df22ac1a9ffdf1514ebd03 Mon Sep 17 00:00:00 2001 From: Mikayla Fischler Date: Wed, 12 Apr 2023 16:07:15 -0400 Subject: [PATCH 04/21] updated shields readme elements --- README.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 464d754..89cd3f4 100644 --- a/README.md +++ b/README.md @@ -3,8 +3,9 @@ Configurable ComputerCraft SCADA system for multi-reactor control of Mekanism fi ![GitHub](https://img.shields.io/github/license/MikaylaFischler/cc-mek-scada) ![GitHub release (latest by date including pre-releases)](https://img.shields.io/github/v/release/MikaylaFischler/cc-mek-scada?include_prereleases) -![GitHub branch checks state](https://img.shields.io/github/checks-status/MikaylaFischler/cc-mek-scada/main?label=main) -![GitHub branch checks state](https://img.shields.io/github/checks-status/MikaylaFischler/cc-mek-scada/devel?label=devel) +![GitHub Workflow Status (with branch)](https://img.shields.io/github/actions/workflow/status/MikaylaFischler/cc-mek-scada/check.yml?branch=main&label=main) +![GitHub Workflow Status (with branch)](https://img.shields.io/github/actions/workflow/status/MikaylaFischler/cc-mek-scada/check.yml?branch=latest&label=latest) +![GitHub Workflow Status (with branch)](https://img.shields.io/github/actions/workflow/status/MikaylaFischler/cc-mek-scada/check.yml?branch=devel&label=devel) Mod Requirements: - CC: Tweaked From 5c333c2a07f392f83dd982f7bfe2e19f3a50501a Mon Sep 17 00:00:00 2001 From: Mikayla Fischler Date: Wed, 12 Apr 2023 17:04:28 -0400 Subject: [PATCH 05/21] test for adding subversions to shields.io --- .github/shields.io/bootloader.json | 1 + .github/shields.io/comms.json | 1 + .github/shields.io/coordinator.json | 1 + .github/shields.io/installer.json | 1 + .github/shields.io/pocket.json | 1 + .github/shields.io/reactor-plc.json | 1 + .github/shields.io/rtu.json | 1 + .github/shields.io/supervisor.json | 1 + imgen.py | 24 +++++++++++++++++++++++- install_manifest.json | 2 +- 10 files changed, 32 insertions(+), 2 deletions(-) create mode 100644 .github/shields.io/bootloader.json create mode 100644 .github/shields.io/comms.json create mode 100644 .github/shields.io/coordinator.json create mode 100644 .github/shields.io/installer.json create mode 100644 .github/shields.io/pocket.json create mode 100644 .github/shields.io/reactor-plc.json create mode 100644 .github/shields.io/rtu.json create mode 100644 .github/shields.io/supervisor.json diff --git a/.github/shields.io/bootloader.json b/.github/shields.io/bootloader.json new file mode 100644 index 0000000..d7303d3 --- /dev/null +++ b/.github/shields.io/bootloader.json @@ -0,0 +1 @@ +{"schemaVersion": 1, "label": "bootloader", "message": "0.2", "color": "blue"} \ No newline at end of file diff --git a/.github/shields.io/comms.json b/.github/shields.io/comms.json new file mode 100644 index 0000000..bc8e4ac --- /dev/null +++ b/.github/shields.io/comms.json @@ -0,0 +1 @@ +{"schemaVersion": 1, "label": "comms", "message": "1.4.0", "color": "blue"} \ No newline at end of file diff --git a/.github/shields.io/coordinator.json b/.github/shields.io/coordinator.json new file mode 100644 index 0000000..76d7be2 --- /dev/null +++ b/.github/shields.io/coordinator.json @@ -0,0 +1 @@ +{"schemaVersion": 1, "label": "coordinator", "message": "v0.12.6", "color": "blue"} \ No newline at end of file diff --git a/.github/shields.io/installer.json b/.github/shields.io/installer.json new file mode 100644 index 0000000..4bfe644 --- /dev/null +++ b/.github/shields.io/installer.json @@ -0,0 +1 @@ +{"schemaVersion": 1, "label": "installer", "message": "v1.0", "color": "blue"} \ No newline at end of file diff --git a/.github/shields.io/pocket.json b/.github/shields.io/pocket.json new file mode 100644 index 0000000..a51febe --- /dev/null +++ b/.github/shields.io/pocket.json @@ -0,0 +1 @@ +{"schemaVersion": 1, "label": "pocket", "message": "alpha-v0.0.0", "color": "yellow"} \ No newline at end of file diff --git a/.github/shields.io/reactor-plc.json b/.github/shields.io/reactor-plc.json new file mode 100644 index 0000000..975d087 --- /dev/null +++ b/.github/shields.io/reactor-plc.json @@ -0,0 +1 @@ +{"schemaVersion": 1, "label": "reactor-plc", "message": "v1.1.5", "color": "blue"} \ No newline at end of file diff --git a/.github/shields.io/rtu.json b/.github/shields.io/rtu.json new file mode 100644 index 0000000..1eed29f --- /dev/null +++ b/.github/shields.io/rtu.json @@ -0,0 +1 @@ +{"schemaVersion": 1, "label": "rtu", "message": "v0.13.3", "color": "blue"} \ No newline at end of file diff --git a/.github/shields.io/supervisor.json b/.github/shields.io/supervisor.json new file mode 100644 index 0000000..cfdd8f6 --- /dev/null +++ b/.github/shields.io/supervisor.json @@ -0,0 +1 @@ +{"schemaVersion": 1, "label": "supervisor", "message": "v0.14.4", "color": "blue"} \ No newline at end of file diff --git a/imgen.py b/imgen.py index 30e7e69..7197619 100644 --- a/imgen.py +++ b/imgen.py @@ -100,7 +100,29 @@ f.close() manifest_size = os.path.getsize("install_manifest.json") +final_manifest = make_manifest(manifest_size) + # calculate file size then regenerate with embedded size f = open("install_manifest.json", "w") -json.dump(make_manifest(manifest_size), f) +json.dump(final_manifest, f) f.close() + +# write all the JSON files for shields.io +for key, version in final_manifest["versions"].items(): + f = open(".github/shields.io/" + key + ".json", "w") + + if version.find("alpha") >= 0: + color = "yellow" + elif version.find("beta") >= 0: + color = "orange" + else: + color = "blue" + + json.dump({ + "schemaVersion": 1, + "label": key, + "message": "" + version, + "color": color + }, f) + + f.close() diff --git a/install_manifest.json b/install_manifest.json index c75fc9e..b762a3e 100644 --- a/install_manifest.json +++ b/install_manifest.json @@ -1 +1 @@ -{"versions": {"installer": "v1.0", "bootloader": "0.2", "comms": "1.4.0", "reactor-plc": "v1.1.5", "rtu": "v0.13.3", "supervisor": "v0.14.4", "coordinator": "v0.12.6", "pocket": "alpha-v0.0.0"}, "files": {"system": ["initenv.lua", "startup.lua"], "common": ["scada-common/crypto.lua", "scada-common/ppm.lua", "scada-common/comms.lua", "scada-common/psil.lua", "scada-common/tcallbackdsp.lua", "scada-common/rsio.lua", "scada-common/constants.lua", "scada-common/mqueue.lua", "scada-common/crash.lua", "scada-common/log.lua", "scada-common/types.lua", "scada-common/util.lua"], "graphics": ["graphics/element.lua", "graphics/flasher.lua", "graphics/core.lua", "graphics/elements/textbox.lua", "graphics/elements/displaybox.lua", "graphics/elements/pipenet.lua", "graphics/elements/rectangle.lua", "graphics/elements/div.lua", "graphics/elements/tiling.lua", "graphics/elements/colormap.lua", "graphics/elements/indicators/alight.lua", "graphics/elements/indicators/icon.lua", "graphics/elements/indicators/power.lua", "graphics/elements/indicators/rad.lua", "graphics/elements/indicators/state.lua", "graphics/elements/indicators/light.lua", "graphics/elements/indicators/vbar.lua", "graphics/elements/indicators/led.lua", "graphics/elements/indicators/coremap.lua", "graphics/elements/indicators/data.lua", "graphics/elements/indicators/ledpair.lua", "graphics/elements/indicators/hbar.lua", "graphics/elements/indicators/trilight.lua", "graphics/elements/indicators/ledrgb.lua", "graphics/elements/controls/switch_button.lua", "graphics/elements/controls/spinbox_numeric.lua", "graphics/elements/controls/hazard_button.lua", "graphics/elements/controls/push_button.lua", "graphics/elements/controls/radio_button.lua", "graphics/elements/controls/multi_button.lua", "graphics/elements/animations/waiting.lua"], "lockbox": ["lockbox/init.lua", "lockbox/LICENSE", "lockbox/kdf/pbkdf2.lua", "lockbox/util/bit.lua", "lockbox/util/array.lua", "lockbox/util/stream.lua", "lockbox/util/queue.lua", "lockbox/digest/sha2_224.lua", "lockbox/digest/sha1.lua", "lockbox/digest/sha2_256.lua", "lockbox/cipher/aes128.lua", "lockbox/cipher/aes256.lua", "lockbox/cipher/aes192.lua", "lockbox/cipher/mode/ofb.lua", "lockbox/cipher/mode/cbc.lua", "lockbox/cipher/mode/ctr.lua", "lockbox/cipher/mode/cfb.lua", "lockbox/mac/hmac.lua", "lockbox/padding/ansix923.lua", "lockbox/padding/pkcs7.lua", "lockbox/padding/zero.lua", "lockbox/padding/isoiec7816.lua"], "reactor-plc": ["reactor-plc/renderer.lua", "reactor-plc/threads.lua", "reactor-plc/databus.lua", "reactor-plc/plc.lua", "reactor-plc/config.lua", "reactor-plc/startup.lua", "reactor-plc/panel/front_panel.lua", "reactor-plc/panel/style.lua"], "rtu": ["rtu/threads.lua", "rtu/rtu.lua", "rtu/modbus.lua", "rtu/config.lua", "rtu/startup.lua", "rtu/dev/sps_rtu.lua", "rtu/dev/envd_rtu.lua", "rtu/dev/boilerv_rtu.lua", "rtu/dev/redstone_rtu.lua", "rtu/dev/sna_rtu.lua", "rtu/dev/imatrix_rtu.lua", "rtu/dev/turbinev_rtu.lua"], "supervisor": ["supervisor/supervisor.lua", "supervisor/unit.lua", "supervisor/config.lua", "supervisor/startup.lua", "supervisor/unitlogic.lua", "supervisor/facility.lua", "supervisor/session/coordinator.lua", "supervisor/session/svqtypes.lua", "supervisor/session/svsessions.lua", "supervisor/session/rtu.lua", "supervisor/session/plc.lua", "supervisor/session/rsctl.lua", "supervisor/session/rtu/boilerv.lua", "supervisor/session/rtu/txnctrl.lua", "supervisor/session/rtu/unit_session.lua", "supervisor/session/rtu/turbinev.lua", "supervisor/session/rtu/envd.lua", "supervisor/session/rtu/imatrix.lua", "supervisor/session/rtu/sps.lua", "supervisor/session/rtu/qtypes.lua", "supervisor/session/rtu/sna.lua", "supervisor/session/rtu/redstone.lua"], "coordinator": ["coordinator/coordinator.lua", "coordinator/renderer.lua", "coordinator/iocontrol.lua", "coordinator/sounder.lua", "coordinator/config.lua", "coordinator/startup.lua", "coordinator/apisessions.lua", "coordinator/process.lua", "coordinator/ui/dialog.lua", "coordinator/ui/style.lua", "coordinator/ui/layout/main_view.lua", "coordinator/ui/layout/unit_view.lua", "coordinator/ui/components/reactor.lua", "coordinator/ui/components/processctl.lua", "coordinator/ui/components/unit_overview.lua", "coordinator/ui/components/boiler.lua", "coordinator/ui/components/unit_detail.lua", "coordinator/ui/components/imatrix.lua", "coordinator/ui/components/unit_waiting.lua", "coordinator/ui/components/turbine.lua"], "pocket": ["pocket/config.lua", "pocket/startup.lua"]}, "depends": {"reactor-plc": ["system", "common", "graphics"], "rtu": ["system", "common"], "supervisor": ["system", "common"], "coordinator": ["system", "common", "graphics"], "pocket": ["system", "common", "graphics"]}, "sizes": {"manifest": 4909, "system": 1991, "common": 91556, "graphics": 111156, "lockbox": 100797, "reactor-plc": 94599, "rtu": 86149, "supervisor": 273852, "coordinator": 180746, "pocket": 347}} \ No newline at end of file +{"versions": {"installer": "v1.0", "bootloader": "0.2", "comms": "1.4.0", "reactor-plc": "v1.1.5", "rtu": "v0.13.3", "supervisor": "v0.14.4", "coordinator": "v0.12.6", "pocket": "alpha-v0.0.0"}, "files": {"system": ["initenv.lua", "startup.lua"], "common": ["scada-common/crypto.lua", "scada-common/ppm.lua", "scada-common/comms.lua", "scada-common/psil.lua", "scada-common/tcallbackdsp.lua", "scada-common/rsio.lua", "scada-common/constants.lua", "scada-common/mqueue.lua", "scada-common/crash.lua", "scada-common/log.lua", "scada-common/types.lua", "scada-common/util.lua"], "graphics": ["graphics/element.lua", "graphics/flasher.lua", "graphics/core.lua", "graphics/elements/textbox.lua", "graphics/elements/displaybox.lua", "graphics/elements/pipenet.lua", "graphics/elements/rectangle.lua", "graphics/elements/div.lua", "graphics/elements/tiling.lua", "graphics/elements/colormap.lua", "graphics/elements/indicators/alight.lua", "graphics/elements/indicators/icon.lua", "graphics/elements/indicators/power.lua", "graphics/elements/indicators/rad.lua", "graphics/elements/indicators/state.lua", "graphics/elements/indicators/light.lua", "graphics/elements/indicators/vbar.lua", "graphics/elements/indicators/led.lua", "graphics/elements/indicators/coremap.lua", "graphics/elements/indicators/data.lua", "graphics/elements/indicators/ledpair.lua", "graphics/elements/indicators/hbar.lua", "graphics/elements/indicators/trilight.lua", "graphics/elements/indicators/ledrgb.lua", "graphics/elements/controls/switch_button.lua", "graphics/elements/controls/spinbox_numeric.lua", "graphics/elements/controls/hazard_button.lua", "graphics/elements/controls/push_button.lua", "graphics/elements/controls/radio_button.lua", "graphics/elements/controls/multi_button.lua", "graphics/elements/animations/waiting.lua"], "lockbox": ["lockbox/init.lua", "lockbox/LICENSE", "lockbox/kdf/pbkdf2.lua", "lockbox/util/bit.lua", "lockbox/util/array.lua", "lockbox/util/stream.lua", "lockbox/util/queue.lua", "lockbox/digest/sha2_224.lua", "lockbox/digest/sha1.lua", "lockbox/digest/sha2_256.lua", "lockbox/cipher/aes128.lua", "lockbox/cipher/aes256.lua", "lockbox/cipher/aes192.lua", "lockbox/cipher/mode/ofb.lua", "lockbox/cipher/mode/cbc.lua", "lockbox/cipher/mode/ctr.lua", "lockbox/cipher/mode/cfb.lua", "lockbox/mac/hmac.lua", "lockbox/padding/ansix923.lua", "lockbox/padding/pkcs7.lua", "lockbox/padding/zero.lua", "lockbox/padding/isoiec7816.lua"], "reactor-plc": ["reactor-plc/renderer.lua", "reactor-plc/threads.lua", "reactor-plc/databus.lua", "reactor-plc/plc.lua", "reactor-plc/config.lua", "reactor-plc/startup.lua", "reactor-plc/panel/front_panel.lua", "reactor-plc/panel/style.lua"], "rtu": ["rtu/threads.lua", "rtu/rtu.lua", "rtu/modbus.lua", "rtu/config.lua", "rtu/startup.lua", "rtu/dev/sps_rtu.lua", "rtu/dev/envd_rtu.lua", "rtu/dev/boilerv_rtu.lua", "rtu/dev/redstone_rtu.lua", "rtu/dev/sna_rtu.lua", "rtu/dev/imatrix_rtu.lua", "rtu/dev/turbinev_rtu.lua"], "supervisor": ["supervisor/supervisor.lua", "supervisor/unit.lua", "supervisor/config.lua", "supervisor/startup.lua", "supervisor/unitlogic.lua", "supervisor/facility.lua", "supervisor/session/coordinator.lua", "supervisor/session/svqtypes.lua", "supervisor/session/svsessions.lua", "supervisor/session/rtu.lua", "supervisor/session/plc.lua", "supervisor/session/rsctl.lua", "supervisor/session/rtu/boilerv.lua", "supervisor/session/rtu/txnctrl.lua", "supervisor/session/rtu/unit_session.lua", "supervisor/session/rtu/turbinev.lua", "supervisor/session/rtu/envd.lua", "supervisor/session/rtu/imatrix.lua", "supervisor/session/rtu/sps.lua", "supervisor/session/rtu/qtypes.lua", "supervisor/session/rtu/sna.lua", "supervisor/session/rtu/redstone.lua"], "coordinator": ["coordinator/coordinator.lua", "coordinator/renderer.lua", "coordinator/iocontrol.lua", "coordinator/sounder.lua", "coordinator/config.lua", "coordinator/startup.lua", "coordinator/apisessions.lua", "coordinator/process.lua", "coordinator/ui/dialog.lua", "coordinator/ui/style.lua", "coordinator/ui/layout/main_view.lua", "coordinator/ui/layout/unit_view.lua", "coordinator/ui/components/reactor.lua", "coordinator/ui/components/processctl.lua", "coordinator/ui/components/unit_overview.lua", "coordinator/ui/components/boiler.lua", "coordinator/ui/components/unit_detail.lua", "coordinator/ui/components/imatrix.lua", "coordinator/ui/components/unit_waiting.lua", "coordinator/ui/components/turbine.lua"], "pocket": ["pocket/config.lua", "pocket/startup.lua"]}, "depends": {"reactor-plc": ["system", "common", "graphics"], "rtu": ["system", "common"], "supervisor": ["system", "common"], "coordinator": ["system", "common", "graphics"], "pocket": ["system", "common", "graphics"]}, "sizes": {"manifest": 4909, "system": 1991, "common": 90041, "graphics": 111156, "lockbox": 100797, "reactor-plc": 94599, "rtu": 86149, "supervisor": 273852, "coordinator": 180746, "pocket": 347}} \ No newline at end of file From f48266e27c0b68d9911460887e91b94a66a6a055 Mon Sep 17 00:00:00 2001 From: Mikayla Fischler Date: Wed, 12 Apr 2023 17:09:53 -0400 Subject: [PATCH 06/21] added subversions to readme --- README.md | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/README.md b/README.md index 89cd3f4..d96f297 100644 --- a/README.md +++ b/README.md @@ -18,6 +18,25 @@ v10.1+ is required due the complete support of CC:Tweaked added in Mekanism v10. There was also an apparent bug with boilers disconnecting and reconnecting when active in my test world on 10.0.24, so it may not even have been an option to fully implement this with support for 10.0. +## Component Versions + +### Core + +![Bootloader](https://img.shields.io/endpoint?url=https%3A%2F%2Fraw.githubusercontent.com%2FMikaylaFischler%2Fcc-mek-scada%2Fdevel%2F.github%2Fshields.io%2Fbootloader.json) +![Comms](https://img.shields.io/endpoint?url=https%3A%2F%2Fraw.githubusercontent.com%2FMikaylaFischler%2Fcc-mek-scada%2Fdevel%2F.github%2Fshields.io%2Fcomms.json) + +### Utilities + +![Installer](https://img.shields.io/endpoint?url=https%3A%2F%2Fraw.githubusercontent.com%2FMikaylaFischler%2Fcc-mek-scada%2Fdevel%2F.github%2Fshields.io%2Finstaller.json) + +### Applications + +![Reactor PLC](https://img.shields.io/endpoint?url=https%3A%2F%2Fraw.githubusercontent.com%2FMikaylaFischler%2Fcc-mek-scada%2Fdevel%2F.github%2Fshields.io%2Freactor-plc.json) +![RTU](https://img.shields.io/endpoint?url=https%3A%2F%2Fraw.githubusercontent.com%2FMikaylaFischler%2Fcc-mek-scada%2Fdevel%2F.github%2Fshields.io%2Frtu.json) +![Supervisor](https://img.shields.io/endpoint?url=https%3A%2F%2Fraw.githubusercontent.com%2FMikaylaFischler%2Fcc-mek-scada%2Fdevel%2F.github%2Fshields.io%2Fsupervisor.json) +![Coordinator](https://img.shields.io/endpoint?url=https%3A%2F%2Fraw.githubusercontent.com%2FMikaylaFischler%2Fcc-mek-scada%2Fdevel%2F.github%2Fshields.io%2Fcoordinator.json) +![Pocket](https://img.shields.io/endpoint?url=https%3A%2F%2Fraw.githubusercontent.com%2FMikaylaFischler%2Fcc-mek-scada%2Fdevel%2F.github%2Fshields.io%2Fpocket.json) + ## Installation You can install this on a ComputerCraft computer using either: From f108db9cfcad41d4307cd9231e650353c917cdb4 Mon Sep 17 00:00:00 2001 From: Mikayla Fischler Date: Wed, 12 Apr 2023 17:21:39 -0400 Subject: [PATCH 07/21] alternate plan for shields --- .github/shields.io/bootloader.json | 1 - .github/shields.io/comms.json | 1 - .github/shields.io/coordinator.json | 1 - .github/shields.io/installer.json | 1 - .github/shields.io/pocket.json | 1 - .github/shields.io/reactor-plc.json | 1 - .github/shields.io/rtu.json | 1 - .github/shields.io/supervisor.json | 1 - imgen.py | 34 +++++++++++++++-------------- 9 files changed, 18 insertions(+), 24 deletions(-) delete mode 100644 .github/shields.io/bootloader.json delete mode 100644 .github/shields.io/comms.json delete mode 100644 .github/shields.io/coordinator.json delete mode 100644 .github/shields.io/installer.json delete mode 100644 .github/shields.io/pocket.json delete mode 100644 .github/shields.io/reactor-plc.json delete mode 100644 .github/shields.io/rtu.json delete mode 100644 .github/shields.io/supervisor.json diff --git a/.github/shields.io/bootloader.json b/.github/shields.io/bootloader.json deleted file mode 100644 index d7303d3..0000000 --- a/.github/shields.io/bootloader.json +++ /dev/null @@ -1 +0,0 @@ -{"schemaVersion": 1, "label": "bootloader", "message": "0.2", "color": "blue"} \ No newline at end of file diff --git a/.github/shields.io/comms.json b/.github/shields.io/comms.json deleted file mode 100644 index bc8e4ac..0000000 --- a/.github/shields.io/comms.json +++ /dev/null @@ -1 +0,0 @@ -{"schemaVersion": 1, "label": "comms", "message": "1.4.0", "color": "blue"} \ No newline at end of file diff --git a/.github/shields.io/coordinator.json b/.github/shields.io/coordinator.json deleted file mode 100644 index 76d7be2..0000000 --- a/.github/shields.io/coordinator.json +++ /dev/null @@ -1 +0,0 @@ -{"schemaVersion": 1, "label": "coordinator", "message": "v0.12.6", "color": "blue"} \ No newline at end of file diff --git a/.github/shields.io/installer.json b/.github/shields.io/installer.json deleted file mode 100644 index 4bfe644..0000000 --- a/.github/shields.io/installer.json +++ /dev/null @@ -1 +0,0 @@ -{"schemaVersion": 1, "label": "installer", "message": "v1.0", "color": "blue"} \ No newline at end of file diff --git a/.github/shields.io/pocket.json b/.github/shields.io/pocket.json deleted file mode 100644 index a51febe..0000000 --- a/.github/shields.io/pocket.json +++ /dev/null @@ -1 +0,0 @@ -{"schemaVersion": 1, "label": "pocket", "message": "alpha-v0.0.0", "color": "yellow"} \ No newline at end of file diff --git a/.github/shields.io/reactor-plc.json b/.github/shields.io/reactor-plc.json deleted file mode 100644 index 975d087..0000000 --- a/.github/shields.io/reactor-plc.json +++ /dev/null @@ -1 +0,0 @@ -{"schemaVersion": 1, "label": "reactor-plc", "message": "v1.1.5", "color": "blue"} \ No newline at end of file diff --git a/.github/shields.io/rtu.json b/.github/shields.io/rtu.json deleted file mode 100644 index 1eed29f..0000000 --- a/.github/shields.io/rtu.json +++ /dev/null @@ -1 +0,0 @@ -{"schemaVersion": 1, "label": "rtu", "message": "v0.13.3", "color": "blue"} \ No newline at end of file diff --git a/.github/shields.io/supervisor.json b/.github/shields.io/supervisor.json deleted file mode 100644 index cfdd8f6..0000000 --- a/.github/shields.io/supervisor.json +++ /dev/null @@ -1 +0,0 @@ -{"schemaVersion": 1, "label": "supervisor", "message": "v0.14.4", "color": "blue"} \ No newline at end of file diff --git a/imgen.py b/imgen.py index 7197619..3da13d2 100644 --- a/imgen.py +++ b/imgen.py @@ -1,5 +1,6 @@ import json import os +import sys # list files in a directory def list_files(path): @@ -107,22 +108,23 @@ f = open("install_manifest.json", "w") json.dump(final_manifest, f) f.close() -# write all the JSON files for shields.io -for key, version in final_manifest["versions"].items(): - f = open(".github/shields.io/" + key + ".json", "w") +if sys.argv[1] == "shields": + # write all the JSON files for shields.io + for key, version in final_manifest["versions"].items(): + f = open("shields-" + key + ".json", "w") - if version.find("alpha") >= 0: - color = "yellow" - elif version.find("beta") >= 0: - color = "orange" - else: - color = "blue" + if version.find("alpha") >= 0: + color = "yellow" + elif version.find("beta") >= 0: + color = "orange" + else: + color = "blue" - json.dump({ - "schemaVersion": 1, - "label": key, - "message": "" + version, - "color": color - }, f) + json.dump({ + "schemaVersion": 1, + "label": key, + "message": "" + version, + "color": color + }, f) - f.close() + f.close() From 36c8a9ccfae107c1de9179ffd59e9293bdd05b90 Mon Sep 17 00:00:00 2001 From: Mikayla Date: Wed, 12 Apr 2023 17:22:44 -0400 Subject: [PATCH 08/21] Create shields.yml --- .github/workflows/shields.yml | 46 +++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 .github/workflows/shields.yml diff --git a/.github/workflows/shields.yml b/.github/workflows/shields.yml new file mode 100644 index 0000000..cacd10c --- /dev/null +++ b/.github/workflows/shields.yml @@ -0,0 +1,46 @@ +# Simple workflow for deploying static content to GitHub Pages +name: Deploy static content to Pages + +on: + # Runs on pushes targeting the default branch + push: + branches: ["main"] + + # Allows you to run this workflow manually from the Actions tab + workflow_dispatch: + +# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages +permissions: + contents: read + pages: write + id-token: write + +# Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued. +# However, do NOT cancel in-progress runs as we want to allow these production deployments to complete. +concurrency: + group: "pages" + cancel-in-progress: false + +jobs: + # Single deploy job since we're just deploying + deploy: + environment: + name: github-pages + url: ${{ steps.deployment.outputs.page_url }} + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v3 + - name: Setup Pages + uses: actions/configure-pages@v3 + - name: Setup Python + uses: actions/setup-python@v3.1.3 + - run: python imgen.py shields + - name: Upload artifact + uses: actions/upload-pages-artifact@v1 + with: + # Upload shields JSON + path: './shields-*' + - name: Deploy to GitHub Pages + id: deployment + uses: actions/deploy-pages@v2 From 83cc4d306719276a653bd8113d1424c611459fc3 Mon Sep 17 00:00:00 2001 From: Mikayla Date: Wed, 12 Apr 2023 17:25:16 -0400 Subject: [PATCH 09/21] pages fix --- .github/workflows/shields.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/shields.yml b/.github/workflows/shields.yml index cacd10c..2574318 100644 --- a/.github/workflows/shields.yml +++ b/.github/workflows/shields.yml @@ -40,7 +40,7 @@ jobs: uses: actions/upload-pages-artifact@v1 with: # Upload shields JSON - path: './shields-*' + path: ./shields-* - name: Deploy to GitHub Pages id: deployment uses: actions/deploy-pages@v2 From 8c42a05bbdc5765becb233bd3cafe1c4746aa343 Mon Sep 17 00:00:00 2001 From: Mikayla Fischler Date: Wed, 12 Apr 2023 17:34:46 -0400 Subject: [PATCH 10/21] test for sheilds --- .github/workflows/shields.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/shields.yml b/.github/workflows/shields.yml index 2574318..f10ab31 100644 --- a/.github/workflows/shields.yml +++ b/.github/workflows/shields.yml @@ -4,7 +4,7 @@ name: Deploy static content to Pages on: # Runs on pushes targeting the default branch push: - branches: ["main"] + branches: ["devel"] # Allows you to run this workflow manually from the Actions tab workflow_dispatch: From a8e05388046372828f1436a364979b983af5a46d Mon Sep 17 00:00:00 2001 From: Mikayla Fischler Date: Wed, 12 Apr 2023 17:37:16 -0400 Subject: [PATCH 11/21] debugging actions --- .github/workflows/shields.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/shields.yml b/.github/workflows/shields.yml index f10ab31..956354e 100644 --- a/.github/workflows/shields.yml +++ b/.github/workflows/shields.yml @@ -36,6 +36,7 @@ jobs: - name: Setup Python uses: actions/setup-python@v3.1.3 - run: python imgen.py shields + - run: ls - name: Upload artifact uses: actions/upload-pages-artifact@v1 with: From 982fded31df9e5a23782fe35ce82ef68c25b745b Mon Sep 17 00:00:00 2001 From: Mikayla Fischler Date: Wed, 12 Apr 2023 17:39:38 -0400 Subject: [PATCH 12/21] possible fix for actions --- .github/workflows/shields.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/shields.yml b/.github/workflows/shields.yml index 956354e..a959766 100644 --- a/.github/workflows/shields.yml +++ b/.github/workflows/shields.yml @@ -41,7 +41,7 @@ jobs: uses: actions/upload-pages-artifact@v1 with: # Upload shields JSON - path: ./shields-* + path: shields-* - name: Deploy to GitHub Pages id: deployment uses: actions/deploy-pages@v2 From ab9e487a2dc66a6e555e7050a952e604b1db625c Mon Sep 17 00:00:00 2001 From: Mikayla Fischler Date: Wed, 12 Apr 2023 17:41:06 -0400 Subject: [PATCH 13/21] possible fix for actions 2 --- .github/workflows/shields.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/shields.yml b/.github/workflows/shields.yml index a959766..eae17a2 100644 --- a/.github/workflows/shields.yml +++ b/.github/workflows/shields.yml @@ -37,11 +37,12 @@ jobs: uses: actions/setup-python@v3.1.3 - run: python imgen.py shields - run: ls + - run: cat shields-*.json - name: Upload artifact uses: actions/upload-pages-artifact@v1 with: # Upload shields JSON - path: shields-* + path: shields-*.json - name: Deploy to GitHub Pages id: deployment uses: actions/deploy-pages@v2 From 76f6cca42da3a8383bd72793e196b3ac6c178c11 Mon Sep 17 00:00:00 2001 From: Mikayla Fischler Date: Wed, 12 Apr 2023 17:44:00 -0400 Subject: [PATCH 14/21] possible fix for actions 3 --- .github/workflows/shields.yml | 3 +-- imgen.py | 2 +- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/.github/workflows/shields.yml b/.github/workflows/shields.yml index eae17a2..65cbe25 100644 --- a/.github/workflows/shields.yml +++ b/.github/workflows/shields.yml @@ -37,12 +37,11 @@ jobs: uses: actions/setup-python@v3.1.3 - run: python imgen.py shields - run: ls - - run: cat shields-*.json - name: Upload artifact uses: actions/upload-pages-artifact@v1 with: # Upload shields JSON - path: shields-*.json + path: **-shields.json - name: Deploy to GitHub Pages id: deployment uses: actions/deploy-pages@v2 diff --git a/imgen.py b/imgen.py index 3da13d2..b1b3b8b 100644 --- a/imgen.py +++ b/imgen.py @@ -111,7 +111,7 @@ f.close() if sys.argv[1] == "shields": # write all the JSON files for shields.io for key, version in final_manifest["versions"].items(): - f = open("shields-" + key + ".json", "w") + f = open(key + "-shields.json", "w") if version.find("alpha") >= 0: color = "yellow" From 2b23dac1febac8f00d43c85cac72c2b85382811f Mon Sep 17 00:00:00 2001 From: Mikayla Fischler Date: Wed, 12 Apr 2023 17:44:43 -0400 Subject: [PATCH 15/21] possible fix for actions 4 --- .github/workflows/shields.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/shields.yml b/.github/workflows/shields.yml index 65cbe25..f30bb07 100644 --- a/.github/workflows/shields.yml +++ b/.github/workflows/shields.yml @@ -41,7 +41,7 @@ jobs: uses: actions/upload-pages-artifact@v1 with: # Upload shields JSON - path: **-shields.json + path: ./**-shields.json - name: Deploy to GitHub Pages id: deployment uses: actions/deploy-pages@v2 From 6b8b38b8cbe0fcca65f3d646f5ff7b0670f1c564 Mon Sep 17 00:00:00 2001 From: Mikayla Fischler Date: Wed, 12 Apr 2023 17:49:08 -0400 Subject: [PATCH 16/21] possible fix for actions 6 --- .github/workflows/shields.yml | 7 ++++--- imgen.py | 2 +- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/.github/workflows/shields.yml b/.github/workflows/shields.yml index f30bb07..1b934af 100644 --- a/.github/workflows/shields.yml +++ b/.github/workflows/shields.yml @@ -35,13 +35,14 @@ jobs: uses: actions/configure-pages@v3 - name: Setup Python uses: actions/setup-python@v3.1.3 - - run: python imgen.py shields - - run: ls + - run: mkdir shields + - run: python imgen.py 0 + - run: ls shields/ - name: Upload artifact uses: actions/upload-pages-artifact@v1 with: # Upload shields JSON - path: ./**-shields.json + path: shields/* - name: Deploy to GitHub Pages id: deployment uses: actions/deploy-pages@v2 diff --git a/imgen.py b/imgen.py index b1b3b8b..34355a4 100644 --- a/imgen.py +++ b/imgen.py @@ -111,7 +111,7 @@ f.close() if sys.argv[1] == "shields": # write all the JSON files for shields.io for key, version in final_manifest["versions"].items(): - f = open(key + "-shields.json", "w") + f = open("shields/" + key + ".json", "w") if version.find("alpha") >= 0: color = "yellow" From 37dd52b12b18261e20262e78ce5fe455dbaeb1a4 Mon Sep 17 00:00:00 2001 From: Mikayla Fischler Date: Wed, 12 Apr 2023 17:50:43 -0400 Subject: [PATCH 17/21] possible fix for actions 7 --- .github/workflows/shields.yml | 4 ++-- imgen.py | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/shields.yml b/.github/workflows/shields.yml index 1b934af..b31bb3a 100644 --- a/.github/workflows/shields.yml +++ b/.github/workflows/shields.yml @@ -37,12 +37,12 @@ jobs: uses: actions/setup-python@v3.1.3 - run: mkdir shields - run: python imgen.py 0 - - run: ls shields/ + - run: ls ./shields/ - name: Upload artifact uses: actions/upload-pages-artifact@v1 with: # Upload shields JSON - path: shields/* + path: ./shields/* - name: Deploy to GitHub Pages id: deployment uses: actions/deploy-pages@v2 diff --git a/imgen.py b/imgen.py index 34355a4..92d82db 100644 --- a/imgen.py +++ b/imgen.py @@ -111,7 +111,7 @@ f.close() if sys.argv[1] == "shields": # write all the JSON files for shields.io for key, version in final_manifest["versions"].items(): - f = open("shields/" + key + ".json", "w") + f = open("./shields/" + key + ".json", "w") if version.find("alpha") >= 0: color = "yellow" From 36b86a4825c7bac6824634c52ff5b044d92f2e0c Mon Sep 17 00:00:00 2001 From: Mikayla Fischler Date: Wed, 12 Apr 2023 17:52:31 -0400 Subject: [PATCH 18/21] possible fix for actions 8 --- .github/workflows/shields.yml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/.github/workflows/shields.yml b/.github/workflows/shields.yml index b31bb3a..30fee00 100644 --- a/.github/workflows/shields.yml +++ b/.github/workflows/shields.yml @@ -36,8 +36,10 @@ jobs: - name: Setup Python uses: actions/setup-python@v3.1.3 - run: mkdir shields - - run: python imgen.py 0 - - run: ls ./shields/ + - run: python imgen.py shields + - run: ls + - run: ls coordinator/ + - run: ls shields/ - name: Upload artifact uses: actions/upload-pages-artifact@v1 with: From c0547fe463c87e9f243689cae51170cb70fc63c0 Mon Sep 17 00:00:00 2001 From: Mikayla Fischler Date: Wed, 12 Apr 2023 17:54:18 -0400 Subject: [PATCH 19/21] possible fix for actions 9 --- .github/workflows/shields.yml | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/.github/workflows/shields.yml b/.github/workflows/shields.yml index 30fee00..f84094e 100644 --- a/.github/workflows/shields.yml +++ b/.github/workflows/shields.yml @@ -37,14 +37,12 @@ jobs: uses: actions/setup-python@v3.1.3 - run: mkdir shields - run: python imgen.py shields - - run: ls - - run: ls coordinator/ - run: ls shields/ - name: Upload artifact uses: actions/upload-pages-artifact@v1 with: # Upload shields JSON - path: ./shields/* + path: './shields/*' - name: Deploy to GitHub Pages id: deployment uses: actions/deploy-pages@v2 From e2a3252d8acc324360a8c4411d4f0cbd87daaff2 Mon Sep 17 00:00:00 2001 From: Mikayla Fischler Date: Wed, 12 Apr 2023 17:55:18 -0400 Subject: [PATCH 20/21] possible fix for actions 10 --- .github/workflows/shields.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/shields.yml b/.github/workflows/shields.yml index f84094e..ccc19af 100644 --- a/.github/workflows/shields.yml +++ b/.github/workflows/shields.yml @@ -42,7 +42,7 @@ jobs: uses: actions/upload-pages-artifact@v1 with: # Upload shields JSON - path: './shields/*' + path: '.' - name: Deploy to GitHub Pages id: deployment uses: actions/deploy-pages@v2 From 9b9ce7eae10a5a4306f57badc25876426e60dba1 Mon Sep 17 00:00:00 2001 From: Mikayla Fischler Date: Wed, 12 Apr 2023 18:03:48 -0400 Subject: [PATCH 21/21] finally got shields component versions working with github actions --- .github/workflows/shields.yml | 5 ++--- README.md | 18 +++++++++--------- 2 files changed, 11 insertions(+), 12 deletions(-) diff --git a/.github/workflows/shields.yml b/.github/workflows/shields.yml index ccc19af..6790d7e 100644 --- a/.github/workflows/shields.yml +++ b/.github/workflows/shields.yml @@ -1,10 +1,10 @@ # Simple workflow for deploying static content to GitHub Pages -name: Deploy static content to Pages +name: Deploy Component Versions on: # Runs on pushes targeting the default branch push: - branches: ["devel"] + branches: ["main"] # Allows you to run this workflow manually from the Actions tab workflow_dispatch: @@ -37,7 +37,6 @@ jobs: uses: actions/setup-python@v3.1.3 - run: mkdir shields - run: python imgen.py shields - - run: ls shields/ - name: Upload artifact uses: actions/upload-pages-artifact@v1 with: diff --git a/README.md b/README.md index d96f297..f0e6c89 100644 --- a/README.md +++ b/README.md @@ -18,24 +18,24 @@ v10.1+ is required due the complete support of CC:Tweaked added in Mekanism v10. There was also an apparent bug with boilers disconnecting and reconnecting when active in my test world on 10.0.24, so it may not even have been an option to fully implement this with support for 10.0. -## Component Versions +## Released Component Versions ### Core -![Bootloader](https://img.shields.io/endpoint?url=https%3A%2F%2Fraw.githubusercontent.com%2FMikaylaFischler%2Fcc-mek-scada%2Fdevel%2F.github%2Fshields.io%2Fbootloader.json) -![Comms](https://img.shields.io/endpoint?url=https%3A%2F%2Fraw.githubusercontent.com%2FMikaylaFischler%2Fcc-mek-scada%2Fdevel%2F.github%2Fshields.io%2Fcomms.json) +![Bootloader](https://img.shields.io/endpoint?url=https%3A%2F%2Fmikaylafischler.github.io%2Fcc-mek-scada%2Fshields%2Fbootloader.json) +![Comms](https://img.shields.io/endpoint?url=https%3A%2F%2Fmikaylafischler.github.io%2Fcc-mek-scada%2Fshields%2Fcomms.json) ### Utilities -![Installer](https://img.shields.io/endpoint?url=https%3A%2F%2Fraw.githubusercontent.com%2FMikaylaFischler%2Fcc-mek-scada%2Fdevel%2F.github%2Fshields.io%2Finstaller.json) +![Installer](https://img.shields.io/endpoint?url=https%3A%2F%2Fmikaylafischler.github.io%2Fcc-mek-scada%2Fshields%2Finstaller.json) ### Applications -![Reactor PLC](https://img.shields.io/endpoint?url=https%3A%2F%2Fraw.githubusercontent.com%2FMikaylaFischler%2Fcc-mek-scada%2Fdevel%2F.github%2Fshields.io%2Freactor-plc.json) -![RTU](https://img.shields.io/endpoint?url=https%3A%2F%2Fraw.githubusercontent.com%2FMikaylaFischler%2Fcc-mek-scada%2Fdevel%2F.github%2Fshields.io%2Frtu.json) -![Supervisor](https://img.shields.io/endpoint?url=https%3A%2F%2Fraw.githubusercontent.com%2FMikaylaFischler%2Fcc-mek-scada%2Fdevel%2F.github%2Fshields.io%2Fsupervisor.json) -![Coordinator](https://img.shields.io/endpoint?url=https%3A%2F%2Fraw.githubusercontent.com%2FMikaylaFischler%2Fcc-mek-scada%2Fdevel%2F.github%2Fshields.io%2Fcoordinator.json) -![Pocket](https://img.shields.io/endpoint?url=https%3A%2F%2Fraw.githubusercontent.com%2FMikaylaFischler%2Fcc-mek-scada%2Fdevel%2F.github%2Fshields.io%2Fpocket.json) +![Reactor PLC](https://img.shields.io/endpoint?url=https%3A%2F%2Fmikaylafischler.github.io%2Fcc-mek-scada%2Fshields%2Freactor-plc.json) +![RTU](https://img.shields.io/endpoint?url=https%3A%2F%2Fmikaylafischler.github.io%2Fcc-mek-scada%2Fshields%2Frtu.json) +![Supervisor](https://img.shields.io/endpoint?url=https%3A%2F%2Fmikaylafischler.github.io%2Fcc-mek-scada%2Fshields%2Fsupervisor.json) +![Coordinator](https://img.shields.io/endpoint?url=https%3A%2F%2Fmikaylafischler.github.io%2Fcc-mek-scada%2Fshields%2Fcoordinator.json) +![Pocket](https://img.shields.io/endpoint?url=https%3A%2F%2Fmikaylafischler.github.io%2Fcc-mek-scada%2Fshields%2Fpocket.json) ## Installation