-
Notifications
You must be signed in to change notification settings - Fork 300
154 lines (132 loc) · 6.08 KB
/
dev-rolling-release.yml
File metadata and controls
154 lines (132 loc) · 6.08 KB
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
# Dev Rolling Build & Pre-release
name: "Dev Rolling Release"
on:
push:
branches:
- master
workflow_dispatch:
# Uncomment to enable scheduled runs, if desired:
# schedule:
# - cron: '0 5 * * *'
env:
DEV_TAG: "do-not-checkout"
DEV_NAME: "Development Rolling Release"
DEV_BODY: |
This is the current Polished Crystal development rolling release – **strictly for testing and development purposes.** These builds are experimental and are provided to help developers and testers verify the latest changes and features. **Do not use these builds for regular gameplay.** The assets all have an 8-character commit hash at the end to identify the exact code they're built from.
**Important:** Save game compatibility is not guaranteed in these builds, and the official save patcher will not support them upon release.
The **.gbc** assets are ROMs. If you just want to play the game, download one (regular, `-faithful` which omits some non-canon changes, or `noir` which is in grayscale) and load it in [BGB](https://bgb.bircd.org/), [mGBA](https://mgba.io/), [Gambatte](https://github.com/sinamas/gambatte), or another accurate Game Boy Color emulator. (***Do not use VBA*** or VBA-M.)
The **.sym** assets are "symbol files". They're useful for debugging or for [discovering cheat codes](https://github.com/pret/pokecrystal/wiki/Discovering-GameShark-cheat-codes), although cheats are *not* officially supported and may cause bugs or crashes. (Do ***not*** ask the developers for cheat codes.)
The **.patch** assets are 3DS Virtual Console patches to enable trading and battling over Wi-Fi. You can bundle the .gbc and corresponding .patch into a playable .cia file using [poke-cia](https://github.com/vulcandth/poke-cia).
The **debug** assets are ROMs and symbol files with extra features to help debug the game. Do ***not*** download these just to play; use them to help the developers diagnose and fix bugs, or to create new features.
jobs:
build:
name: "Dev Rolling Release Build"
uses: Rangi42/polishedcrystal/.github/workflows/build.yml@master
release:
name: "Dev Rolling Release / Release"
# Only proceed with the release job if this is the official repository (not a fork)
if: ${{ github.repository_owner == 'Rangi42' }}
runs-on: ubuntu-latest
needs: build
steps:
# SET ENVIRONMENT VARIABLES
- id: set-env-var
name: "Set environment variables"
run: |
echo "SHORT_SHA=$(echo ${GITHUB_SHA} | cut -c1-8)" >> $GITHUB_ENV
# INSTALL DEPENDENCIES
- id: apt-get-depends
name: "Install dependencies"
run: |
sudo apt-get update
sudo apt-get install bison gcc git make -y;
# CHECKOUT REPOSITORY
- id: checkout-polishedcrystal
name: "Checkout Rangi42/polishedcrystal"
uses: actions/checkout@v4
# DOWNLOAD ALL BUILD ARTIFACTS
- id: download-polishedcrystal
name: "Download polishedcrystal"
uses: actions/download-artifact@v4.1.7
with:
name: "polishedcrystal"
path: "./build"
- id: download-polishedcrystal-faithful
name: "Download polishedcrystal-faithful"
uses: actions/download-artifact@v4.1.7
with:
name: "polishedcrystal-faithful"
path: "./build"
- id: download-polisheddebug
name: "Download polisheddebug"
uses: actions/download-artifact@v4.1.7
with:
name: "polisheddebug"
path: "./build"
- id: download-polisheddebug-faithful
name: "Download polisheddebug-faithful"
uses: actions/download-artifact@v4.1.7
with:
name: "polisheddebug-faithful"
path: "./build"
# DELETE OLD RELEASE (if any)
- name: Delete old release
id: delete_release
uses: cb80/delrel@latest
with:
tag: ${{ env.DEV_TAG }}
# ADVANCE DEV TAG TO MASTER
- name: Advance dev tag to master
run: |
git tag ${{ env.DEV_TAG }} -f
git push --tags -f "https://Rangi42:$GITHUB_TOKEN@github.com/Rangi42/polishedcrystal.git"
# CREATE NEW RELEASE
- name: Create new release
id: create_release
uses: softprops/action-gh-release@v1
with:
tag_name: ${{ env.DEV_TAG }}
name: ${{ env.DEV_NAME }}
body: ${{ env.DEV_BODY }}
draft: false
prerelease: true
# UPLOAD REGULAR ASSETS
- name: Upload regular assets
id: upload
uses: softprops/action-gh-release@v1
with:
tag_name: ${{ env.DEV_TAG }}
files: |
./build/polishedcrystal-dev-${{ env.SHORT_SHA }}.gbc
./build/polishedcrystal-dev-${{ env.SHORT_SHA }}.patch
./build/polishedcrystal-dev-${{ env.SHORT_SHA }}.sym
# UPLOAD FAITHFUL ASSETS
- name: Upload faithful assets
id: upload-faithful
uses: softprops/action-gh-release@v1
with:
tag_name: ${{ env.DEV_TAG }}
files: |
./build/polishedcrystal-faithful-dev-${{ env.SHORT_SHA }}.gbc
./build/polishedcrystal-faithful-dev-${{ env.SHORT_SHA }}.patch
./build/polishedcrystal-faithful-dev-${{ env.SHORT_SHA }}.sym
# UPLOAD DEBUG ASSETS
- name: Upload debug assets
id: upload-debug
uses: softprops/action-gh-release@v1
with:
tag_name: ${{ env.DEV_TAG }}
files: |
./build/polishedcrystal-debug-dev-${{ env.SHORT_SHA }}.gbc
./build/polishedcrystal-debug-dev-${{ env.SHORT_SHA }}.patch
./build/polishedcrystal-debug-dev-${{ env.SHORT_SHA }}.sym
# UPLOAD FAITHFUL DEBUG ASSETS
- name: Upload faithful debug assets
id: upload-faithful-debug
uses: softprops/action-gh-release@v1
with:
tag_name: ${{ env.DEV_TAG }}
files: |
./build/polishedcrystal-faithful-debug-dev-${{ env.SHORT_SHA }}.gbc
./build/polishedcrystal-faithful-debug-dev-${{ env.SHORT_SHA }}.patch
./build/polishedcrystal-faithful-debug-dev-${{ env.SHORT_SHA }}.sym