Skip to content

client: add an option for some people #238

client: add an option for some people

client: add an option for some people #238

Workflow file for this run

name: Build and Deploy
on: [ push, pull_request ]
jobs:
android:
name: Android
runs-on: ubuntu-latest
steps:
- name: Checkout sources
uses: actions/checkout@v5
with:
fetch-depth: 0
submodules: recursive
- name: Setup Java
uses: actions/setup-java@v4
with:
java-version: 17
distribution: 'temurin'
cache: gradle
- name: Build and Sign APK
env:
KEYSTORE_FILE_PATH: ${{ github.workspace }}/signingkey.jks
KEYSTORE_PASSWORD: ${{ secrets.KEY_STORE_PASSWORD }}
KEY_ALIAS: ${{ secrets.ALIAS }}
KEY_PASSWORD: ${{ secrets.KEY_PASSWORD }}
run: |
if [[ -n "${{ secrets.SIGNING_KEY }}" ]]; then
echo "${{ secrets.SIGNING_KEY }}" | base64 --decode > ${{ env.KEYSTORE_FILE_PATH }}
./gradlew assembleGitContinuous
mv app/build/outputs/apk/git/continuous/app-git-continuous.apk CS16Client-Android.apk
else
./gradlew assembleGitDebug
mv app/build/outputs/apk/git/debug/app-git-debug.apk CS16Client-Android.apk
fi
working-directory: android
- name: Upload artifacts
uses: actions/upload-artifact@v4
with:
name: Android
path: android/CS16Client-Android.apk
psvita:
name: PS Vita
runs-on: ubuntu-latest
steps:
- name: Checkout sources
uses: actions/checkout@v5
with:
fetch-depth: 0
submodules: recursive
- name: Install dependencies
run: |
sudo apt-get update
sudo apt-get install libatomic1 libgcc-s1 \
libstdc++6 gcc-multilib g++-multilib \
ninja-build libfontconfig-dev
- name: Setup VitaSDK
run: |
scripts/psvita_sdk.sh
echo "VITASDK=/usr/local/vitasdk" >> $GITHUB_ENV
echo "$VITASDK/bin" >> $GITHUB_PATH
- name: Configure CMake
run: cmake --preset "psvita-release"
- name: Generate configuration files
working-directory: build
run: ${{ github.workspace }}/scripts/psvita_generate_configs.sh
- name: Build and Package
working-directory: build
run: |
cmake --build . --parallel $(nproc)
cpack --config CPackConfig.cmake
- name: Upload artifacts
uses: actions/upload-artifact@v4
with:
name: PSVita
path: build/*.zip
windows:
name: Windows
runs-on: windows-latest
strategy:
matrix:
arch: [ 'x86', 'amd64' ]
fail-fast: false
steps:
- name: Checkout sources
uses: actions/checkout@v5
with:
fetch-depth: 0
submodules: recursive
- name: Setup Visual Studio
uses: ilammy/msvc-dev-cmd@v1
with:
arch: ${{ matrix.arch }}
- name: Configure
run: cmake --preset "win32-ci-${{ matrix.arch }}"
- name: Build and Package
run: |
cmake --build .
cpack --config CPackConfig.cmake
working-directory: build
- name: Upload artifacts
uses: actions/upload-artifact@v4
with:
name: ${{ runner.os }}-${{ matrix.arch }}
path: build/*.zip
linux:
name: Linux
runs-on: ubuntu-latest
strategy:
matrix:
arch: [ 'i386', 'amd64' ]
fail-fast: false
steps:
- name: Checkout sources
uses: actions/checkout@v4
with:
fetch-depth: 0
submodules: recursive
- name: Install dependencies
run: |
sudo dpkg --add-architecture i386
sudo apt-get update
sudo apt-get install libatomic1:i386 libgcc-s1:i386 \
libstdc++6:i386 gcc-multilib g++-multilib \
ninja-build libfontconfig-dev:i386 libfontconfig-dev
- name: Configure
run: cmake --preset "linux-ci-${{ matrix.arch }}"
- name: Build and Package
run: |
cmake --build .
cpack --config CPackConfig.cmake
working-directory: build
- name: Upload artifacts
uses: actions/upload-artifact@v4
with:
name: ${{ runner.os }}-${{ matrix.arch }}
path: build/*.tar.gz
macos:
name: macOS
strategy:
matrix:
os: [ 'macos-15-intel', 'macos-latest' ]
arch: [ 'x86_64', 'arm64' ]
exclude:
- os: macos-15-intel
arch: arm64
- os: macos-latest
arch: x86_64
fail-fast: false
runs-on: ${{ matrix.os }}
steps:
- name: Checkout sources
uses: actions/checkout@v5
with:
fetch-depth: 0
submodules: recursive
- name: Install dependencies
run: brew install cmake gcc ninja fontconfig
- name: Configure
run: cmake --preset "macos-ci-${{ matrix.arch }}"
- name: Build and Package
run: |
cmake --build .
cpack --config CPackConfig.cmake
working-directory: build
- name: Upload artifacts
uses: actions/upload-artifact@v4
with:
name: ${{ runner.os }}-${{ matrix.arch }}
path: build/*.zip
release:
name: Release
runs-on: ubuntu-latest
if: github.ref == 'refs/heads/main' && always()
needs: [ android, windows, linux, psvita, macos ]
steps:
- name: Fetch artifacts
uses: actions/download-artifact@v4
- name: Remove old release
run: |
TAG_NAME=${{ github.ref_name == 'main' && 'continuous' || format('continuous-{0}', github.ref_name) }}
echo "TAG_NAME=$TAG_NAME" >> $GITHUB_ENV
if gh release list --repo ${{ github.repository }} | grep -q -e "$TAG_NAME"; then
gh release delete "$TAG_NAME" --yes --cleanup-tag --repo ${{ github.repository }}
fi
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Upload new release
run: |
gh release create ${{ env.TAG_NAME }} --title "CS16Client development build" --prerelease */CS16Client-* \
--repo ${{ github.repository }}
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}