Skip to content

Commit 56622cd

Browse files
committed
ci: Initial CI implementation
1 parent 7d2c8ff commit 56622cd

File tree

7 files changed

+153
-2
lines changed

7 files changed

+153
-2
lines changed

.github/FUNDING.yml

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
# These are supported funding model platforms
2+
3+
github: # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2]
4+
patreon: # Replace with a single Patreon username
5+
open_collective: # Replace with a single Open Collective username
6+
ko_fi: # Replace with a single Ko-fi username
7+
tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel
8+
community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry
9+
liberapay: # Replace with a single Liberapay username
10+
issuehunt: # Replace with a single IssueHunt username
11+
lfx_crowdfunding: # Replace with a single LFX Crowdfunding project-name e.g., cloud-foundry
12+
polar: # Replace with a single Polar username
13+
buy_me_a_coffee: allkern
14+
custom: # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2']

.github/workflows/macos.yml

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
name: macOS CI
2+
3+
on:
4+
push:
5+
branches: [ "master" ]
6+
7+
jobs:
8+
build:
9+
runs-on: macos-latest
10+
11+
steps:
12+
- uses: actions/checkout@v4
13+
with:
14+
fetch-depth: 0
15+
- name: Install SDL2 and dylibbundler
16+
run: |
17+
brew install sdl2
18+
brew install dylibbundler
19+
- name: Build and pack Iris
20+
run: |
21+
git fetch --all --tags
22+
./build.sh
23+
tar -czf iris-macos-latest.tar.gz iris.app
24+
- uses: actions/upload-artifact@v4
25+
with:
26+
name: iris-macos-latest
27+
path: ./iris-macos-latest.tar.gz

.github/workflows/ubuntu.yml

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
name: Ubuntu CI
2+
3+
on:
4+
push:
5+
branches: [ "master" ]
6+
7+
jobs:
8+
build:
9+
runs-on: ubuntu-latest
10+
11+
steps:
12+
- uses: actions/checkout@v4
13+
with:
14+
fetch-depth: 0
15+
- name: Install SDL2
16+
run: |
17+
sudo apt update
18+
sudo apt install libsdl2-dev
19+
- name: Build Iris
20+
run: |
21+
git fetch --all --tags
22+
./setup_gl3w.sh
23+
make
24+
- name: Pack executable
25+
run: |
26+
chmod +x ./bin/iris
27+
mv ./bin/iris ./
28+
tar -czf iris-ubuntu-latest.tar.gz ./iris
29+
- uses: actions/upload-artifact@v4
30+
with:
31+
name: iris-ubuntu-latest
32+
path: ./iris-ubuntu-latest.tar.gz

.github/workflows/windows.yml

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
name: Windows CI
2+
3+
on:
4+
push:
5+
branches: [ "master" ]
6+
7+
jobs:
8+
build:
9+
runs-on: windows-latest
10+
11+
steps:
12+
- uses: actions/checkout@v4
13+
with:
14+
fetch-depth: 0
15+
- name: Run build-deps
16+
run: ./build-deps.ps1
17+
- name: Run build-win64
18+
run: |
19+
./build-win.ps1
20+
New-Item -Path "iris" -ItemType Directory
21+
Copy-Item -Recurse "bin" -Destination "iris"
22+
- uses: actions/upload-artifact@v4
23+
with:
24+
name: iris-win64-latest
25+
path: iris/

Info.plist

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
3+
<plist version="1.0">
4+
<dict>
5+
<key>CFBundleDevelopmentRegion</key>
6+
<string>en</string>
7+
<key>CFBundleExecutable</key>
8+
<string>iris</string>
9+
<key>CFBundleIdentifier</key>
10+
<string>iris.app.0</string>
11+
<key>CFBundleInfoDictionaryVersion</key>
12+
<string>6.0</string>
13+
<key>CFBundleName</key>
14+
<string>Iris</string>
15+
<key>CFBundlePackageType</key>
16+
<string>APPL</string>
17+
<key>CFBundleShortVersionString</key>
18+
<string>0.1-alpha</string>
19+
<key>CFBundleSignature</key>
20+
<string>iris</string>
21+
<key>CFBundleVersion</key>
22+
<string>0.1-alpha</string>
23+
<key>LSApplicationCategoryType</key>
24+
<string>public.app-category.games</string>
25+
<key>LSMinimumSystemVersion</key>
26+
<string>10.6</string>
27+
<key>NSHighResolutionCapable</key>
28+
<true/>
29+
<key>NSPrincipalClass</key>
30+
<string>NSApplication</string>
31+
</dict>
32+
</plist>

Makefile

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ OUTPUT_DIR := bin
1313

1414
CXX := g++
1515
CXXFLAGS := $(addprefix -I, $(INCLUDE_DIRS)) -iquote src $(shell sdl2-config --cflags --libs)
16-
CXXFLAGS += -O3 -march=native -mtune=native -flto=auto -Wall -g -D_EE_USE_INTRINSICS
16+
CXXFLAGS += -O3 -march=native -mtune=native -flto=auto -Wall -D_EE_USE_INTRINSICS
1717
CXXFLAGS += -D_IRIS_VERSION="$(VERSION_TAG)"
1818
CXXFLAGS += -D_IRIS_COMMIT="$(COMMIT_HASH)"
1919
CXXFLAGS += -D_IRIS_OSVERSION="$(OS_INFO)"
@@ -63,4 +63,4 @@ $(OUTPUT_DIR)/$(EXEC): $(COBJ) $(CXXOBJ)
6363

6464
clean:
6565
rm -rf $(OUTPUT_DIR)
66-
rm $(COBJ) $(CXXOBJ)
66+
rm $(COBJ) $(CXXOBJ)

build.sh

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
#!/bin/sh
2+
3+
./setup_gl3w.sh
4+
5+
# Build emulator
6+
make clean && make
7+
8+
# Create bundle filesystem
9+
mkdir -p iris.app/Contents/MacOS/Libraries
10+
11+
# Move executable to folder
12+
mv bin/iris iris.app/Contents/MacOS
13+
14+
# Make executable
15+
chmod 777 iris.app/Contents/MacOS/iris
16+
17+
# Bundle required dylibs
18+
dylibbundler -b -x ./iris.app/Contents/MacOS/iris -d ./iris.app/Contents/Libraries/ -p @executable_path/../Libraries/ -cd
19+
20+
# Move plist to Contents folder
21+
mv Info.plist iris.app/Contents/Info.plist

0 commit comments

Comments
 (0)