diff --git a/.github/workflows/cmake-single-platform.yml b/.github/workflows/dev.yml similarity index 76% rename from .github/workflows/cmake-single-platform.yml rename to .github/workflows/dev.yml index 0675c4c..5fcc8f0 100644 --- a/.github/workflows/cmake-single-platform.yml +++ b/.github/workflows/dev.yml @@ -4,14 +4,15 @@ name: CMake on a single platform on: push: - branches: [ "main" ] + branches: [ "dev" ] pull_request: - branches: [ "main" ] + branches: [ "dev" ] env: # Customize the CMake build type here (Release, Debug, RelWithDebInfo, etc.) - BUILD_TYPE: Release + BUILD_TYPE: Debug RELEASE_VERSION: 0.1.0 + PACKAGE_NAME: cmaker-nightly-${{env.RELEASE_VERSION}}.${{github.run_number}} jobs: build: @@ -28,16 +29,14 @@ jobs: # See https://cmake.org/cmake/help/latest/variable/CMAKE_BUILD_TYPE.html?highlight=cmake_build_type run: cmake -B ${{github.workspace}}/ -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} - - name: Build + - name: Build & Zip Distribution working-directory: ${{github.workspace}} # Build your program with the given configuration - run: make -j32 - - - name: Upload Artifact - uses: actions/upload-artifact@v3 - with: - name: cmaker-artifact-${{github.run_number}} - path: ${{github.workspace}}/build/ + run: | + cd ${{github.workspace}} + make -j32 + mkdir ./dist + tar -czf ${{github.workspace}}/dist/${{env.PACKAGE_NAME}}.tar.gz ./build/ - name: BuildTest working-directory: ${{github.workspace}} @@ -49,15 +48,12 @@ jobs: working-directory: ${{github.workspace}} run: ./build/cmaker - - name: Build Release - working-directory: ${{github.workspace}} - run: cmake -DCMAKE_BUILD_TYPE=Release ./ && make -j32 && mkdir ./dist/ && tar -czf ./dist/cmaker-nightly-${{env.RELEASE_VERSION}}.${{github.run_number}}.tar.gz ./build/ - name: Upload artifacts uses: svenstaro/upload-release-action@v2 with: repo_token: ${{ secrets.CI_TOKEN }} - file: ${{github.workspace}}/dist/cmaker-nightly-${{env.RELEASE_VERSION}}.${{github.run_number}}.tar.gz + file: ${{github.workspace}}/dist/${{env.PACKAGE_NAME}}.tar.gz asset_name: cmaker tag: nightly-${{env.RELEASE_VERSION}}.${{github.run_number}} overwrite: false @@ -65,5 +61,3 @@ jobs: make_latest: true release_name: "CMaker nightly-${{env.RELEASE_VERSION}}.${{github.run_number}}" body: "CMaker nightly-${{env.RELEASE_VERSION}}.${{github.run_number}}" - - diff --git a/.github/workflows/prod.yml b/.github/workflows/prod.yml new file mode 100644 index 0000000..f5f74f6 --- /dev/null +++ b/.github/workflows/prod.yml @@ -0,0 +1,48 @@ +# This starter workflow is for a CMake project running on a single platform. There is a different starter workflow if you need cross-platform coverage. +# See: https://github.com/actions/starter-workflows/blob/main/ci/cmake-multi-platform.yml +name: CMake on a single platform + +# on: +# push: +# branches: [ "main" ] +# pull_request: +# branches: [ "main" ] +# Don't wanna release without manual action + +env: + # Customize the CMake build type here (Release, Debug, RelWithDebInfo, etc.) + RELEASE_VERSION: 0.1.0 + PACKAGE_NAME: "cmaker-release-${{env.RELEASE_VERSION}}.${{github.run_number}}" + +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: self-hosted + + steps: + - uses: actions/checkout@v3 + + - name: Build Release + working-directory: ${{github.workspace}} + run: | + cmake -DCMAKE_BUILD_TYPE=Release ./ + make -j32 + mkdir ./dist/ + tar -czf ./dist/${{env.PACKAGE_NAME}}.tar.gz ./build/ + + - name: Upload artifacts + uses: svenstaro/upload-release-action@v2 + with: + repo_token: ${{ secrets.CI_TOKEN }} + file: ${{github.workspace}}/dist/${{env.PACKAGE_NAME}}.tar.gz + asset_name: cmaker-release + tag: ${{env.PACKAGE_NAME}} + overwrite: false + prerelease: false + make_latest: true + release_name: "CMaker ${{env.RELEASE_VERSION}}.${{github.run_number}}" + body: "CMaker ${{env.RELEASE_VERSION}}.${{github.run_number}}" + +