feat: add ci for linux building and publishing #3
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Build - linux ubuntu2204 | |
on: | |
push: | |
branches: | |
- "**" | |
tags: | |
- "**" | |
paths-ignore: | |
- "tools/**" | |
- "docs/**" | |
- ".vscode/**" | |
- ".devcontainer/**" | |
- ".github/configs/**" | |
- "**.md" | |
pull_request: | |
jobs: | |
build: | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
compiler: [gcc, clang] | |
build_type: [debug, release] | |
container: | |
image: ghcr.io/${{ github.repository_owner }}/ten_building_ubuntu2204 | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
fetch-depth: "0" | |
submodules: "true" | |
- name: Build | |
run: | | |
export PATH=$(pwd)/core/ten_gn:$PATH | |
echo $PATH | |
go env -w GOFLAGS="-buildvcs=false" | |
go1.20.12 download | |
rustup default nightly | |
tgn gen linux x64 ${{ matrix.build_type }} -- is_clang=${{ matrix.compiler == 'gcc' && 'false' || 'true' }} log_level=1 enable_serialized_actions=true ten_enable_test=false | |
tgn build linux x64 ${{ matrix.build_type }} | |
tree -I 'gen|obj' out | |
- name: Upload tman | |
uses: actions/upload-artifact@v4 | |
with: | |
name: tman-linux-x64-${{ matrix.compiler }}-${{ matrix.build_type }} | |
path: out/linux/x64/ten_manager/bin/tman | |
- name: Upload ten_packages | |
uses: actions/upload-artifact@v4 | |
with: | |
name: ten_packages-linux-x64-${{ matrix.compiler }}-${{ matrix.build_type }} | |
path: | | |
out/linux/x64/ten_packages/system | |
out/linux/x64/ten_packages/extension_group | |
out/linux/x64/ten_packages/extension/default_extension_cpp | |
out/linux/x64/ten_packages/extension/default_extension_go | |
out/linux/x64/ten_packages/extension/default_extension_python | |
out/linux/x64/ten_packages/extension/py_init_extension_cpp | |
- name: Package assets | |
if: startsWith(github.ref, 'refs/tags/') | |
run: | | |
cd out/linux/x64 | |
zip -vr tman-linux-x64-${{ matrix.compiler }}-${{ matrix.build_type }}.zip ten_manager/bin/tman | |
zip -vr ten_packages-linux-x64-${{ matrix.compiler }}-${{ matrix.build_type }}.zip \ | |
ten_packages/system \ | |
ten_packages/extension_group \ | |
ten_packages/extension/default_extension_cpp \ | |
ten_packages/extension/default_extension_go \ | |
ten_packages/extension/default_extension_python \ | |
ten_packages/extension/py_init_extension_cpp | |
- name: Release assets | |
uses: softprops/action-gh-release@v2 | |
if: startsWith(github.ref, 'refs/tags/') | |
with: | |
files: | | |
out/linux/x64/tman-linux-x64-${{ matrix.compiler }}-${{ matrix.build_type }}.zip | |
out/linux/x64/ten_packages-linux-x64-${{ matrix.compiler }}-${{ matrix.build_type }}.zip |