Upload artifacts on every CI run and better envs

This commit is contained in:
David Gonzalez Martin 2024-11-05 07:41:43 -06:00 committed by David
parent 7e844a3aa6
commit 9ca821e600
6 changed files with 40 additions and 30 deletions

View File

@ -87,8 +87,13 @@ jobs:
env:
CMAKE_BUILD_TYPE: ${{matrix.CMAKE_BUILD_TYPE}}
CMAKE_PREFIX_PATH: ${{steps.FETCH.outputs.CMAKE_PREFIX_PATH}}
BUSTER_GITHUB_MAIN_RUN: ${{ github.ref == 'refs/heads/main' }}
IS_CI: true
BB_IS_CI: true
- name: Upload artifact (7z)
uses: actions/upload-artifact@v4
with:
name: ${{env.BLOAT_BUSTER_RELEASE_NAME_BASE}}
if-no-files-found: 'error'
path: ${{env.BLOAT_BUSTER_RELEASE_PATH_BASE}}.7z*
- name: Release
uses: softprops/action-gh-release@v2
if: github.ref == 'refs/heads/main'

View File

@ -16,13 +16,19 @@ set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
set(CMAKE_C_STANDARD 23)
set(CMAKE_CXX_STANDARD 23)
set(IS_CI OFF CACHE BOOL "Variable that determines if the cmake script is run on the CI or not")
set(LIBRARY_NAME "std")
set(RUNNER_NAME "runner")
if (NOT COMPILER_NAME)
set(COMPILER_NAME "bb" CACHE STRING)
endif()
if (IS_CI)
set(IS_CI_C_FLAG "-DBB_CI=1")
set(BB_IS_CI OFF CACHE BOOL "Variable that determines if the cmake script is run on the CI or not")
if (BB_IS_CI)
set(BB_IS_CI_C_FLAG "-DBB_CI=1")
message(STATUS "CMake is run on CI")
else()
set(IS_CI_C_FLAG "-DBB_CI=0")
set(BB_IS_CI_C_FLAG "-DBB_CI=0")
message(STATUS "CMake is not run on CI")
endif()
@ -33,7 +39,7 @@ add_compile_options(
-fno-exceptions -fno-stack-protector
-fdiagnostics-color=always -ferror-limit=1
-march=native
${IS_CI_C_FLAG}
${BB_IS_CI_C_FLAG} -DCOMPILER_NAME=\"${COMPILER_NAME}\" -DBUILD_DIR=\"${CMAKE_BINARY_DIR}\" -DBB_DIR=\"${BB_DIR}\"
)
include_directories("bootstrap/include")
@ -141,10 +147,6 @@ endif()
link_directories("${LLVM_LIBDIRS}")
set(LIBRARY_NAME "std")
set(RUNNER_NAME "runner")
set(COMPILER_NAME "bb")
add_library("${LIBRARY_NAME}"
"bootstrap/std/base.c"
"bootstrap/std/string.c"
@ -172,7 +174,7 @@ target_include_directories(${COMPILER_NAME} PRIVATE ${LLVM_INCLUDE_DIRS})
target_link_directories(${COMPILER_NAME} PRIVATE ${LLVM_LIBRARY_DIRS})
target_link_libraries(${COMPILER_NAME} PRIVATE ${LIBRARY_NAME} ${LLVM_LIBRARIES} ${lld_libs})
if (NOT IS_CI)
if (NOT BB_IS_CI)
set(GLFW_BUILD_DOCS OFF CACHE BOOL "" FORCE)
set(GLFW_BUILD_TESTS OFF CACHE BOOL "" FORCE)
set(GLFW_BUILD_EXAMPLES OFF CACHE BOOL "" FORCE)

View File

@ -23569,7 +23569,7 @@ fn void code_generation(Thread* restrict thread, CodegenOptions options)
VirtualBuffer(u8) code = {};
auto object_path = binary_path_from_options(thread->arena, (BinaryPathOptions) {
.build_directory = strlit(cache_dir),
.build_directory = strlit(BB_DIR),
.name = options.test_name,
.target = options.target,
.backend = options.backend,
@ -23577,7 +23577,7 @@ fn void code_generation(Thread* restrict thread, CodegenOptions options)
});
auto exe_path = binary_path_from_options(thread->arena, (BinaryPathOptions) {
.build_directory = strlit(cache_dir),
.build_directory = strlit(BB_DIR),
.name = options.test_name,
.target = options.target,
.backend = options.backend,
@ -24816,7 +24816,7 @@ void entry_point(int argc, char* argv[], char* envp[])
Target target = native_target_get();
os_directory_make(strlit(cache_dir));
os_directory_make(strlit(BB_DIR));
File file = {
.path = source_file_path,

View File

@ -3,8 +3,6 @@
#include <std/base.h>
#include <std/os.h>
#define cache_dir "bb"
typedef enum CpuArchitecture : u8
{
CPU_ARCH_X86_64,

View File

@ -6,8 +6,6 @@
#include <bloat-buster/base.h>
#define bb_dir "bb"
declare_slice(CompilerBackend);
typedef enum CMakeBuildType
@ -109,7 +107,7 @@ fn void run_tests(Arena* arena, String compiler_path, TestOptions const * const
// if (compiler_backend != COMPILER_BACKEND_INTERPRETER)
{
auto executable = binary_path_from_options(arena, (BinaryPathOptions) {
.build_directory = strlit(bb_dir),
.build_directory = strlit(BB_DIR),
.name = test_name,
.target = target,
.backend = compiler_backend,
@ -242,7 +240,7 @@ void entry_point(int argc, char* argv[], char* envp[])
build_type = CMAKE_BUILD_TYPE_DEBUG;
}
String compiler_path = strlit("build/bb");
String compiler_path = strlit(BUILD_DIR "/" COMPILER_NAME);
switch (command)
{

View File

@ -52,14 +52,18 @@ if [[ -z "${CMAKE_PREFIX_PATH-}" ]]; then
CMAKE_PREFIX_PATH="$HOME/Downloads/llvm-$BIRTH_ARCH-$BIRTH_OS-$CMAKE_BUILD_TYPE"
fi
if [[ -z "${BUSTER_GITHUB_MAIN_RUN-}" ]]; then
BUSTER_GITHUB_MAIN_RUN=false
if [[ -n "${BB_IS_CI-}" ]]; then
BB_IS_CI=ON
else
BB_IS_CI=OFF
fi
if [[ -n "${IS_CI-}" ]]; then
IS_CI=ON
else
IS_CI=OFF
if [[ -z "${COMPILER_NAME-}" ]]; then
COMPILER_NAME=bb
fi
if [[ -z "${BB_DIR-}" ]]; then
BB_DIR=$COMPILER_NAME
fi
case $BIRTH_OS in
@ -93,7 +97,9 @@ cmake . \
-DCMAKE_C_COMPILER=$C_COMPILER_PATH \
-DCMAKE_CXX_COMPILER=$CXX_COMPILER_PATH \
-DCMAKE_ASM_COMPILER=$ASM_COMPILER_PATH \
-DIS_CI=$IS_CI \
-DCOMPILER_NAME=$COMPILER_NAME \
-DBB_DIR=$BB_DIR \
-DBB_IS_CI=$BB_IS_CI \
$USE_MOLD_OPT_ARG \
$C_COMPILER_OPT_ARG \
$CXX_COMPILER_OPT_ARG \
@ -107,7 +113,7 @@ if [ "$#" -ne 0 ]; then
$build_dir/runner $@
fi
if [ "$BUSTER_GITHUB_MAIN_RUN" == "true" ]; then
if [ "$BB_IS_CI" == "ON" ]; then
case "$BIRTH_OS" in
windows)
OPT_EXTENSION=".exe";;
@ -115,7 +121,7 @@ if [ "$BUSTER_GITHUB_MAIN_RUN" == "true" ]; then
OPT_EXTENSION="";;
esac
BB_EXE_PATH="$build_dir/bb$OPT_EXTENSION"
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
@ -128,5 +134,6 @@ if [ "$BUSTER_GITHUB_MAIN_RUN" == "true" ]; then
*) ;;
esac
echo "BLOAT_BUSTER_RELEASE_NAME_BASE=$BB_INSTALL_NAME" >> $GITHUB_ENV
echo "BLOAT_BUSTER_RELEASE_PATH_BASE=$BB_INSTALL_PATH" >> $GITHUB_ENV
fi