-
Notifications
You must be signed in to change notification settings - Fork 5
167 lines (162 loc) · 6.22 KB
/
nightly.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
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
name: Build nightly
on:
push:
branches: ["main"]
paths-ignore:
- 'README.md'
pull_request:
branches: ["main"]
paths-ignore:
- 'README.md'
workflow_dispatch:
jobs:
generator:
runs-on: ubuntu-latest
container: devkitpro/devkitarm
name: Build standard
steps:
- name: Checkout repo
uses: actions/checkout@v3
- name: Get tools
run: |
wget "https://github.com/ihaveamac/ctr_toolkit/releases/download/make_cia6.4builds/make_cia6.4builds.zip"
unzip make_cia6.4builds.zip
sudo cp linux/make_cia /usr/local/bin/make_cia && sudo chmod +x /usr/local/bin/make_cia
- name: Make YANBF
run: |
make dist
- name: Publish
uses: actions/upload-artifact@v3
with:
path: dist
name: YANBF
windows:
runs-on: windows-2019
name: Build Windows
if: ${{ success() && !startsWith(github.ref, 'refs/pull') }}
needs: generator
steps:
- name: Download artifacts
uses: actions/download-artifact@v3
with:
name: YANBF
path: YANBF
- name: Setup Python
uses: actions/setup-python@v4
with:
python-version: '3.9'
- name: Install dependencies
run: |
python -m pip install -r YANBF/generator/requirements.txt
python -m pip install cx_Logging
python -m pip install cx-Freeze
- name: Create package
run: |
curl -LJO "https://github.com/dnasdw/3dstool/releases/download/v1.2.6/3dstool.zip"
unzip 3dstool.zip
mv -f 3dstool.exe ext_key.txt ignore_3dstool.txt YANBF/generator
curl -LJO "https://github.com/YANBForwarder/tex3ds/releases/download/v2.3.0/tex3ds.exe"
mv -f tex3ds.exe YANBF/generator/tex3ds.exe
curl -LJO "https://github.com/Epicpkmn11/bannertool/releases/latest/download/bannertool.zip"
unzip bannertool.zip
mv -f windows-x86_64/bannertool.exe YANBF/generator/bannertool.exe
curl -LJO "https://github.com/3DSGuy/Project_CTR/releases/download/makerom-v0.18/makerom-v0.18-win_x86_64.zip"
unzip makerom-v0.18-win_x86_64.zip
mv -f makerom.exe YANBF/generator/makerom.exe
cd YANBF/generator
python setup.py build
cp -r dist/* .
rm -rf *.py dist __pycache__ dist requirements.txt
shell: bash
- name: Publish
uses: actions/upload-artifact@v3
with:
path: YANBF
name: YANBF-Windows
macos:
runs-on: macos-11
name: Build macOS
if: ${{ success() && !startsWith(github.ref, 'refs/pull') }}
needs: generator
steps:
- name: Download artifacts
uses: actions/download-artifact@v3
with:
name: YANBF
path: YANBF
- name: Install dependencies
run: |
python3 -m pip install -r YANBF/generator/requirements.txt
python3 -m pip install pyinstaller
- name: Create package
run: |
wget https://github.com/dnasdw/3dstool/releases/download/v1.2.6/3dstool_macos_x86_64.tar.gz
tar xvzf 3dstool_macos_x86_64.tar.gz
mv -f 3dstool ext_key.txt ignore_3dstool.txt YANBF/generator
wget https://github.com/YANBForwarder/tex3ds/releases/download/v2.3.0/tex3ds-macos-universal
mv -f tex3ds-macos-universal YANBF/generator/tex3ds
wget "https://github.com/Epicpkmn11/bannertool/releases/latest/download/bannertool.zip"
unzip bannertool.zip
cp mac-x86_64/bannertool YANBF/generator/bannertool
wget "https://github.com/3DSGuy/Project_CTR/releases/download/makerom-v0.18/makerom-v0.18-macos_x86_64.zip"
unzip makerom-v0.18-macos_x86_64.zip
mv -f makerom YANBF/generator/makerom
cd YANBF/generator
pyinstaller --onefile generator.py
mv dist/generator generator
rm -rf *.py build generator.spec __pycache__ dist requirements.txt
- name: chmod packages, and double zip because screw GitHub
run: |
chmod +x YANBF/generator/generator YANBF/generator/makerom YANBF/generator/bannertool YANBF/generator/tex3ds YANBF/generator/3dstool
mkdir actions
cd YANBF
zip -r ../actions/YANBF-macOS.zip *
- name: Publish
uses: actions/upload-artifact@v3
with:
path: actions
name: YANBF-macOS
linux:
runs-on: ubuntu-20.04
name: Build Linux
container: devkitpro/devkitarm
if: ${{ success() && !startsWith(github.ref, 'refs/pull') }}
needs: generator
steps:
- name: Download artifacts
uses: actions/download-artifact@v3
with:
name: YANBF
path: YANBF
- name: Install dependencies
run: |
sudo apt install -y python3-pip
pip3 install -r YANBF/generator/requirements.txt
pip3 install pyinstaller
- name: Create package
run: |
sudo cp /opt/devkitpro/tools/bin/tex3ds YANBF/generator/tex3ds
wget https://github.com/dnasdw/3dstool/releases/download/v1.2.6/3dstool_linux_x86_64.tar.gz
tar xvzf 3dstool_linux_x86_64.tar.gz
mv -f 3dstool ext_key.txt ignore_3dstool.txt YANBF/generator
wget "https://github.com/Epicpkmn11/bannertool/releases/latest/download/bannertool.zip"
unzip bannertool.zip
cp linux-x86_64/bannertool YANBF/generator/bannertool
wget "https://github.com/3DSGuy/Project_CTR/releases/download/makerom-v0.18/makerom-v0.18-ubuntu_x86_64.zip"
unzip makerom-v0.18-ubuntu_x86_64.zip
mv -f makerom YANBF/generator/makerom
cd YANBF/generator
pyinstaller --onefile generator.py
mv dist/generator generator
rm -rf *.py build generator.spec __pycache__ dist requirements.txt
- name: chmod packages, and double zip because screw GitHub
run: |
chmod +x YANBF/generator/generator YANBF/generator/makerom YANBF/generator/bannertool YANBF/generator/tex3ds YANBF/generator/3dstool
mkdir actions
cd YANBF
zip -r ../actions/YANBF-Linux.zip *
- name: Publish
uses: actions/upload-artifact@v3
with:
path: actions
name: YANBF-Linux