Skip to content

Release

Release #10

Workflow file for this run

name: Release
on:
workflow_dispatch:
push:
tags:
- '*'
env:
# Customize the CMake build type here (Release, Debug, RelWithDebInfo, etc.)
BUILD_TYPE: Release
permissions:
contents: write
jobs:
buildAndRelease:
# 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@v4
# Update references
- name: Git Sumbodule Update
run: |
git submodule update --init
# Needed to generate certificates
- uses: ConorMacBride/install-package@v1
with:
apt: golang-cfssl
- name: Get Conan
# You may pin to the exact commit or the version.
# uses: turtlebrowser/get-conan@c171f295f3f507360ee018736a6608731aa2109d
uses: turtlebrowser/[email protected]
- name: Create default profile
run: conan profile detect
- name: Configure CMake
run: cmake -B ${{github.workspace}}/build -DWITH_TESTS=OFF -DCMAKE_PROJECT_TOP_LEVEL_INCLUDES=${{github.workspace}}/conan_provider.cmake
- name: Build
run: cmake --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}} -j 18
- name: Prep release
run: |
rm -rf Release/Beacons
rm -f Release/Client/.gitignore
rm -f Release/Client/logs/.gitignore
rm -f Release/Client/libGrpcMessages/build/py/.gitignore
rm -f Release/Modules/.gitignore
mv ./Release/Modules/ ./Release/TeamServerModules/
rm -f Release/Scripts/.gitignore
rm -f Release/TeamServer/.gitignore
rm -f Release/Tools/.gitignore
rm -f Release/www/.gitignore
wget -q $(wget -q -O - 'https://api.github.com/repos/maxDcb/C2Implant/releases/latest' | jq -r '.assets[] | select(.name=="Release.zip").browser_download_url') -O ./C2Implant.zip
unzip -o C2Implant.zip
rm -f C2Implant.zip
wget -q $(wget -q -O - 'https://api.github.com/repos/maxDcb/C2LinuxImplant/releases/latest' | jq -r '.assets[] | select(.name=="Release.tar.gz").browser_download_url') -O ./C2LinuxImplant.tar.gz
tar -zxvf C2LinuxImplant.tar.gz
rm -f C2LinuxImplant.tar.gz
tar -zcvf Release.tar.gz Release
- name: Upload release
uses: svenstaro/upload-release-action@v2
with:
repo_token: ${{ secrets.GITHUB_TOKEN }}
file: Release.tar.gz
asset_name: Release.tar.gz
tag: ${{ github.ref }}
overwrite: true
body: "C2TeamServer client and server, include the release of C2Implant with the windows beacons and modules"