-
-
Notifications
You must be signed in to change notification settings - Fork 38
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
120 changed files
with
8,153 additions
and
2,489 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,312 @@ | ||
name: CLI builds | ||
|
||
on: push | ||
|
||
env: | ||
BUILD_TYPE: Release | ||
|
||
jobs: | ||
build-x86_64: | ||
runs-on: ubuntu-20.04 | ||
|
||
steps: | ||
- uses: actions/checkout@v3 | ||
with: | ||
submodules: recursive | ||
|
||
- uses: dlang-community/setup-dlang@v1 | ||
with: | ||
compiler: ldc-1.33.0 | ||
|
||
- name: Install dependencies | ||
run: sudo apt-get update && sudo apt-get install -y libz-dev elfutils | ||
|
||
- name: Write version file | ||
run: echo 'module version_string; enum versionStr = "Sideloader automated build, branch ${{ github.ref_name }}, commit ${{ github.sha }}";' > source/version_string.d | ||
|
||
- name: Build | ||
run: dub build -b release-debug --compiler=ldc2 :cli-frontend | ||
|
||
- name: Rename | ||
run: mv "${{github.workspace}}/bin/sideloader" "${{github.workspace}}/bin/sideloader-cli-linux-x86_64" | ||
|
||
- name: Put debug symbols in a separate file | ||
run: eu-strip --strip-debug -f "${{github.workspace}}/bin/sideloader-cli-linux-x86_64.dbg" "${{github.workspace}}/bin/sideloader-cli-linux-x86_64" | ||
|
||
- uses: actions/upload-artifact@v3 | ||
with: | ||
name: sideloader-cli-linux-x86_64 | ||
path: | | ||
${{github.workspace}}/bin/sideloader-cli-linux-x86_64 | ||
${{github.workspace}}/bin/sideloader-cli-linux-x86_64.dbg | ||
build-i686: | ||
# Does not work yet | ||
if: false | ||
runs-on: ubuntu-22.04 | ||
|
||
steps: | ||
- uses: actions/checkout@v3 | ||
with: | ||
submodules: recursive | ||
|
||
- uses: dlang-community/setup-dlang@v1 | ||
with: | ||
compiler: ldc-1.33.0 | ||
|
||
- name: Install dependencies | ||
run: sudo apt-get update && sudo apt-get install -y libz-dev elfutils gcc-i686-linux-gnu libc6-dev | ||
|
||
- name: Write version file | ||
run: echo 'module version_string; enum versionStr = "Sideloader automated build, branch ${{ github.ref_name }}, commit ${{ github.sha }}";' > source/version_string.d | ||
|
||
- name: Build | ||
run: dub build -b release-debug --compiler=ldc2 --arch i686-linux-gnu :cli-frontend | ||
|
||
- name: Rename | ||
run: mv "${{github.workspace}}/bin/sideloader" "${{github.workspace}}/bin/sideloader-cli-linux-i686" | ||
|
||
- name: Put debug symbols in a separate file | ||
run: eu-strip --strip-debug -f "${{github.workspace}}/bin/sideloader-cli-linux-i686.dbg" "${{github.workspace}}/bin/sideloader-cli-linux-i686" | ||
|
||
- uses: actions/upload-artifact@v3 | ||
with: | ||
name: sideloader-cli-linux-i686 | ||
path: | | ||
${{github.workspace}}/bin/sideloader-cli-linux-i686 | ||
${{github.workspace}}/bin/sideloader-cli-linux-i686.dbg | ||
build-aarch64: | ||
runs-on: ubuntu-20.04 | ||
|
||
steps: | ||
- uses: actions/checkout@v3 | ||
with: | ||
submodules: recursive | ||
|
||
- uses: dlang-community/setup-dlang@v1 | ||
with: | ||
compiler: ldc-1.33.0 | ||
|
||
- name: Set-up aarch64 cross-compilation | ||
run: | | ||
mkdir -p $HOME/.ldc/ | ||
cat << EOF | tee $HOME/.ldc/ldc2.conf | ||
"aarch64-.*-linux-gnu": | ||
{ | ||
switches = [ | ||
"-defaultlib=phobos2-ldc,druntime-ldc", | ||
"-gcc=aarch64-linux-gnu-gcc", | ||
]; | ||
post-switches = [ | ||
"-I$HOME/ldc2-1.32.2-linux-aarch64/import", | ||
]; | ||
lib-dirs = [ | ||
"$HOME/ldc2-1.32.2-linux-aarch64/lib", | ||
]; | ||
}; | ||
EOF | ||
curl -LO https://github.com/ldc-developers/ldc/releases/download/v1.32.2/ldc2-1.32.2-linux-aarch64.tar.xz | ||
tar -xf ./ldc2-1.32.2-linux-aarch64.tar.xz -C $HOME | ||
- name: Install dependencies | ||
run: sudo apt-get update && sudo apt-get install -y elfutils gcc-aarch64-linux-gnu | ||
|
||
- name: Write version file | ||
run: echo 'module version_string; enum versionStr = "Sideloader automated build, branch ${{ github.ref_name }}, commit ${{ github.sha }}";' > source/version_string.d | ||
|
||
- name: Build | ||
run: dub build -b release-debug --compiler=ldc2 --arch aarch64-linux-gnu :cli-frontend | ||
|
||
- name: Rename | ||
run: mv "${{github.workspace}}/bin/sideloader" "${{github.workspace}}/bin/sideloader-cli-linux-aarch64" | ||
|
||
- name: Put debug symbols in a separate file | ||
run: eu-strip --strip-debug -f "${{github.workspace}}/bin/sideloader-cli-linux-aarch64.dbg" "${{github.workspace}}/bin/sideloader-cli-linux-aarch64" | ||
|
||
- uses: actions/upload-artifact@v3 | ||
with: | ||
name: sideloader-cli-linux-aarch64 | ||
path: | | ||
${{github.workspace}}/bin/sideloader-cli-linux-aarch64 | ||
${{github.workspace}}/bin/sideloader-cli-linux-aarch64.dbg | ||
build-macos-x86_64: | ||
runs-on: ubuntu-22.04 | ||
|
||
steps: | ||
- uses: actions/checkout@v3 | ||
with: | ||
submodules: recursive | ||
|
||
- uses: dlang-community/setup-dlang@v1 | ||
with: | ||
compiler: ldc-1.33.0 | ||
|
||
- name: Set-up macOS cross-compilation | ||
run: | | ||
mkdir -p $HOME/.ldc/ | ||
curl -LO https://github.com/phracker/MacOSX-SDKs/releases/download/11.3/MacOSX11.0.sdk.tar.xz | ||
tar -xf ./MacOSX11.0.sdk.tar.xz -C $HOME | ||
cat << EOF | tee $HOME/.ldc/ldc2.conf | ||
"x86_64-apple-darwin": | ||
{ | ||
// default switches injected before all explicit command-line switches | ||
switches = [ | ||
"-gcc=clang", | ||
"-linker=lld", | ||
"-Xcc=-target", | ||
"-Xcc=x86_64-apple-darwin", | ||
"-Xcc=-isysroot", | ||
"-Xcc=$HOME/MacOSX11.0.sdk", | ||
"-defaultlib=phobos2-ldc,druntime-ldc", | ||
]; | ||
// default switches appended after all explicit command-line switches | ||
post-switches = [ | ||
"-I$HOME/ldc2-1.33.0-osx-x86_64/import", | ||
]; | ||
// default directories to be searched for libraries when linking | ||
lib-dirs = [ | ||
"$HOME/ldc2-1.33.0-osx-x86_64/lib", | ||
]; | ||
}; | ||
EOF | ||
mkdir $HOME/ldc-macos | ||
curl -LO https://github.com/ldc-developers/ldc/releases/download/v1.33.0/ldc2-1.33.0-osx-x86_64.tar.xz | ||
tar -xf ./ldc2-1.33.0-osx-x86_64.tar.xz -C $HOME | ||
- name: Install dependencies | ||
run: sudo apt-get update && sudo apt-get install -y libz-dev elfutils clang lld | ||
|
||
- name: Write version file | ||
run: echo 'module version_string; enum versionStr = "Sideloader automated build, branch ${{ github.ref_name }}, commit ${{ github.sha }}";' > source/version_string.d | ||
|
||
- name: Build | ||
run: dub build -b release-debug --compiler=ldc2 --arch x86_64-apple-darwin :cli-frontend | ||
|
||
- name: Rename | ||
run: mv "${{github.workspace}}/bin/sideloader" "${{github.workspace}}/bin/sideloader-cli-macOS-x86_64" # TODO make an app bundle | ||
|
||
- uses: actions/upload-artifact@v3 | ||
with: | ||
name: sideloader-cli-macOS-x86_64 | ||
path: | | ||
${{github.workspace}}/bin/sideloader-cli-macOS-x86_64 | ||
build-macos-arm64: | ||
runs-on: ubuntu-22.04 | ||
|
||
steps: | ||
- uses: actions/checkout@v3 | ||
with: | ||
submodules: recursive | ||
|
||
- uses: dlang-community/setup-dlang@v1 | ||
with: | ||
compiler: ldc-1.33.0 | ||
|
||
- name: Set-up macOS cross-compilation | ||
run: | | ||
mkdir -p $HOME/.ldc/ | ||
curl -LO https://github.com/phracker/MacOSX-SDKs/releases/download/11.3/MacOSX11.0.sdk.tar.xz | ||
tar -xf ./MacOSX11.0.sdk.tar.xz -C $HOME | ||
cat << EOF | tee $HOME/.ldc/ldc2.conf | ||
"arm64-apple-macos": | ||
{ | ||
// default switches injected before all explicit command-line switches | ||
switches = [ | ||
"-gcc=clang", | ||
"-linker=lld", | ||
"-Xcc=-target", | ||
"-Xcc=arm64-apple-macos", | ||
"-Xcc=-isysroot", | ||
"-Xcc=$HOME/MacOSX11.0.sdk", | ||
"-defaultlib=phobos2-ldc,druntime-ldc", | ||
]; | ||
// default switches appended after all explicit command-line switches | ||
post-switches = [ | ||
"-I$HOME/ldc2-1.33.0-osx-arm64/import", | ||
]; | ||
// default directories to be searched for libraries when linking | ||
lib-dirs = [ | ||
"$HOME/ldc2-1.33.0-osx-arm64/lib", | ||
]; | ||
}; | ||
EOF | ||
mkdir $HOME/ldc-macos | ||
curl -LO https://github.com/ldc-developers/ldc/releases/download/v1.33.0/ldc2-1.33.0-osx-arm64.tar.xz | ||
tar -xf ./ldc2-1.33.0-osx-arm64.tar.xz -C $HOME | ||
- name: Install dependencies | ||
run: sudo apt-get update && sudo apt-get install -y libz-dev elfutils clang lld | ||
|
||
- name: Write version file | ||
run: echo 'module version_string; enum versionStr = "Sideloader automated build, branch ${{ github.ref_name }}, commit ${{ github.sha }}";' > source/version_string.d | ||
|
||
- name: Build | ||
run: dub build -b release-debug --compiler=ldc2 --arch arm64-apple-macos :cli-frontend | ||
|
||
- name: Rename | ||
run: mv "${{github.workspace}}/bin/sideloader" "${{github.workspace}}/bin/sideloader-cli-macOS-arm64" # TODO make an app bundle | ||
|
||
- uses: actions/upload-artifact@v3 | ||
with: | ||
name: sideloader-cli-macOS-arm64 | ||
path: | | ||
${{github.workspace}}/bin/sideloader-cli-macOS-arm64 | ||
build-windows-x86_64: | ||
runs-on: windows-2019 | ||
|
||
steps: | ||
- uses: actions/checkout@v3 | ||
with: | ||
submodules: recursive | ||
|
||
- uses: dlang-community/setup-dlang@v1 | ||
with: | ||
compiler: ldc-1.33.0 | ||
|
||
# - name: Install dependencies | ||
# run: sudo apt-get update && sudo apt-get install -y libz-dev elfutils clang lld 7zip | ||
# | ||
# - name: Set-up Windows cross-compilation | ||
# run: | | ||
# mkdir -p $HOME/.ldc/ | ||
# cat << EOF | tee $HOME/.ldc/ldc2.conf | ||
# "x86_64-.*-windows-msvc": | ||
# { | ||
# // default switches injected before all explicit command-line switches | ||
# switches = [ | ||
# "-defaultlib=phobos2-ldc,druntime-ldc", | ||
# ]; | ||
# // default switches appended after all explicit command-line switches | ||
# post-switches = [ | ||
# "-I$HOME/ldc2-1.33.0-windows-x64/import", | ||
# ]; | ||
# // default directories to be searched for libraries when linking | ||
# lib-dirs = [ | ||
# "$HOME/ldc2-1.33.0-windows-x64/lib", | ||
# ]; | ||
# }; | ||
# EOF | ||
# curl -LO https://github.com/ldc-developers/ldc/releases/download/v1.33.0/ldc2-1.33.0-windows-x64.7z | ||
# 7z x ./ldc2-1.33.0-windows-x64.7z -o$HOME | ||
|
||
- name: Write version file | ||
run: echo 'module version_string; enum versionStr = "Sideloader automated build, branch ${{ github.ref_name }}, commit ${{ github.sha }}";' > source/version_string.d | ||
|
||
- name: Build | ||
run: dub build -b release-debug --compiler=ldc2 --arch x86_64-windows-msvc :cli-frontend | ||
|
||
- name: Rename | ||
run: | | ||
mv "${{github.workspace}}/bin/sideloader.exe" "${{github.workspace}}/bin/sideloader-cli-windows-x86_64.exe" | ||
mv "${{github.workspace}}/bin/sideloader.pdb" "${{github.workspace}}/bin/sideloader-cli-windows-x86_64.pdb" | ||
- uses: actions/upload-artifact@v3 | ||
with: | ||
name: sideloader-cli-windows-x86_64 | ||
path: | | ||
${{github.workspace}}/bin/sideloader-cli-windows-x86_64.exe | ||
${{github.workspace}}/bin/sideloader-cli-windows-x86_64.pdb |
Oops, something went wrong.