Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ci: centos7 build and release #1438

Merged
merged 1 commit into from
Jun 25, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
39 changes: 39 additions & 0 deletions .github/workflows/build-test-centos7-amd64.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
name: Build and Test on centos7 amd64

on: ["push", "pull_request"]

jobs:
build-and-test-centos7:
name: Build and Test on centos7 amd64
runs-on: ubuntu-latest
steps:
- name: Check out code
uses: actions/checkout@v3
with:
submodules: "true"

- name: Set up QEMU
uses: docker/setup-qemu-action@v2
with:
platforms: linux/amd64

- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2

- name: Pull custom centos7 Docker image
run: |
docker pull kcllang/kcl-builder:centos7

# Use llvm7 to build kcl in centos7
- name: Release
run: |
docker run --rm \
-v ${{ github.workspace }}:/workspace -w /workspace \
kcllang/kcl-builder:centos7 \
/bin/bash -c "source ~/.bash_profile && export PATH=$PATH:/opt/build/bin/ && sed -i 's/llvm12/llvm7/g' kclvm/compiler/Cargo.toml && make && make release"

- name: Upload Artifact
uses: actions/upload-artifact@v3
with:
name: kcl-centos7-amd64
path: _build/dist/centos/kclvm
Original file line number Diff line number Diff line change
@@ -1,12 +1,6 @@
name: Build and Test on Linux ARCH64

on:
push:
branches:
- main
pull_request:
branches:
- main
on: ["push", "pull_request"]

jobs:
build-and-test-arm64:
Expand All @@ -17,33 +11,15 @@ jobs:
uses: actions/checkout@v3
with:
submodules: "true"

- name: Set up Go
uses: actions/setup-go@v2
with:
go-version: 1.21

- name: Install prerequisites
run: |
sudo apt-get update
sudo apt-get install -y git wget curl make python3 python3-pip clang-12 lld-12
sudo ln -sf /usr/bin/clang-12 /usr/bin/clang

- name: Install rust nightly toolchain
uses: actions-rs/toolchain@v1
with:
toolchain: 1.76
override: true
components: clippy, rustfmt

- name: Set up QEMU
uses: docker/setup-qemu-action@v2
with:
platforms: linux/amd64,linux/arm64

- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2

- name: Pull custom ARM64 Docker image
run: |
docker pull --platform linux/arm64 kcllang/kcl-builder-arm64
Expand Down
3 changes: 0 additions & 3 deletions kclvm/compiler/src/codegen/llvm/context.rs
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@ use indexmap::{IndexMap, IndexSet};
use inkwell::basic_block::BasicBlock;
use inkwell::builder::Builder;
use inkwell::context::Context;
use inkwell::debug_info::{DICompileUnit, DebugInfoBuilder};
use inkwell::memory_buffer::MemoryBuffer;
use inkwell::module::{Linkage, Module};
use inkwell::support::LLVMString;
Expand Down Expand Up @@ -137,8 +136,6 @@ pub struct LLVMCodeGenContext<'ctx> {
/// LLVM module with debug info builder and compile unit.
pub struct DebugModule<'ctx> {
pub inner: Module<'ctx>,
pub dibuilder: DebugInfoBuilder<'ctx>,
pub compile_unit: DICompileUnit<'ctx>,
}

impl<'ctx> CodeGenObject for BasicValueEnum<'ctx> {}
Expand Down
30 changes: 1 addition & 29 deletions kclvm/compiler/src/codegen/llvm/metadata.rs
Original file line number Diff line number Diff line change
@@ -1,38 +1,10 @@
// Copyright The KCL Authors. All rights reserved.

use super::context::{DebugModule, LLVMCodeGenContext};
use crate::codegen::traits::ProgramCodeGen;
use inkwell::module::Module;

impl<'ctx> LLVMCodeGenContext<'ctx> {
pub(crate) fn create_debug_module(&self, module: Module<'ctx>) -> DebugModule<'ctx> {
let (dibuilder, compile_unit) = module.create_debug_info_builder(
true,
/* language */ inkwell::debug_info::DWARFSourceLanguage::C,
/* filename */ &self.current_pkgpath(),
/* directory */ ".",
/* producer */ "kcl",
/* is_optimized */ false,
/* compiler command line flags */ "",
/* runtime_ver */ 0,
/* split_name */ "",
/* kind */ inkwell::debug_info::DWARFEmissionKind::Full,
/* dwo_id */ 0,
/* split_debug_inling */ false,
/* debug_info_for_profiling */ false,
/* sys_root */ ".",
"",
);
let debug_metadata_version = self.context.i32_type().const_int(3, false);
module.add_basic_value_flag(
"Debug Info Version",
inkwell::module::FlagBehavior::Warning,
debug_metadata_version,
);
DebugModule {
inner: module,
dibuilder,
compile_unit,
}
DebugModule { inner: module }
}
}
Loading