Skip to content

JcJakeway is publishing Loupe UX Server For Linux πŸš€ #12

JcJakeway is publishing Loupe UX Server For Linux πŸš€

JcJakeway is publishing Loupe UX Server For Linux πŸš€ #12

name: Publish Loupe UX Server Linux
run-name: ${{ github.actor }} is publishing Loupe UX Server For Linux πŸš€
on:
push:
tags:
- '*'
workflow_dispatch:
jobs:
Build-Loupe-UX-Server:
runs-on: ubuntu-latest
steps:
- run: echo "πŸŽ‰ The job was automatically triggered by a ${{ github.event_name }} event."
- run: echo "🐧 This job is now running on a ${{ runner.os }} server hosted by GitHub!"
- run: echo "πŸ”Ž The name of your Tag is ${{ github.ref }} and your repository is ${{ github.repository }}."
- name: Setup cmake
uses: jwlawson/actions-setup-cmake@v1.14
with:
cmake-version: '3.27.1'
- name: Use cmake
run: cmake --version
- name: Check out repository code
uses: actions/checkout@v4
with:
submodules: true
- run: echo "πŸ’‘ The ${{ github.repository }} repository has been cloned to the runner."
- run: echo "πŸ–₯️ The workflow is now ready to test your code on the runner."
- name: List files in the repository
run: |
ls -R ${{ github.workspace }}
- name: Update apt packages
run: sudo apt update
- name: Install Asio library
run: sudo apt install -y libasio-dev
- name: CMake Generators List
run: cmake --help
- name: Configure CMake
run: cmake $GITHUB_WORKSPACE/src/LuxServer -S $GITHUB_WORKSPACE/src/LuxServer -B $GITHUB_WORKSPACE/src/LuxServer/cmakebuild
- name: List files after cmake is configured
run: |
ls -Rl ${{ github.workspace }}/src/LuxServer/cmakebuild
- name: Build Executable
run: cmake --build ${{github.workspace}}/src/LuxServer/cmakebuild --config Release --target luxserver
- run: echo "🍏 The build's status is ${{ job.status }}."
- name: List files in the cmakebuild folder to check what's been created
run: |
ls -Rl ${{ github.workspace }}/src/LuxServer/cmakebuild
- name: Create Directory and Add Files
run: |
mkdir ${{ github.workspace }}/src/LuxServer/cmakebuild/debianpackage
cp ${{ github.workspace }}/src/LuxServer/configuration.json ${{ github.workspace }}/src/LuxServer/cmakebuild/debianpackage
cp ${{ github.workspace }}/src/LuxServer/cmakebuild/src/server/luxserver ${{ github.workspace }}/src/LuxServer/cmakebuild/debianpackage
- name: Build Debian package
run: dpkg-deb --build debianpackage luxservdebian.deb
- name: Show file names after debian package is built
run: |
ls -Rl ${{ github.workspace }}/src/LuxServer/cmakebuild
- name: Create Release
id: create_release
uses: actions/create-release@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
tag_name: ${{ github.ref }}
release_name: Release ${{ github.ref }}
draft: false
prerelease: false
- name: Upload Release Asset
id: upload-release-asset
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: ${{ github.workspace }}/src/LuxServer/cmakebuild/debianpackage/luxservdebian.deb
asset_name: luxserverlinux.zip
asset_content_type: application/zip
- run: echo "πŸŽ‰ The release's status is ${{ job.status }}."