mirror of https://github.com/xemu-project/xemu.git
ci: Add Ubuntu build tarball
This commit is contained in:
parent
87e8c4b495
commit
04f8a04259
|
@ -38,6 +38,9 @@ jobs:
|
||||||
print('::set-env name=ARTIFACT_NAME::xemu-win-release.zip')
|
print('::set-env name=ARTIFACT_NAME::xemu-win-release.zip')
|
||||||
- name: Clone Tree
|
- name: Clone Tree
|
||||||
uses: actions/checkout@v2
|
uses: actions/checkout@v2
|
||||||
|
- name: Clone Tree (Unshallow)
|
||||||
|
run: |
|
||||||
|
git fetch --prune --unshallow --tags
|
||||||
- name: Install Dependencies
|
- name: Install Dependencies
|
||||||
run: |
|
run: |
|
||||||
echo "Downloading MSYS2 environment..."
|
echo "Downloading MSYS2 environment..."
|
||||||
|
@ -86,13 +89,16 @@ jobs:
|
||||||
if "${{ matrix.configuration }}" == "Debug":
|
if "${{ matrix.configuration }}" == "Debug":
|
||||||
print('Configuring for Debug')
|
print('Configuring for Debug')
|
||||||
print('::set-env name=BUILD_PARAM::--debug')
|
print('::set-env name=BUILD_PARAM::--debug')
|
||||||
print('::set-env name=ARTIFACT_NAME::xemu-ubuntu-debug')
|
print('::set-env name=ARTIFACT_NAME::xemu-ubuntu-debug.tgz')
|
||||||
else:
|
else:
|
||||||
print('Configuring for Release')
|
print('Configuring for Release')
|
||||||
print('::set-env name=BUILD_PARAM::')
|
print('::set-env name=BUILD_PARAM::')
|
||||||
print('::set-env name=ARTIFACT_NAME::xemu-ubuntu-release')
|
print('::set-env name=ARTIFACT_NAME::xemu-ubuntu-release.tgz')
|
||||||
- name: Clone Tree
|
- name: Clone Tree
|
||||||
uses: actions/checkout@v2
|
uses: actions/checkout@v2
|
||||||
|
- name: Clone Tree (Unshallow)
|
||||||
|
run: |
|
||||||
|
git fetch --prune --unshallow --tags
|
||||||
- name: Install Dependencies
|
- name: Install Dependencies
|
||||||
run: |
|
run: |
|
||||||
sudo apt-get update
|
sudo apt-get update
|
||||||
|
@ -117,6 +123,12 @@ jobs:
|
||||||
./build.sh ${{ env.BUILD_PARAM }}
|
./build.sh ${{ env.BUILD_PARAM }}
|
||||||
echo -e "\nCompiler Cache Stats:"
|
echo -e "\nCompiler Cache Stats:"
|
||||||
ccache -s -c
|
ccache -s -c
|
||||||
|
tar -czvf ${{env.ARTIFACT_NAME}} --transform "s#^dist#xemu#" dist
|
||||||
|
- name: Upload Build Artifact
|
||||||
|
uses: actions/upload-artifact@v1
|
||||||
|
with:
|
||||||
|
name: dist
|
||||||
|
path: ${{env.ARTIFACT_NAME}}
|
||||||
|
|
||||||
macOS:
|
macOS:
|
||||||
runs-on: macOS-latest
|
runs-on: macOS-latest
|
||||||
|
@ -138,6 +150,9 @@ jobs:
|
||||||
print('::set-env name=ARTIFACT_NAME::xemu-macos-release.zip')
|
print('::set-env name=ARTIFACT_NAME::xemu-macos-release.zip')
|
||||||
- name: Clone Tree
|
- name: Clone Tree
|
||||||
uses: actions/checkout@v2
|
uses: actions/checkout@v2
|
||||||
|
- name: Clone Tree (Unshallow)
|
||||||
|
run: |
|
||||||
|
git fetch --prune --unshallow --tags
|
||||||
- name: Install Dependencies
|
- name: Install Dependencies
|
||||||
run: |
|
run: |
|
||||||
brew update
|
brew update
|
||||||
|
@ -242,3 +257,25 @@ jobs:
|
||||||
asset_name: xemu-macos-debug.zip
|
asset_name: xemu-macos-debug.zip
|
||||||
asset_path: dist/xemu-macos-debug.zip
|
asset_path: dist/xemu-macos-debug.zip
|
||||||
asset_content_type: application/zip
|
asset_content_type: application/zip
|
||||||
|
- name: Upload Release Assets (Ubuntu Release Build)
|
||||||
|
if: github.event_name == 'push' && github.ref == 'refs/heads/master'
|
||||||
|
id: upload-release-asset-ubuntu-release
|
||||||
|
uses: actions/upload-release-asset@v1.0.1
|
||||||
|
env:
|
||||||
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
with:
|
||||||
|
upload_url: ${{ steps.create_release.outputs.upload_url }}
|
||||||
|
asset_name: xemu-ubuntu-release.tgz
|
||||||
|
asset_path: dist/xemu-ubuntu-release.tgz
|
||||||
|
asset_content_type: application/gzip
|
||||||
|
- name: Upload Release Assets (Ubuntu Debug Build)
|
||||||
|
if: github.event_name == 'push' && github.ref == 'refs/heads/master'
|
||||||
|
id: upload-release-asset-ubuntu-debug
|
||||||
|
uses: actions/upload-release-asset@v1.0.1
|
||||||
|
env:
|
||||||
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
with:
|
||||||
|
upload_url: ${{ steps.create_release.outputs.upload_url }}
|
||||||
|
asset_name: xemu-ubuntu-debug.tgz
|
||||||
|
asset_path: dist/xemu-ubuntu-debug.tgz
|
||||||
|
asset_content_type: application/gzip
|
||||||
|
|
21
build.sh
21
build.sh
|
@ -3,7 +3,8 @@
|
||||||
set -e # exit if a command fails
|
set -e # exit if a command fails
|
||||||
set -o pipefail # Will return the exit status of make if it fails
|
set -o pipefail # Will return the exit status of make if it fails
|
||||||
|
|
||||||
package_windows() { # Script to prepare the windows exe
|
package_windows() {
|
||||||
|
rm -rf dist
|
||||||
mkdir -p dist
|
mkdir -p dist
|
||||||
cp i386-softmmu/qemu-system-i386.exe dist/xemu.exe
|
cp i386-softmmu/qemu-system-i386.exe dist/xemu.exe
|
||||||
cp i386-softmmu/qemu-system-i386w.exe dist/xemuw.exe
|
cp i386-softmmu/qemu-system-i386w.exe dist/xemuw.exe
|
||||||
|
@ -77,13 +78,19 @@ package_macos() {
|
||||||
EOF
|
EOF
|
||||||
}
|
}
|
||||||
|
|
||||||
|
package_linux() {
|
||||||
|
rm -rf dist
|
||||||
|
mkdir -p dist
|
||||||
|
cp i386-softmmu/qemu-system-i386 dist/xemu
|
||||||
|
cp -r data dist
|
||||||
|
}
|
||||||
|
|
||||||
postbuild=''
|
postbuild=''
|
||||||
debug_opts=''
|
debug_opts=''
|
||||||
user_opts=''
|
|
||||||
build_cflags='-O3'
|
build_cflags='-O3'
|
||||||
job_count='12'
|
job_count='12'
|
||||||
|
|
||||||
while [ ! -z ${1} ]
|
while [ ! -z "${1}" ]
|
||||||
do
|
do
|
||||||
case "${1}" in
|
case "${1}" in
|
||||||
'-j'*)
|
'-j'*)
|
||||||
|
@ -96,8 +103,7 @@ do
|
||||||
shift
|
shift
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
user_opts="${user_opts} ${1}"
|
break
|
||||||
shift
|
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
done
|
done
|
||||||
|
@ -107,8 +113,9 @@ readlink=$(command -v readlink)
|
||||||
case "$(uname -s)" in # Adjust compilation options based on platform
|
case "$(uname -s)" in # Adjust compilation options based on platform
|
||||||
Linux)
|
Linux)
|
||||||
echo 'Compiling for Linux...'
|
echo 'Compiling for Linux...'
|
||||||
sys_cflags='-march=native -Wno-error=redundant-decls -Wno-error=unused-but-set-variable'
|
sys_cflags='-Wno-error=redundant-decls -Wno-error=unused-but-set-variable'
|
||||||
sys_opts='--enable-kvm --disable-xen --disable-werror'
|
sys_opts='--enable-kvm --disable-xen --disable-werror'
|
||||||
|
postbuild='package_linux'
|
||||||
;;
|
;;
|
||||||
Darwin)
|
Darwin)
|
||||||
echo 'Compiling for MacOS...'
|
echo 'Compiling for MacOS...'
|
||||||
|
@ -206,7 +213,7 @@ set -x # Print commands from now on
|
||||||
--without-default-devices \
|
--without-default-devices \
|
||||||
--disable-blobs \
|
--disable-blobs \
|
||||||
--disable-slirp \
|
--disable-slirp \
|
||||||
${user_opts}
|
"$@"
|
||||||
|
|
||||||
time make -j"${job_count}" 2>&1 | tee build.log
|
time make -j"${job_count}" 2>&1 | tee build.log
|
||||||
|
|
||||||
|
|
|
@ -66,6 +66,16 @@ const char *xemu_get_resource_path(const char *filename)
|
||||||
return resource_path;
|
return resource_path;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#if defined(__linux__)
|
||||||
|
// /usr/share/xemu/data when installed
|
||||||
|
snprintf(resource_path, resource_path_buffer_len, "/usr/share/xemu/data/%s",
|
||||||
|
filename);
|
||||||
|
|
||||||
|
if (path_exists(resource_path)) {
|
||||||
|
return resource_path;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
// Path not found or file not readable
|
// Path not found or file not readable
|
||||||
assert(0);
|
assert(0);
|
||||||
return NULL;
|
return NULL;
|
||||||
|
|
Loading…
Reference in New Issue