forked from imcaihua/ygopro-images
-
Notifications
You must be signed in to change notification settings - Fork 0
/
appveyor.yml
95 lines (85 loc) · 4.33 KB
/
appveyor.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
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
environment:
priv_key:
secure: ek1AH0N8/KF6VoildmkHnu4TY1yBZcptm20AesAOanRSSGLFqkXeRxL80mHSXtiVY8ggtQNsEQR4M69gCiw1OPVWz4OAN6Vg6id6kho9GqYxWCdADbmffSNPB5leksRGjGmkAF99WHiOIZrLRUb6Bia91Fe5+SngPhI01GDDUZA2urv9x50uBBhc+kvV0bv7J5TeXDGr7tfZ3J2aL/3tf/WPqBkqjWlGAj99HTWpkIiQgwaBHoyBvEFD0uHa1BdSmI7PySGabbx4/4zqyGkO38Ce7t/Ntu/dgedzVxlXYfuiXDI8caAPZSVsJ9E2S3VKesZJzHtV9KM/8Xq0RFPythdC/qTvd2e3IAZGudZpgbUHGAHLJnCzn189Zm+Qle8CbbVuPNDcf1B/G/XwEU2MsDXGkF/kFxdeqbHgjzneyns=
access_token:
secure: dAqGTWGo387j9Kaot54scDTRWzXGb3DBVPVcOIzQhNAvSt3WCvXA6xBYIFvPH4pQ
matrix:
- locale: zh-CN
#- locale: ja-JP
- locale: en-US
#- locale: zh-Classical
version: '{build}'
skip_tags: true
clone_depth: 1
cache:
- C:\ProgramData\chocolatey\bin
- C:\ProgramData\chocolatey\lib
#init:
# - ps: iex ((new-object net.webclient).DownloadString('https://raw.githubusercontent.com/appveyor/ci/master/scripts/enable-rdp.ps1'))
install:
# ssh key and submodules
- ps: $fileContent = "-----BEGIN EC PRIVATE KEY-----`n"
- ps: $fileContent += $env:priv_key.Replace(' ', "`n")
- ps: $fileContent += "`n-----END EC PRIVATE KEY-----`n"
- ps: Set-Content c:\users\appveyor\.ssh\id_ecdsa $fileContent
# environment and system dependency
- choco install imagemagick.tool
- refreshenv
# C:\msys64\usr\bin for bsdtar.exe to extract zip package
- set PATH=C:\Ruby22\bin;%PATH%;C:\MinGW\msys\1.0
# generator
- git clone git@github.com:moecube/ygopro-images-generator.git
- cd ygopro-images-generator
- git submodule update --init
- git clone git@github.com:moecube/magicseteditor.git -b win32
- cd ..
- mv ygopro-images-generator/* ./
- bundle install
- git clone git@github.com:moecube/ygopro-database
# install fonts
- ps: '$fonts = (New-Object -ComObject Shell.Application).Namespace(0x14)'
- ps: 'dir magicseteditor/fonts/*.ttf | %{ $fonts.CopyHere($_.fullname) }'
# data
#- mkdir ygopro-database
- curl -L -o ygopro-database\%locale%.cdb https://github.com/moecube/ygopro-database/raw/master/locales/%locale%/cards.cdb
- mkdir ygopro-images
- mkdir ygopro-images\thumbnail
- bash -c "if curl -f -L -o records.json https://github.com/moecube/ygopro-images/releases/download/latest/records-$locale.json; then curl -f -L -o last.zip https://github.com/moecube/ygopro-images/releases/download/latest/ygopro-images-$locale.zip; unzip -q -d ygopro-images last.zip -x field/*; else echo {} > records.json; fi"
- rm -rf ygopro-images\field
after_build:
# 跑 generator 脚本,生成 mse 存档
- ruby --external-encoding=utf-8 generate.rb %locale%
# 创建 mse 目录,虽然 mse 可以自动生成,但是并发执行 mse 会出错,因此这里手动创建
- mkdir ygopro-images-mse
- mkdir "%APPDATA%\Magic Set Editor"
# 执行 mse,生成超大尺寸卡图
- bash -c 'ls -1 mse-sets/data*-$locale.mse-set | xargs -I {} -P 4 magicseteditor/mse.com --export {} "ygopro-images-mse/{card.gamecode}.png"'
# 用 imagemagick 把卡图缩小到 ygopro 尺寸
- bash -c 'ls -1 ygopro-images-mse | sed -e "s/\.png$//" | xargs -I {} -P 4 magick "ygopro-images-mse/{}.png" \( +clone -resize 177x254! -write "ygopro-images/{}.jpg" +delete \) -resize 44x64! "ygopro-images/thumbnail/{}.jpg"'
# 场地背景
- curl -L https://github.com/moecube/ygopro-images-field/archive/master.tar.gz | tar --strip-components=1 -C ygopro-images -zxf - ygopro-images-field-master/field
# 将 records.json 改名文带语言的文件名
- move records.json records-%locale%.json
# 更新 latest 的 tag
# - git config --global credential.helper store
# - ps: Add-Content "$env:USERPROFILE\.git-credentials" "https://$($env:access_token):x-oauth-basic@github.com`n"
# - bash -c "git tag -d latest ; exit 0"
# - git tag latest HEAD
# - git push -f origin latest
artifacts:
- path: ygopro-images
name: ygopro-images-$(locale)
type: zip
- path: records-$(locale).json
name: records-$(locale)
deploy:
release: latest
description: 'Automatic buid commit $(APPVEYOR_REPO_COMMIT) $(APPVEYOR_REPO_COMMIT_TIMESTAMP)'
provider: GitHub
auth_token: $(access_token)
prerelease: true
force_update: true
on:
branch: master # release from master branch only
#on_finish:
# - ps: $blockRdp = $true; iex ((new-object net.webclient).DownloadString('https://raw.githubusercontent.com/appveyor/ci/master/scripts/enable-rdp.ps1'))