-
Notifications
You must be signed in to change notification settings - Fork 211
152 lines (131 loc) · 5.8 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
# Nightly Build & Pre-release
name: "Nightly"
on:
push:
branches:
- master
workflow_dispatch:
# Uncomment to enable scheduled runs, if desired:
# schedule:
# - cron: '0 5 * * *'
env:
NIGHTLY_TAG: "v3.2.0-beta"
NIGHTLY_NAME: "3.2.0-beta"
NIGHTLY_BODY: |
This is the current Polished Crystal 3.2.0 *beta* release. The assets all have an 8-character "commit hash" at the end to identify the exact code they're built from.
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 **polishedcrystal** assets are ROMs and symbol files with extra features to help debug the game. Do ***not*** download these to just play with; use them to help the developers diagnose and fix bugs, or create new features.
jobs:
build:
name: "Nightly"
uses: Rangi42/polishedcrystal/.github/workflows/build.yml@master
release:
name: "Nightly / 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/[email protected]
with:
name: "polishedcrystal"
path: "./build"
- id: download-polishedcrystal-faithful
name: "Download polishedcrystal-faithful"
uses: actions/[email protected]
with:
name: "polishedcrystal-faithful"
path: "./build"
- id: download-polisheddebug
name: "Download polisheddebug"
uses: actions/[email protected]
with:
name: "polisheddebug"
path: "./build"
- id: download-polisheddebug-faithful
name: "Download polisheddebug-faithful"
uses: actions/[email protected]
with:
name: "polisheddebug-faithful"
path: "./build"
# DELETE OLD RELEASE
- name: Delete old release
id: delete_release
uses: cb80/delrel@latest
with:
tag: ${{ env.NIGHTLY_TAG }}
# ADVANCE NIGHTLY TAG TO MASTER
- name: Advance nightly tag to master
run: |
git tag ${{ env.NIGHTLY_TAG }} -f
git push --tags -f "https://Rangi42:[email protected]/Rangi42/polishedcrystal.git"
# CREATE NEW RELEASE
- name: Create new release
id: create_release
uses: softprops/action-gh-release@v1
with:
tag_name: ${{ env.NIGHTLY_TAG }}
name: ${{ env.NIGHTLY_NAME }}
body: ${{ env.NIGHTLY_BODY }}
draft: false
prerelease: true
# UPLOAD POLISHED CRYSTAL ASSETS
- name: Upload regular assets
id: upload
uses: softprops/action-gh-release@v1
with:
tag_name: ${{ env.NIGHTLY_TAG }}
files: |
./build/polishedcrystal-3.2.0-beta-${{ env.SHORT_SHA }}.gbc
./build/polishedcrystal-3.2.0-beta-${{ env.SHORT_SHA }}.patch
./build/polishedcrystal-3.2.0-beta-${{ env.SHORT_SHA }}.sym
# UPLOAD FAITHFUL ASSETS
- name: Upload faithful assets
id: upload-faithful
uses: softprops/action-gh-release@v1
with:
tag_name: ${{ env.NIGHTLY_TAG }}
files: |
./build/polishedcrystal-faithful-3.2.0-beta-${{ env.SHORT_SHA }}.gbc
./build/polishedcrystal-faithful-3.2.0-beta-${{ env.SHORT_SHA }}.patch
./build/polishedcrystal-faithful-3.2.0-beta-${{ env.SHORT_SHA }}.sym
# UPLOAD DEBUG ASSETS
- name: Upload debug assets
id: upload-debug
uses: softprops/action-gh-release@v1
with:
tag_name: ${{ env.NIGHTLY_TAG }}
files: |
./build/polishedcrystal-debug-3.2.0-beta-${{ env.SHORT_SHA }}.gbc
./build/polishedcrystal-debug-3.2.0-beta-${{ env.SHORT_SHA }}.patch
./build/polishedcrystal-debug-3.2.0-beta-${{ 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.NIGHTLY_TAG }}
files: |
./build/polishedcrystal-faithful-debug-3.2.0-beta-${{ env.SHORT_SHA }}.gbc
./build/polishedcrystal-faithful-debug-3.2.0-beta-${{ env.SHORT_SHA }}.patch
./build/polishedcrystal-faithful-debug-3.2.0-beta-${{ env.SHORT_SHA }}.sym