mirror of
https://github.com/izzy2lost/Ghostship.git
synced 2026-10-26 11:45:44 -07:00
72 lines
2.1 KiB
YAML
72 lines
2.1 KiB
YAML
name: Build Mod
|
|
|
|
on:
|
|
push:
|
|
branches: [ "main", "master" ]
|
|
pull_request:
|
|
branches: [ "main", "master" ]
|
|
workflow_dispatch:
|
|
|
|
jobs:
|
|
build:
|
|
runs-on: ubuntu-latest
|
|
|
|
steps:
|
|
- name: Checkout Mod Repository
|
|
uses: actions/checkout@v4
|
|
with:
|
|
path: 'mod-source'
|
|
|
|
- name: Checkout Ghostship Repository
|
|
uses: actions/checkout@v4
|
|
with:
|
|
repository: 'HarbourMasters/Ghostship'
|
|
ref: 'develop'
|
|
submodules: 'recursive'
|
|
path: 'Ghostship'
|
|
|
|
- name: Prepare Workspace
|
|
run: |
|
|
mkdir -p Ghostship/workspace
|
|
mv mod-source Ghostship/workspace
|
|
|
|
- name: Install Dependencies
|
|
run: |
|
|
sudo apt-get update
|
|
sudo apt-get install -y python3 python3-pip cmake
|
|
python3 -m pip install Pillow cryptography --break-system-packages
|
|
|
|
- name: Configure CMake
|
|
run: |
|
|
cd Ghostship/workspace/mod-source
|
|
cmake -B build -S .
|
|
|
|
- name: Read Project Name
|
|
id: meta
|
|
run: |
|
|
PROJECT_NAME=$(grep "^CMAKE_PROJECT_NAME:" Ghostship/workspace/mod-source/build/CMakeCache.txt | sed 's/.*=//')
|
|
echo "project_name=$PROJECT_NAME" >> $GITHUB_OUTPUT
|
|
|
|
- name: Build Mod
|
|
run: |
|
|
cd Ghostship/workspace/mod-source
|
|
cmake --build build -j$(nproc)
|
|
|
|
- name: Sign Mod
|
|
run: |
|
|
cd Ghostship/workspace/mod-source/output
|
|
zip -r ../${{ steps.meta.outputs.project_name }}.zip .
|
|
cd ..
|
|
# echo "${{ secrets.SIGN_PRIVATE_KEY }}" > private_key.pem
|
|
# python3 ../../libultraship/tools/sign.py ${{ steps.meta.outputs.project_name }}.zip private_key.pem
|
|
# rm private_key.pem
|
|
unzip ${{ steps.meta.outputs.project_name }}.zip -d signed-output
|
|
rm ${{ steps.meta.outputs.project_name }}.zip
|
|
|
|
- name: Upload Mod Artifact
|
|
uses: actions/upload-artifact@v4
|
|
with:
|
|
name: ${{ steps.meta.outputs.project_name }}
|
|
path: Ghostship/workspace/mod-source/signed-output/
|
|
retention-days: 7
|