Merge pull request #4 from thecoder08/patch-1

Set up CI/CD with Github Actions
This commit is contained in:
Bluzume 2021-08-17 00:14:45 +12:00 committed by GitHub
commit a5562b62be
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 148 additions and 0 deletions

126
.github/workflows/buildnw.yml vendored Normal file
View File

@ -0,0 +1,126 @@
name: Build NW.js apps
on:
[push, workflow_dispatch]
jobs:
build:
name: Build NW.js apps
runs-on: ubuntu-latest
steps:
- name: Get repository code
uses: actions/checkout@v2
- name: Create build directory
run: mkdir build
- name: Download Windows x64 NW.js
run: wget https://dl.nwjs.io/v0.55.0/nwjs-v0.55.0-win-x64.zip
- name: Download Windows ia32 NW.js
run: wget https://dl.nwjs.io/v0.55.0/nwjs-v0.55.0-win-ia32.zip
- name: Download Linux x64 NW.js
run: wget https://dl.nwjs.io/v0.55.0/nwjs-v0.55.0-linux-x64.tar.gz
- name: Download Linux ia32 NW.js
run: wget https://dl.nwjs.io/v0.55.0/nwjs-v0.55.0-linux-ia32.tar.gz
- name: Download MacOS NW.js
run: wget https://dl.nwjs.io/v0.55.0/nwjs-v0.55.0-osx-x64.zip
- name: Extract Windows x64 NW.js
run: unzip nwjs-v0.55.0-win-x64.zip
- name: Extract Windows ia32 NW.js
run: unzip nwjs-v0.55.0-win-ia32.zip
- name: Extract Linux x64 NW.js
run: tar -xvf nwjs-v0.55.0-linux-x64.tar.gz
- name: Extract Linux ia32 NW.js
run: tar -xvf nwjs-v0.55.0-linux-ia32.tar.gz
- name: Extract MacOS NW.js
run: unzip nwjs-v0.55.0-osx-x64.zip
- name: Delete archives
run: rm nwjs-v0.55.0-linux-x64.tar.gz nwjs-v0.55.0-win-x64.zip nwjs-v0.55.0-linux-ia32.tar.gz nwjs-v0.55.0-win-ia32.zip nwjs-v0.55.0-osx-x64.zip
- name: Rename and move NW.js directories
run: mv nwjs-v0.55.0-linux-x64 build/KitsuneOffline-linux-x64 && mv nwjs-v0.55.0-win-x64 build/KitsuneOffline-win-x64 && mv nwjs-v0.55.0-linux-ia32 build/KitsuneOffline-linux-ia32 && mv nwjs-v0.55.0-win-ia32 build/KitsuneOffline-win-ia32 && mv nwjs-v0.55.0-osx-x64/nwjs.app build/Kitsune.app
- name: Create package.nw directories
run: mkdir build/KitsuneOffline-linux-x64/package.nw && mkdir build/KitsuneOffline-win-x64/package.nw && mkdir build/KitsuneOffline-linux-ia32/package.nw && mkdir build/KitsuneOffline-win-ia32/package.nw && mkdir build/Kitsune.app/Contents/Resources/app.nw
- name: Copy logos to NW.js directories
run: cp -r logos build/KitsuneOffline-linux-x64/package.nw && cp -r logos build/KitsuneOffline-win-x64/package.nw && cp -r logos build/KitsuneOffline-linux-ia32/package.nw && cp -r logos build/KitsuneOffline-win-ia32/package.nw && cp -r logos build/Kitsune.app/Contents/Resources/app.nw
- name: Copy package.json to NW.js directories
run: cp package.json build/KitsuneOffline-linux-x64/package.nw && cp package.json build/KitsuneOffline-win-x64/package.nw && cp package.json build/KitsuneOffline-linux-ia32/package.nw && cp package.json build/KitsuneOffline-win-ia32/package.nw && cp package.json build/Kitsune.app/Contents/Resources/app.nw
- name: Rename executables
run: mv build/KitsuneOffline-linux-x64/nw build/KitsuneOffline-linux-x64/kitsune && mv build/KitsuneOffline-linux-ia32/nw build/KitsuneOffline-linux-ia32/kitsune && mv build/KitsuneOffline-win-x64/nw.exe build/KitsuneOffline-win-x64/kitsune.exe && mv build/KitsuneOffline-win-ia32/nw.exe build/KitsuneOffline-win-ia32/kitsune.exe
- name: Create Debian installer file structure
run: mkdir build/KitsuneOffline-debian-x64 && mkdir build/KitsuneOffline-debian-x64/usr && mkdir mkdir build/KitsuneOffline-debian-x64/DEBIAN && mkdir build/KitsuneOffline-debian-x64/usr/bin && mkdir build/KitsuneOffline-debian-x64/usr/lib && mkdir build/KitsuneOffline-debian-x64/usr/share && mkdir build/KitsuneOffline-debian-x64/usr/share/applications
- name: Copy Linux build to Debian installer
run: cp -r build/KitsuneOffline-linux-x64 build/KitsuneOffline-debian-x64/usr/lib
- name: Create Symlink to command
run: cd build/KitsuneOffline-debian-x64/usr/bin && ln -s ../lib/KitsuneOffline-linux-x64/kitsune
- name: Copy control file
run: cp DEBIAN/control build/KitsuneOffline-debian-x64/DEBIAN
- name: Copy desktop file
run: cp kitsune.desktop build/KitsuneOffline-debian-x64/usr/share/applications
- name: Create Debian installer
run: cd build && dpkg-deb --build KitsuneOffline-debian-x64
- name: Create Windows archives
run: cd build && zip -r KitsuneOffline-win-x64.zip KitsuneOffline-win-x64 && zip -r KitsuneOffline-win-ia32.zip KitsuneOffline-win-ia32
- name: Create Linux archives
run: cd build && tar -czvf KitsuneOffline-linux-x64.tar.gz KitsuneOffline-linux-x64 && tar -czvf KitsuneOffline-linux-ia32.tar.gz KitsuneOffline-linux-ia32
- name: Create MacOS archive
run: cd build && zip -r KitsuneOffline-osx.zip Kitsune.app
- name: Upload Windows x64 build
uses: actions/upload-artifact@v2
with:
name: KitsuneOffline-win-x64.zip
path: build/KitsuneOffline-win-x64.zip
- name: Upload Linux x64 build
uses: actions/upload-artifact@v2
with:
name: KitsuneOffline-linux-x64.tar.gz
path: build/KitsuneOffline-linux-x64.tar.gz
- name: Upload Windows ia32 build
uses: actions/upload-artifact@v2
with:
name: KitsuneOffline-win-ia32.zip
path: build/KitsuneOffline-win-ia32.zip
- name: Upload Linux ia32 build
uses: actions/upload-artifact@v2
with:
name: KitsuneOffline-linux-ia32.tar.gz
path: build/KitsuneOffline-linux-ia32.tar.gz
- name: Upload Debian installer build
uses: actions/upload-artifact@v2
with:
name: KitsuneOffline-debian-x64.deb
path: build/KitsuneOffline-debian-x64.deb
- name: Upload MacOS build
uses: actions/upload-artifact@v2
with:
name: KitsuneOffline-osx.zip
path: build/KitsuneOffline-osx.zip

8
DEBIAN/control Normal file
View File

@ -0,0 +1,8 @@
Package: kitsune
Version: 1.0
Section: custom
Priority: optional
Architecture: amd64
Essential: no
Maintainer: Lennon McLean
Description: An offline version of Google's Kitsune doodle game.

View File

@ -1,4 +1,7 @@
# KitsuneOffline # KitsuneOffline
![CI/CD Badge](https://github.com/KuromeSan/KitsuneOffline/actions/workflows/buildnw.yml/badge.svg)
Local Offline version of Kitsune Google Doodle, (Doodle Champion Island Games) Local Offline version of Kitsune Google Doodle, (Doodle Champion Island Games)
useful if you want to play without internet (or just want to mod the game) useful if you want to play without internet (or just want to mod the game)
@ -18,3 +21,5 @@ then download the latest release of https://github.com/iteufel/nwjs-ffmpeg-prebu
finally copy package.json and logos/ from this repository into the NWJS folder. start nw.exe and your done finally copy package.json and logos/ from this repository into the NWJS folder. start nw.exe and your done
If you like living on the edge:
You can download the releases from Github Actions directly. NOTE: THESE BUILDS ARE CREATED AFTER EVERY COMMIT!!! That means that if a game-breaking bug gets accidentally introduced, then the build will be broken and not work. This is in contrast to the releases page where builds are tested before release.

9
kitsune.desktop Normal file
View File

@ -0,0 +1,9 @@
[Desktop Entry]
Type=Application
Version=1.0
Name=Kitsune
Comment=An offline version of Google's Kitsune doodle game.
Exec=kitsune
Icon=/usr/lib/kitsune-linux-x64/package.nw/logos/favicon.ico
Terminal=false
Categories=Game;