gbdk-2020 | GameBoy Development Kit |
| download: https://git.y1.nz/archives/gbdk.tar.gz | |
| README | Files | Log | Refs | LICENSE |
.github/workflows/gbdk_build_and_package.yml
1 name: GBDK Build and Package
2
3 on:
4 # Allows you to run this workflow manually from the Actions tab
5 workflow_dispatch:
6 # Triggers the workflow on push or pull request events but only for the develop branch
7 # push:
8 # branches: [ develop ]
9 # pull_request:
10 # branches: [ develop ]
11
12 jobs:
13 build:
14 runs-on: ${{ matrix.os }}
15 strategy:
16 matrix:
17 include:
18 - os: ubuntu-22.04
19 name: Linux-x64
20 - os: ubuntu-22.04-arm
21 name: Linux-arm64
22 - os: macos-15-intel
23 name: MacOS-x64
24 - os: macos-14
25 name: MacOS-arm64
26 - os: windows-2022
27 name: Windows-x64
28 - os: windows-2022
29 name: Windows-x32
30 steps:
31
32 # ==== OS Specific Dependencies ====
33 - name: Linux Depends
34 if: matrix.name == 'Linux-x64'
35 run: |
36 curl -Lo sdcc.tar.gz https://github.com/gbdk-2020/gbdk-2020-sdcc/releases/download/gbdk-sdcc-next/sdcc-15267-peeprule-18e-off-Linux-x64.tar.gz
37 tar xvfz sdcc.tar.gz
38
39 - name: Linux Arm Depends
40 if: matrix.name == 'Linux-arm64'
41 run: |
42 curl -Lo sdcc.tar.gz https://github.com/gbdk-2020/gbdk-2020-sdcc/releases/download/gbdk-sdcc-next/sdcc-15267-peeprule-18e-off-Linux-arm64.tar.gz
43 tar xvfz sdcc.tar.gz
44
45 - name: MacOS Depends
46 if: matrix.name == 'MacOS-x64'
47 run: |
48 curl -Lo sdcc.tar.gz https://github.com/gbdk-2020/gbdk-2020-sdcc/releases/download/gbdk-sdcc-next/sdcc-15267-peeprule-18e-off-MacOS-x64.tar.gz
49 tar xvfz sdcc.tar.gz
50
51 - name: MacOS ARM Depends
52 if: matrix.name == 'MacOS-arm64'
53 run: |
54 curl -Lo sdcc.tar.gz https://github.com/gbdk-2020/gbdk-2020-sdcc/releases/download/gbdk-sdcc-next/sdcc-15267-peeprule-18e-off-MacOS-arm64.tar.gz
55 tar xvfz sdcc.tar.gz
56
57 - name: Windows-x64 Depends
58 if: matrix.name == 'Windows-x64'
59 run: |
60 curl -Lo sdcc.tar.gz https://github.com/gbdk-2020/gbdk-2020-sdcc/releases/download/gbdk-sdcc-next/sdcc-15267-peeprule-18e-off-Win64-On-Linux.tar.gz
61 7z x sdcc.tar.gz
62 7z x sdcc.tar
63
64 - name: Windows-x32 Depends
65 if: matrix.name == 'Windows-x32'
66 run: |
67 curl -Lo sdcc.tar.gz https://github.com/gbdk-2020/gbdk-2020-sdcc/releases/download/gbdk-sdcc-next/sdcc-15267-peeprule-18e-off-Win32-On-Linux.tar.gz
68 7z x sdcc.tar.gz
69 7z x sdcc.tar
70
71 - name: Windows Depends MSYS2/MinGW64
72 if: matrix.name == 'Windows-x64'
73 uses: msys2/setup-msys2@v2
74 with:
75 msystem: MINGW64
76 path-type: minimal #strict
77 release: false
78 update: false
79 install: >-
80 base-devel
81 mingw-w64-x86_64-toolchain
82
83 - name: Windows Depends MSYS2/MinGW32
84 if: matrix.name == 'Windows-x32'
85 uses: msys2/setup-msys2@v2
86 with:
87 msystem: MINGW32
88 path-type: minimal #strict
89 release: false
90 update: false
91 install: >-
92 base-devel
93 mingw-w64-i686-toolchain
94
95 # ==== Build Steps ====
96 - name: Check out GBDK-2020
97 uses: actions/checkout@v4
98 with:
99 path: gbdk-2020
100 submodules: false
101
102 # ==== Pre-Build: Set environment vars ====
103 # Needs to be in a separate step than build so that setting the environment var takes effect
104 #
105 - name: Pre-Build Linux x64
106 if: (matrix.name == 'Linux-x64')
107 shell: bash
108 run: |
109 echo "BUILD_PACKAGE_FILENAME=gbdk-linux64.tar.gz" >> $GITHUB_ENV
110
111 - name: Pre-Build Linux arm64
112 if: (matrix.name == 'Linux-arm64')
113 shell: bash
114 run: |
115 echo "BUILD_PACKAGE_FILENAME=gbdk-linux-arm64.tar.gz" >> $GITHUB_ENV
116
117 - name: Pre-Build Linux/MacOS
118 if: (matrix.name == 'MacOS-x64')
119 shell: bash
120 run: |
121 echo "BUILD_PACKAGE_FILENAME=gbdk-macos.tar.gz" >> $GITHUB_ENV
122
123 - name: Pre-Build Linux/MacOS
124 if: (matrix.name == 'MacOS-arm64')
125 shell: bash
126 run: |
127 echo "BUILD_PACKAGE_FILENAME=gbdk-macos-arm64.tar.gz" >> $GITHUB_ENV
128
129 - name: Pre-Build Windows
130 if: (matrix.name == 'Windows-x64')
131 shell: bash
132 run: |
133 echo "BUILD_PACKAGE_FILENAME=gbdk-win64.zip" >> $GITHUB_ENV
134
135 - name: Pre-Build Windows
136 if: (matrix.name == 'Windows-x32')
137 shell: bash
138 run: |
139 echo "BUILD_PACKAGE_FILENAME=gbdk-win32.zip" >> $GITHUB_ENV
140
141 # ==== Builds ====
142 - name: Build GBDK-2020 Linux/MacOS
143 if: (matrix.name == 'Linux-x64') || (matrix.name == 'Linux-arm64') || (matrix.name == 'MacOS-x64') || (matrix.name == 'MacOS-arm64')
144 shell: bash
145 run: |
146 export SDCCDIR=`pwd`/sdcc
147 cd gbdk-2020
148 make
149 cd ..
150
151 - name: Build GBDK-2020 Windows
152 if: (matrix.name == 'Windows-x64') || (matrix.name == 'Windows-x32')
153 shell: cmd
154 run: |
155 set SDCCDIR=%CD%\sdcc
156 cd gbdk-2020
157 msys2 -c 'make'
158 cd ..
159
160 # ==== Packaging ====
161 - name: Package build Linux/MacOS
162 if: (matrix.name == 'Linux-x64') || (matrix.name == 'Linux-arm64') || (matrix.name == 'MacOS-x64') || (matrix.name == 'MacOS-arm64')
163 shell: bash
164 run: |
165 cd gbdk-2020
166 mkdir package
167 cd build
168 tar czf ../package/${{ env.BUILD_PACKAGE_FILENAME }} gbdk
169 cd ..
170 cd ..
171
172 - name: Package build Windows
173 if: (matrix.name == 'Windows-x64') || (matrix.name == 'Windows-x32')
174 shell: cmd
175 run: |
176 cd gbdk-2020
177 mkdir package
178 cd build
179 7z a ../package/${{ env.BUILD_PACKAGE_FILENAME }} gbdk
180 cd ..
181 cd ..
182
183 - name: Store build
184 if: (matrix.name == 'Linux-x64') || (matrix.name == 'Linux-arm64') || (matrix.name == 'MacOS-x64') || (matrix.name == 'MacOS-arm64') || ('Windows-x64') || ('Windows-x32')
185 uses: actions/upload-artifact@v4
186 with:
187 name: ${{ matrix.name }} build
188 path: gbdk-2020/package/${{ env.BUILD_PACKAGE_FILENAME }}
189 # retention-days: 14
This webpage is intended to be an accessible preview of this repository. To get a fuller picture, clone it and use the git CLI.