Skip to content

Build Linux

Build Linux #50

name: Build Linux
on:
workflow_dispatch:
inputs:
concurrency:
group: environment-lin-${{ github.ref }}
cancel-in-progress: true
jobs:
build:
name: Build - ${{ matrix.config.os }}
if: github.repository != 'Silverlan/pr_module_template'
runs-on: ${{ matrix.config.os }}
strategy:
fail-fast: false
matrix:
config:
- os: ubuntu-24.04
name: "Ubuntu 24.04"
steps:
- name: Get Module Info
id: module-info
uses: Silverlan/pr_module_template/github_actions/get_module_info@main
with:
repo_access_token: '${{ secrets.REPO_ACCESS_TOKEN }}'
repository: 'Silverlan/pr_source/master'
- name: Build Module
id: build-module
uses: Silverlan/pragma/github_actions/build_generic_module@main
with:
module: '${{ steps.module-info.outputs.module_name }}'
token: '${{ secrets.REPO_ACCESS_TOKEN }}'
repository: 'Silverlan/pr_source'
debug-artifact-token: ${{ secrets.GITHUB_TOKEN }}
build-args: '--module=pr_mount_external --access-token-fgd=${{ secrets.UTIL_FGD_TOKEN }}'
- name: Create Release Files
shell: bash
run: |
if [ "${{ steps.module-info.outputs.release_directory }}" != "DEFAULT" ]; then
mkdir -p "release/${{ steps.module-info.outputs.release_directory }}"
cp -a "${{ steps.build-module.outputs.install-dir }}/${{ steps.module-info.outputs.release_directory }}." "release/${{ steps.module-info.outputs.release_directory }}"
else
mkdir -p "release/${{ steps.module-info.outputs.install_directory }}"
cp "${{ steps.build-module.outputs.install-dir }}/${{ steps.module-info.outputs.install_directory }}lib${{ steps.module-info.outputs.module_name }}.so" "release/${{ steps.module-info.outputs.install_directory }}"
fi
- name: Release Binaries
uses: Silverlan/common_actions/release_nightly_binaries@main
with:
token: ${{ secrets.GITHUB_TOKEN }}
commit: ${{ github.ref_name }}