-
-
Notifications
You must be signed in to change notification settings - Fork 0
51 lines (46 loc) · 1.82 KB
/
zip-vpm.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
name: Package in VPM-compatible format
on:
release:
types:
- published
workflow_dispatch:
inputs:
tag:
required: true
type: string
permissions:
contents: write
jobs:
build:
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@v4
with:
ref: ${{ inputs.tag }}
- name: Add commit hash to the manifest
run: |
# moreutils はおそらく追加されない上インストールすると遅いので使わない
# see also: https://github.com/actions/runner-images/issues/5498
jq --arg hash "$(git rev-parse HEAD)" '.repository.url = "https://github.com/KisaragiEffective/ResoniteImportHelper/tree/" + $hash' < package.json > package.json.tmp
mv package.json.tmp package.json
- name: Zip
run: |
# git のコミット履歴、GitHub用のファイル、Krita、Microsoft.Unity.AnalyzersはVPMパッケージのユーザーにとっては要らない。
# そのためvpm-src.zipから除外する。
zip -r vpm-src.zip . \
--exclude '.git/**' \
--exclude 'Doc~/Original/*' \
--exclude 'Editor/0Analyzer/Microsoft.Unity.Analyzers.*' \
--exclude '.github/**'
- name: Compute SHA256
run: |
# sha256sumを使うと加工が非直感的だし、ここでスクリプト言語や外部バイナリを持ち出すと遅い。
# PowerShell Coreを起動して回避。
echo (Get-FileHash ./vpm-src.zip -Algorithm SHA256).Hash.ToLower() > vpm-src.zip.sha256sum
shell: pwsh
- name: Upload files
run: |
gh release upload ${{ github.event.release.tag_name || inputs.tag }} vpm-src.zip
gh release upload ${{ github.event.release.tag_name || inputs.tag }} vpm-src.zip.sha256sum
env:
GH_TOKEN: ${{ github.token }}