Separate steps
This commit is contained in:
parent
9ca821e600
commit
c6e2f23340
25
.github/workflows/ci.yml
vendored
25
.github/workflows/ci.yml
vendored
@ -76,19 +76,36 @@ jobs:
|
||||
- uses: actions/checkout@v4
|
||||
- uses: birth-software/github-setup@v2
|
||||
- name: Fetch LLVM
|
||||
id: FETCH
|
||||
id: fetch_llvm
|
||||
run: ./fetch-llvm.sh
|
||||
shell: bash
|
||||
env:
|
||||
CMAKE_BUILD_TYPE: ${{matrix.CMAKE_BUILD_TYPE}}
|
||||
- name: Build and test
|
||||
- name: Build
|
||||
id: build
|
||||
run: ./project.sh
|
||||
shell: bash
|
||||
env:
|
||||
CMAKE_BUILD_TYPE: ${{matrix.CMAKE_BUILD_TYPE}}
|
||||
CMAKE_PREFIX_PATH: ${{steps.fetch_llvm.outputs.CMAKE_PREFIX_PATH}}
|
||||
BB_IS_CI: true
|
||||
- name: Test
|
||||
run: ./project.sh test all
|
||||
shell: bash
|
||||
env:
|
||||
CMAKE_BUILD_TYPE: ${{matrix.CMAKE_BUILD_TYPE}}
|
||||
CMAKE_PREFIX_PATH: ${{steps.FETCH.outputs.CMAKE_PREFIX_PATH}}
|
||||
CMAKE_PREFIX_PATH: ${{steps.fetch_llvm.outputs.CMAKE_PREFIX_PATH}}
|
||||
BB_IS_CI: true
|
||||
- name: Upload artifact (7z)
|
||||
- name: Package
|
||||
id: package
|
||||
if: ${{ always() && steps.build.outcome == 'success' }}
|
||||
run: ./package.sh
|
||||
shell: bash
|
||||
env:
|
||||
CMAKE_BUILD_TYPE: ${{matrix.CMAKE_BUILD_TYPE}}
|
||||
BB_IS_CI: true
|
||||
- name: Upload artifact
|
||||
if: ${{ always() && steps.package.outcome == 'success' }}
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: ${{env.BLOAT_BUSTER_RELEASE_NAME_BASE}}
|
||||
|
28
package.sh
Executable file
28
package.sh
Executable file
@ -0,0 +1,28 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
set -eux
|
||||
|
||||
if [ "$BB_IS_CI" == "true" ]; then
|
||||
case "$BIRTH_OS" in
|
||||
windows)
|
||||
OPT_EXTENSION=".exe";;
|
||||
*)
|
||||
OPT_EXTENSION="";;
|
||||
esac
|
||||
|
||||
BB_EXE_PATH="$BUILD_DIR/$COMPILER_NAME$OPT_EXTENSION"
|
||||
BB_INSTALL_NAME=bloat-buster-$BIRTH_ARCH-$BIRTH_OS-$CMAKE_BUILD_TYPE
|
||||
BB_INSTALL_PATH="$PWD/$BB_INSTALL_NAME"
|
||||
mkdir -p $BB_INSTALL_PATH
|
||||
cp $BB_EXE_PATH $BB_INSTALL_PATH
|
||||
7z a -t7z -m0=lzma2 -mx=9 -mfb=64 -md=64m -ms=on $BB_INSTALL_NAME.7z $BB_INSTALL_PATH
|
||||
b2sum $BB_INSTALL_NAME.7z > "$BB_INSTALL_NAME.7z.b2sum"
|
||||
|
||||
case "$BIRTH_OS" in
|
||||
windows) BB_INSTALL_PATH="$(cygpath -w ${BB_INSTALL_PATH})" ;;
|
||||
*) ;;
|
||||
esac
|
||||
|
||||
echo "BLOAT_BUSTER_RELEASE_NAME_BASE=$BB_INSTALL_NAME" >> $GITHUB_ENV
|
||||
echo "BLOAT_BUSTER_RELEASE_PATH_BASE=$BB_INSTALL_PATH" >> $GITHUB_ENV
|
||||
fi
|
48
project.sh
48
project.sh
@ -1,7 +1,7 @@
|
||||
#!/usr/bin/env bash
|
||||
set -eux
|
||||
original_dir=$PWD
|
||||
build_dir=$original_dir/build
|
||||
ORIGINAL_DIR=$PWD
|
||||
BUILD_DIR=$ORIGINAL_DIR/build
|
||||
C_COMPILER_PATH=clang
|
||||
CXX_COMPILER_PATH=clang++
|
||||
ASM_COMPILER_PATH=clang
|
||||
@ -23,16 +23,6 @@ if [[ -z "${BIRTH_OS-}" ]]; then
|
||||
esac
|
||||
fi
|
||||
|
||||
case "$BIRTH_OS" in
|
||||
linux)
|
||||
ls -las /
|
||||
ls -las /usr
|
||||
ls -las /usr/lib
|
||||
;;
|
||||
*)
|
||||
;;
|
||||
esac
|
||||
|
||||
if [[ -z "${BIRTH_ARCH-}" ]]; then
|
||||
case "$(uname -m)" in
|
||||
x86_64)
|
||||
@ -88,9 +78,9 @@ case $BIRTH_OS in
|
||||
;;
|
||||
esac
|
||||
|
||||
mkdir -p $build_dir
|
||||
mkdir -p $BUILD_DIR
|
||||
cmake . \
|
||||
-B$build_dir \
|
||||
-B$BUILD_DIR \
|
||||
-G Ninja \
|
||||
-DCMAKE_BUILD_TYPE="$CMAKE_BUILD_TYPE" \
|
||||
-DCMAKE_PREFIX_PATH=$CMAKE_PREFIX_PATH \
|
||||
@ -105,35 +95,15 @@ cmake . \
|
||||
$CXX_COMPILER_OPT_ARG \
|
||||
$ASM_COMPILER_OPT_ARG
|
||||
|
||||
cd $build_dir
|
||||
cd $BUILD_DIR
|
||||
ninja -v
|
||||
cd $original_dir
|
||||
cd $ORIGINAL_DIR
|
||||
|
||||
if [ "$#" -ne 0 ]; then
|
||||
$build_dir/runner $@
|
||||
$BUILD_DIR/runner $@
|
||||
fi
|
||||
|
||||
if [ "$BB_IS_CI" == "ON" ]; then
|
||||
case "$BIRTH_OS" in
|
||||
windows)
|
||||
OPT_EXTENSION=".exe";;
|
||||
*)
|
||||
OPT_EXTENSION="";;
|
||||
esac
|
||||
|
||||
BB_EXE_PATH="$build_dir/$COMPILER_NAME$OPT_EXTENSION"
|
||||
BB_INSTALL_NAME=bloat-buster-$BIRTH_ARCH-$BIRTH_OS-$CMAKE_BUILD_TYPE
|
||||
BB_INSTALL_PATH="$PWD/$BB_INSTALL_NAME"
|
||||
mkdir -p $BB_INSTALL_PATH
|
||||
cp $BB_EXE_PATH $BB_INSTALL_PATH
|
||||
7z a -t7z -m0=lzma2 -mx=9 -mfb=64 -md=64m -ms=on $BB_INSTALL_NAME.7z $BB_INSTALL_PATH
|
||||
b2sum $BB_INSTALL_NAME.7z > "$BB_INSTALL_NAME.7z.b2sum"
|
||||
|
||||
case "$BIRTH_OS" in
|
||||
windows) BB_INSTALL_PATH="$(cygpath -w ${BB_INSTALL_PATH})" ;;
|
||||
*) ;;
|
||||
esac
|
||||
|
||||
echo "BLOAT_BUSTER_RELEASE_NAME_BASE=$BB_INSTALL_NAME" >> $GITHUB_ENV
|
||||
echo "BLOAT_BUSTER_RELEASE_PATH_BASE=$BB_INSTALL_PATH" >> $GITHUB_ENV
|
||||
echo "BUILD_DIR=$BUILD_DIR" >> $GITHUB_ENV
|
||||
echo "COMPILER_NAME=$COMPILER_NAME" >> $GITHUB_ENV
|
||||
fi
|
||||
|
Loading…
x
Reference in New Issue
Block a user