[Github Action] 從Github自動更新上的MOD
這是一個用來更新 MOD站裏Mod信息和Mod文件的Github Action。
模組介紹 作者原文
這是一個用來更新 MOD站裏Mod信息和Mod文件的Github Action。
Action Update Mod
[![github][github-badge]][github-link] [![test][test-badge]][test-link]![license][license-badge] [![version][release-badge]][release-link] [![market][market-badge]][market-link] [![-badge]][-link]
簡介
這是一個用來更新 MOD 站裏 Mod 信息和 Mod 文件的 Github Action。
如果你的 Mod 源碼是託管於 Github 的話,你可以使用這個 Github Action 來自動化你的 Mod 更新流程。
你可以設置在 Github 上發佈 Release 時,自動上傳最新版的 Release 文件到 Mod 站上,同時也可以更新 Mod 的各種信息。
可以參考API 文檔瞭解詳情。
原項目由於使用的是 python 編寫,受 github 的限制只能運行於 linux 環境。現在這個可以運行在任何環境。
示例 Workflow 文件
```yaml
name: Release
on:
release:
types: [published] #在發佈Release時觸發
jobs:
release:
runs-on: ubuntu-latest #或者 windows-latest
steps:
- uses: actions/checkout@v3
- name: 更新 Mod站信息
uses: GlossMod/ActionUpdateMod@v1
with:
appid: ${{ secrets.APPID }} #調用儲在github secrets裏面的APPID
appkey: ${{ secrets.APPKEY }} #調用儲在github secrets裏面的APPKEY
id: 548964
title: 我的Mod標題
version: ${{ github.event.release.tag_name }} #使用發佈時的tag
desc: 我的Mod簡介
content: README.md #可以輸入markdown文件路徑,或者直接輸入markdown代碼
file: build/windows/myMod.asi #可以輸入文件夾路徑或者文件路徑,如果不是zip/rar/7z格式的話會自動打包
```
輸入參數
| 輸入參數 | 描述 | 示例 |
| ------------------ | -------------------------------------------------------------------------------------------------- | ------------------------------------------------------- |
| `appid` | Mod 站 API 的 APPID | ${{ secrets.APPID }} |
| `appkey` | Mod 站 API 的 APPKEY | ${{ secrets.APPKEY }} |
| `id` | 你想要更新的 Mod 的 ID 號 | 548964 |
| `title` (可選) | Mod 的標題 | 我的 Mod |
| `tags` (可選) | Mod 的標籤 | 修改器, 中文, 原創 |
| `version` (可選) | Mod 的版本號 | v1.2.5 |
| `desc` (可選) | Mod 的簡單描述 | 我的超強修改器 Mod |
| `content` (可選) | Mod 的介紹正文的 Markdown 文件路徑或者 Markdown 代碼 | README.md |
| `file` (可選) | Mod 文件路徑(大小限制: 10mb),如果文件路徑非`zip/rar/7z`格式將會自動打包後上傳(支持文件夾打包)
如需上傳超過10mb的文件可以串聯 Nats-ji/Action3DMLargeFileUpload 進行上傳 | `build/windows/x64/helloworld.asi`,
`package/mymod/` |
| `zip-only` (可選) | 只打包 Mod 文件而不上傳 | false |
| `test` (可選) | 是否測試運行,不與 API 通訊 | false |
注意
不要直接在你的 workflow 文件裏輸入你的`appid`和`appkey`。應將他們存放於你項目倉庫的 secret 裏後,使用`${{ secrets.APPID }}`,`${{ secrets.APPKEY }}`等調用。
輸出
| 輸出 | 描述 |
| ------ | ---------------- |
| `code` | 狀態碼 |
| `msg` | 返回消息 |
| `file` | 打包後的文件路徑 |
如何使用輸出
```yaml
steps:
- name: 更新 Mod站信息
uses: GlossMod/ActionUpdateMod@v1
id: update_mod #設置此步驟的id以供下一步調用本步驟的輸出
with:
appid: ${{ secrets.APPID }}
appkey: ${{ secrets.APPKEY }}
id: 548964
version: ${{ github.event.release.tag_name }}
content: README.md
file: build/windows/myMod.asi
- name: echo上一步的輸出
run: echo "API返回的狀態碼:${{ steps.update_mod.outputs.code }},返回消息:${{ steps.update_mod.outputs.msg }}"
```
貢獻
歡迎在 Github 上發起 PR 來貢獻此項目。
開源許可
本項目使用 MIT 開源許可。
[github-badge]:
[github-link]:
[test-badge]:
[test-link]:
[license-badge]:
[release-badge]:
[release-link]:
[market-badge]:
[market-link]:
[-badge]:
[-link]:
安裝與使用 安裝:按包內說明操作
- 解壓本站下載的壓縮包,先讀包內的 readme / 說明檔案。
- 這類遊戲沒有通用的模組管理器:有的模組直接替換遊戲檔案、有的放進遊戲專屬的 Mods 資料夾、有的要先裝遊戲對應的社群載入器或工具,以包內說明為準。
- 嚴格按說明放置檔案;標註「前置依賴」的模組需要把依賴一併裝好。
- 啟動遊戲確認載入成功;部分遊戲需要在設定或模組選單裡手動啟用。
不同遊戲、不同模組的安裝位置差異很大,包內說明是最可靠的依據。