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: actions/checkout@v4
|
||||||
- uses: birth-software/github-setup@v2
|
- uses: birth-software/github-setup@v2
|
||||||
- name: Fetch LLVM
|
- name: Fetch LLVM
|
||||||
id: FETCH
|
id: fetch_llvm
|
||||||
run: ./fetch-llvm.sh
|
run: ./fetch-llvm.sh
|
||||||
shell: bash
|
shell: bash
|
||||||
env:
|
env:
|
||||||
CMAKE_BUILD_TYPE: ${{matrix.CMAKE_BUILD_TYPE}}
|
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
|
run: ./project.sh test all
|
||||||
shell: bash
|
shell: bash
|
||||||
env:
|
env:
|
||||||
CMAKE_BUILD_TYPE: ${{matrix.CMAKE_BUILD_TYPE}}
|
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
|
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
|
uses: actions/upload-artifact@v4
|
||||||
with:
|
with:
|
||||||
name: ${{env.BLOAT_BUSTER_RELEASE_NAME_BASE}}
|
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
|
#!/usr/bin/env bash
|
||||||
set -eux
|
set -eux
|
||||||
original_dir=$PWD
|
ORIGINAL_DIR=$PWD
|
||||||
build_dir=$original_dir/build
|
BUILD_DIR=$ORIGINAL_DIR/build
|
||||||
C_COMPILER_PATH=clang
|
C_COMPILER_PATH=clang
|
||||||
CXX_COMPILER_PATH=clang++
|
CXX_COMPILER_PATH=clang++
|
||||||
ASM_COMPILER_PATH=clang
|
ASM_COMPILER_PATH=clang
|
||||||
@ -23,16 +23,6 @@ if [[ -z "${BIRTH_OS-}" ]]; then
|
|||||||
esac
|
esac
|
||||||
fi
|
fi
|
||||||
|
|
||||||
case "$BIRTH_OS" in
|
|
||||||
linux)
|
|
||||||
ls -las /
|
|
||||||
ls -las /usr
|
|
||||||
ls -las /usr/lib
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
if [[ -z "${BIRTH_ARCH-}" ]]; then
|
if [[ -z "${BIRTH_ARCH-}" ]]; then
|
||||||
case "$(uname -m)" in
|
case "$(uname -m)" in
|
||||||
x86_64)
|
x86_64)
|
||||||
@ -88,9 +78,9 @@ case $BIRTH_OS in
|
|||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
mkdir -p $build_dir
|
mkdir -p $BUILD_DIR
|
||||||
cmake . \
|
cmake . \
|
||||||
-B$build_dir \
|
-B$BUILD_DIR \
|
||||||
-G Ninja \
|
-G Ninja \
|
||||||
-DCMAKE_BUILD_TYPE="$CMAKE_BUILD_TYPE" \
|
-DCMAKE_BUILD_TYPE="$CMAKE_BUILD_TYPE" \
|
||||||
-DCMAKE_PREFIX_PATH=$CMAKE_PREFIX_PATH \
|
-DCMAKE_PREFIX_PATH=$CMAKE_PREFIX_PATH \
|
||||||
@ -105,35 +95,15 @@ cmake . \
|
|||||||
$CXX_COMPILER_OPT_ARG \
|
$CXX_COMPILER_OPT_ARG \
|
||||||
$ASM_COMPILER_OPT_ARG
|
$ASM_COMPILER_OPT_ARG
|
||||||
|
|
||||||
cd $build_dir
|
cd $BUILD_DIR
|
||||||
ninja -v
|
ninja -v
|
||||||
cd $original_dir
|
cd $ORIGINAL_DIR
|
||||||
|
|
||||||
if [ "$#" -ne 0 ]; then
|
if [ "$#" -ne 0 ]; then
|
||||||
$build_dir/runner $@
|
$BUILD_DIR/runner $@
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ "$BB_IS_CI" == "ON" ]; then
|
if [ "$BB_IS_CI" == "ON" ]; then
|
||||||
case "$BIRTH_OS" in
|
echo "BUILD_DIR=$BUILD_DIR" >> $GITHUB_ENV
|
||||||
windows)
|
echo "COMPILER_NAME=$COMPILER_NAME" >> $GITHUB_ENV
|
||||||
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
|
fi
|
||||||
|
Loading…
x
Reference in New Issue
Block a user