Skip to content

Commit 7ab8a28

Browse files
Update extended to latest CC build.
1 parent a167b3f commit 7ab8a28

1,137 files changed

Lines changed: 60119 additions & 197662 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
Lines changed: 8 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,29 +1,19 @@
11
name: Notify success
2-
description: Sends a notification that a workflow has finished.
2+
description: Sends a notification that a workflow has finished
33
inputs:
4-
BOT_USERNAME:
5-
description: 'Username to use for the discord bot message'
6-
default: 'CC BuildBot'
7-
required: false
4+
DESTINATION_URL:
5+
description: 'Webhook notification URL'
86
type: string
9-
BOT_AVATAR:
10-
description: 'URL to use for the avatar of the discord bot message'
11-
default: 'https://static.classicube.net/img/cc-cube-small.png'
12-
required: false
13-
type: string
14-
NOTIFY_MESSAGE:
15-
description: 'Notification message to send'
16-
required: true
17-
type: string
18-
WEBHOOK_URL:
19-
description: 'Discord webhook URL'
7+
WORKFLOW_NAME:
8+
description: 'Workflow name'
209
required: true
2110
type: string
2211

2312
runs:
2413
using: "composite"
2514
steps:
26-
- name: Notify Success
15+
- name: Notify failure
16+
if: ${{ inputs.DESTINATION_URL != '' }}
2717
shell: sh
2818
run: |
29-
curl ${{ inputs.WEBHOOK_URL }} -H "Accept: application/json" -H "Content-Type:application/json" -X POST --data "{\"username\": \"${{ inputs.BOT_USERNAME }}\", \"avatar_url\": \"${{ inputs.BOT_AVATAR }}\", \"content\": \"${{ inputs.NOTIFY_MESSAGE }}\" }"
19+
curl ${{ inputs.DESTINATION_URL }}/${{ inputs.WORKFLOW_NAME }}/${{ github.sha }}

.github/actions/upload_build/action.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,3 +17,4 @@ runs:
1717
with:
1818
name: ${{ inputs.DEST_NAME }}
1919
path: ${{ inputs.SOURCE_FILE }}
20+
if-no-files-found: error

.github/unused/build_3ds.yml

Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
name: Build latest (3DS)
2+
# trigger via either push to selected branches or on manual run
3+
on:
4+
push:
5+
branches:
6+
- main
7+
- master
8+
workflow_dispatch:
9+
10+
concurrency:
11+
group: ${{ github.ref }}-3ds
12+
cancel-in-progress: true
13+
14+
jobs:
15+
build-3DS:
16+
timeout-minutes: 10
17+
runs-on: ubuntu-latest
18+
container:
19+
image: devkitpro/devkitarm:latest
20+
steps:
21+
- uses: actions/checkout@v4
22+
- name: Compile 3DS build
23+
id: compile
24+
run: |
25+
make 3ds
26+
27+
28+
- uses: ./.github/actions/upload_build
29+
if: ${{ always() && steps.compile.outcome == 'success' }}
30+
with:
31+
SOURCE_FILE: 'ClassiCube-3ds.cia'
32+
DEST_NAME: 'ClassiCube-3ds.cia'
33+
34+
- uses: ./.github/actions/upload_build
35+
if: ${{ always() && steps.compile.outcome == 'success' }}
36+
with:
37+
SOURCE_FILE: 'ClassiCube-3ds.3dsx'
38+
DEST_NAME: 'ClassiCube-3ds.3dsx'
39+
40+
- uses: ./.github/actions/upload_build
41+
if: ${{ always() && steps.compile.outcome == 'success' }}
42+
with:
43+
SOURCE_FILE: 'ClassiCube-3ds.elf'
44+
DEST_NAME: 'ClassiCube-3ds.elf'
45+
46+
47+
- uses: ./.github/actions/notify_success
48+
if: ${{ always() && steps.compile.outcome == 'success' }}
49+
with:
50+
DESTINATION_URL: '${{ secrets.NOTIFY_URL }}'
51+
WORKFLOW_NAME: '3ds'
52+
53+
54+
- uses: ./.github/actions/notify_failure
55+
if: failure()
56+
with:
57+
NOTIFY_MESSAGE: 'Failed to produce 3DS build'
58+
WEBHOOK_URL: '${{ secrets.WEBHOOK_URL }}'

.github/unused/build_dreamcast.yml

Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,68 @@
1+
name: Build latest (Dreamcast)
2+
# trigger via either push to selected branches or on manual run
3+
on:
4+
push:
5+
branches:
6+
- main
7+
- master
8+
workflow_dispatch:
9+
10+
concurrency:
11+
group: ${{ github.ref }}-dreamcast
12+
cancel-in-progress: true
13+
14+
jobs:
15+
build:
16+
timeout-minutes: 10
17+
runs-on: ubuntu-latest
18+
container:
19+
image: ghcr.io/kos-builds/kos-dc:sha-20149ee-14.2.0
20+
steps:
21+
- uses: actions/checkout@v4
22+
- name: Install prerequisites
23+
shell: bash
24+
run: |
25+
apt-get update
26+
apt-get -y install genisoimage
27+
wget https://github.com/ClassiCube/rpi-compiling-stuff/raw/main/cdi4dc -O /opt/toolchains/dc/kos/utils/cdi4dc
28+
chmod +x /opt/toolchains/dc/kos/utils/cdi4dc
29+
30+
- name: Compile Dreamcast build
31+
id: compile
32+
shell: bash
33+
run: |
34+
export PATH=/opt/toolchains/dc/kos/utils/:$PATH
35+
make dreamcast
36+
37+
38+
- uses: ./.github/actions/upload_build
39+
if: ${{ always() && steps.compile.outcome == 'success' }}
40+
with:
41+
SOURCE_FILE: 'ClassiCube-dc.cdi'
42+
DEST_NAME: 'ClassiCube-dc.cdi'
43+
44+
- uses: ./.github/actions/upload_build
45+
if: ${{ always() && steps.compile.outcome == 'success' }}
46+
with:
47+
SOURCE_FILE: 'ClassiCube-dc.iso'
48+
DEST_NAME: 'ClassiCube-dc.iso'
49+
50+
- uses: ./.github/actions/upload_build
51+
if: ${{ always() && steps.compile.outcome == 'success' }}
52+
with:
53+
SOURCE_FILE: 'ClassiCube-dc.elf'
54+
DEST_NAME: 'ClassiCube-dc.elf'
55+
56+
57+
- uses: ./.github/actions/notify_success
58+
if: ${{ always() && steps.compile.outcome == 'success' }}
59+
with:
60+
DESTINATION_URL: '${{ secrets.NOTIFY_URL }}'
61+
WORKFLOW_NAME: 'dreamcast'
62+
63+
64+
- uses: ./.github/actions/notify_failure
65+
if: failure()
66+
with:
67+
NOTIFY_MESSAGE: 'Failed to produce Dreamcast build'
68+
WEBHOOK_URL: '${{ secrets.WEBHOOK_URL }}'

.github/unused/build_freebsd.yml

Lines changed: 81 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,81 @@
1+
name: Build latest (FreeBSD)
2+
# trigger via either push to selected branches or on manual run
3+
on:
4+
push:
5+
branches:
6+
- main
7+
- master
8+
workflow_dispatch:
9+
10+
concurrency:
11+
group: ${{ github.ref }}-freebsd
12+
cancel-in-progress: true
13+
14+
jobs:
15+
build:
16+
timeout-minutes: 10
17+
runs-on: ubuntu-latest
18+
container:
19+
image: empterdose/freebsd-cross-build:11.4
20+
steps:
21+
- uses: actions/checkout@v4
22+
23+
- name: Install prerequisites
24+
run: apk add bash wget curl
25+
26+
- name: Retrieve OpenGL and X11 dev files (64 bit)
27+
run: |
28+
mkdir freebsd64
29+
cd freebsd64
30+
wget https://github.com/ClassiCube/rpi-compiling-stuff/raw/main/freebsd64.zip
31+
unzip freebsd64.zip
32+
33+
- name: Retrieve OpenGL and X11 dev files (32 bit)
34+
run: |
35+
mkdir freebsd32
36+
cd freebsd32
37+
wget https://github.com/ClassiCube/rpi-compiling-stuff/raw/main/freebsd32.zip
38+
unzip freebsd32.zip
39+
40+
- name: Compile FreeBSD builds
41+
id: compile
42+
shell: bash
43+
env:
44+
LIBS: "-lm -lpthread -lX11 -lXi -lGL -lexecinfo"
45+
SRCS: "src/*.c third_party/bearssl/*.c"
46+
FLAGS: "-O1 -s -fno-stack-protector -fno-math-errno -Qn -Werror -fvisibility=hidden -rdynamic -Werror"
47+
PLAT32_FLAGS: "-fno-pie -fcf-protection=none -I freebsd32/include -L freebsd32/lib"
48+
PLAT64_FLAGS: "-fno-pie -fcf-protection=none -I freebsd64/include -L freebsd64/lib"
49+
50+
run: |
51+
LATEST_FLAG=-DCC_COMMIT_SHA=\"${GITHUB_SHA::9}\"
52+
53+
i386-freebsd11-clang ${{ env.SRCS }} ${{ env.FLAGS }} ${{ env.PLAT32_FLAGS }} $LATEST_FLAG -o cc-fbsd32-gl1 ${{ env.LIBS }}
54+
x86_64-freebsd11-clang ${{ env.SRCS }} ${{ env.FLAGS }} ${{ env.PLAT64_FLAGS }} $LATEST_FLAG -o cc-fbsd64-gl1 ${{ env.LIBS }}
55+
56+
57+
- uses: ./.github/actions/upload_build
58+
if: ${{ always() && steps.compile.outcome == 'success' }}
59+
with:
60+
SOURCE_FILE: 'cc-fbsd32-gl1'
61+
DEST_NAME: 'ClassiCube-FreeBSD-32'
62+
63+
- uses: ./.github/actions/upload_build
64+
if: ${{ always() && steps.compile.outcome == 'success' }}
65+
with:
66+
SOURCE_FILE: 'cc-fbsd64-gl1'
67+
DEST_NAME: 'ClassiCube-FreeBSD-64'
68+
69+
70+
- uses: ./.github/actions/notify_success
71+
if: ${{ always() && steps.compile.outcome == 'success' }}
72+
with:
73+
DESTINATION_URL: '${{ secrets.NOTIFY_URL }}'
74+
WORKFLOW_NAME: 'freebsd'
75+
76+
77+
- uses: ./.github/actions/notify_failure
78+
if: failure()
79+
with:
80+
NOTIFY_MESSAGE: 'Failed to produce FreeBSD build(s)'
81+
WEBHOOK_URL: '${{ secrets.WEBHOOK_URL }}'
Original file line numberDiff line numberDiff line change
@@ -1,48 +1,51 @@
1-
name: Build latest (Haiku)
2-
# trigger via either push to selected branches or on manual run
3-
on:
4-
push:
5-
branches:
6-
- main
7-
- master
8-
workflow_dispatch:
9-
10-
concurrency:
11-
group: ${{ github.ref }}-haiku
12-
cancel-in-progress: true
13-
14-
jobs:
15-
build-haiku:
16-
runs-on: ubuntu-latest
17-
container:
18-
image: haiku/cross-compiler:x86_64-r1beta4
19-
steps:
20-
- uses: actions/checkout@v4
21-
- name: Compile haiku build
22-
id: compile
23-
env:
24-
COMMON_FLAGS: "-O1 -s -fno-stack-protector -fno-math-errno -Qn"
25-
run: |
26-
cd src
27-
x86_64-unknown-haiku-gcc *.c Platform_BeOS.cpp Window_BeOS.cpp -o ClassiCube-haiku ${{ env.COMMON_FLAGS }} -lm -lGL -lnetwork -lstdc++ -lbe -lgame -ltracker
28-
29-
30-
- uses: ./.github/actions/notify_failure
31-
if: ${{ always() && steps.compile.outcome == 'failure' }}
32-
with:
33-
NOTIFY_MESSAGE: 'Failed to compile ClassiCube Haiku build! '
34-
WEBHOOK_URL: '${{ secrets.WEBHOOK_URL }}'
35-
36-
37-
- uses: ./.github/actions/upload_build
38-
if: ${{ always() && steps.compile.outcome == 'success' }}
39-
with:
40-
SOURCE_FILE: 'src/ClassiCube-haiku'
41-
DEST_NAME: 'ClassiCube-haiku'
42-
43-
44-
- uses: ./.github/actions/notify_success
45-
if: ${{ always() && steps.compile.outcome == 'success' }}
46-
with:
47-
NOTIFY_MESSAGE: 'Successfully compiled ClassiCube Haiku build.'
48-
WEBHOOK_URL: '${{ secrets.WEBHOOK_URL }}'
1+
name: Build latest (Haiku)
2+
# trigger via either push to selected branches or on manual run
3+
on:
4+
push:
5+
branches:
6+
- main
7+
- master
8+
workflow_dispatch:
9+
10+
concurrency:
11+
group: ${{ github.ref }}-haiku
12+
cancel-in-progress: true
13+
14+
jobs:
15+
build:
16+
timeout-minutes: 10
17+
runs-on: ubuntu-latest
18+
container:
19+
image: haiku/cross-compiler:x86_64-r1beta4
20+
steps:
21+
- uses: actions/checkout@v4
22+
23+
- name: Compile haiku build
24+
id: compile
25+
env:
26+
LIBS: "-lm -lGL -lnetwork -lstdc++ -lbe -lgame -ltracker"
27+
SRCS: "src/*.c src/Platform_BeOS.cpp src/Window_BeOS.cpp third_party/bearssl/*.c"
28+
COMMON_FLAGS: "-O1 -s -fno-stack-protector -fno-math-errno -Qn -Werror"
29+
run: |
30+
x86_64-unknown-haiku-gcc ${{ env.SRCS }} -o ClassiCube-haiku ${{ env.COMMON_FLAGS }} ${{ env.LIBS }}
31+
32+
33+
- uses: ./.github/actions/upload_build
34+
if: ${{ always() && steps.compile.outcome == 'success' }}
35+
with:
36+
SOURCE_FILE: 'ClassiCube-haiku'
37+
DEST_NAME: 'ClassiCube-haiku'
38+
39+
40+
- uses: ./.github/actions/notify_success
41+
if: ${{ always() && steps.compile.outcome == 'success' }}
42+
with:
43+
DESTINATION_URL: '${{ secrets.NOTIFY_URL }}'
44+
WORKFLOW_NAME: 'haiku'
45+
46+
47+
- uses: ./.github/actions/notify_failure
48+
if: failure()
49+
with:
50+
NOTIFY_MESSAGE: 'Failed to produce Haiku build'
51+
WEBHOOK_URL: '${{ secrets.WEBHOOK_URL }}'

0 commit comments

Comments
 (0)