diff --git a/.github/workflows/cmake.yml b/.github/workflows/build-commit.yml similarity index 98% rename from .github/workflows/cmake.yml rename to .github/workflows/build-commit.yml index 031f811..8ebdfc1 100644 --- a/.github/workflows/cmake.yml +++ b/.github/workflows/build-commit.yml @@ -1,4 +1,4 @@ -name: CMake +name: Build on Commit on: push: diff --git a/.github/workflows/build-release.yml b/.github/workflows/build-release.yml new file mode 100644 index 0000000..4b407fb --- /dev/null +++ b/.github/workflows/build-release.yml @@ -0,0 +1,43 @@ +name: Build Release + + +on: + push: + tags: + - '*' + +env: + # Customize the CMake build type here (Release, Debug, RelWithDebInfo, etc.) + BUILD_TYPE: Release + +jobs: + build: + # The CMake configure and build commands are platform agnostic and should work equally well on Windows or Mac. + # You can convert this to a matrix build if you need cross-platform coverage. + # See: https://docs.github.com/en/free-pro-team@latest/actions/learn-github-actions/managing-complex-workflows#using-a-build-matrix + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v3 + with: + submodules: true + + - name: Install Dependencies + run: sudo apt-get update && sudo apt-get install -yq libboost-dev + + - name: Build + # Configure CMake in a 'build' subdirectory. `CMAKE_BUILD_TYPE` is only required if you are using a single-configuration generator such as make. + # See https://cmake.org/cmake/help/latest/variable/CMAKE_BUILD_TYPE.html?highlight=cmake_build_type + run: | + + cd ${{github.workspace}}/ggml + cmake -B ${{github.workspace}}/ggml/build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} -D CMAKE_EXE_LINKER_FLAGS="-static" + cd ${{github.workspace}}/ggml/build + make codegen codegen-serve + chmod +x ${{github.workspace}}/ggml/build/bin/codegen ${{github.workspace}}/ggml/build/bin/codegen-serve + + + - name: Create Release + uses: ncipollo/release-action@v1 + with: + artifacts: "${{github.workspace}}/ggml/build/bin/codegen,${{github.workspace}}/ggml/build/bin/codegen-serve" diff --git a/.github/workflows/docker-release.yml b/.github/workflows/docker-release.yml new file mode 100644 index 0000000..ea51016 --- /dev/null +++ b/.github/workflows/docker-release.yml @@ -0,0 +1,30 @@ +name: Docker Release + +on: + push: + tags: + - '*' + +jobs: + + build: + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v2.7.0 + with: + submodules: true + + + - name: Publish Docker Image to GitHub Registry + # You may pin to the exact commit or the version. + # uses: TilBlechschmidt/gp-docker-action@f89287d44556dd7d24f76c799cd0795eeb352bcf + uses: TilBlechschmidt/gp-docker-action@v0.2-alpha + with: + # GitHub token to push Docker image to GitHub Packages + github-token: ${{ secrets.GH_TOKEN }} + # Docker Image name + image-name: turbopilot + # Path to the directory where the Dockerfile resides + dockerfile-path: . # optional, default is . + image-tag: ${{ github.tag }} \ No newline at end of file