From e872250d98acefc0bd16d36ad48eb6de3d810182 Mon Sep 17 00:00:00 2001 From: Andrei Dabija Date: Fri, 18 Oct 2024 12:12:29 +0300 Subject: [PATCH 1/6] Delete build.py --- build.py | 52 ---------------------------------------------------- 1 file changed, 52 deletions(-) delete mode 100644 build.py diff --git a/build.py b/build.py deleted file mode 100644 index 951ad757..00000000 --- a/build.py +++ /dev/null @@ -1,52 +0,0 @@ -import os -import sys -import argparse -from subprocess import Popen -from subprocess import STDOUT - -platforms = ['linux_x64', 'linux_x86', 'osx', 'win32', 'win64', 'uwp'] - -def is_valid_platform(arg : str): - - if not len(arg): - return False - - for p in platforms: - if p == arg: - return True - - return False - -def run_process(args): - print('Running process:' + str(args)) - proc = Popen(args, stderr=STDOUT) - proc.wait() - -if __name__ == "__main__": - - parser = argparse.ArgumentParser(prog='GA Build', - description='Build GA for the desired platform', - usage=f'build.py --platform={platforms}') - - parser.add_argument('-p', '--platform') - args = parser.parse_args() - - platform = args.platform.strip() - - print(platform) - - if not is_valid_platform(platform): - print('Invalid argument', parser.usage) - exit(1) - - os.makedirs('build', exist_ok=True) - os.chdir('build') - - cmd = ['cmake', '..', f'-DPLATFORM:STRING={platform}'] - - if platform == 'osx': - cmd.append('-G') - cmd.append('Xcode') - - run_process(cmd) - From 13f2a13222dbb5aaa025d9a67505f44a0af8abca Mon Sep 17 00:00:00 2001 From: Andrei Dabija Date: Fri, 18 Oct 2024 12:15:47 +0300 Subject: [PATCH 2/6] Update README.md --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index b3641234..73d41660 100644 --- a/README.md +++ b/README.md @@ -49,10 +49,10 @@ Changelog How to build ------------ -Run `build.py` with the required argument for your platform: +Run `setup.py` with the required argument for your platform: ```sh -python build.py --platform={your platform} +python setup.py --platform {linux_x64,linux_x86,osx,win32,win64,uwp} [--cfg {Release,Debug}] [--build] [--test] [--coverage] ``` The following arguments are supported: From fde188b3a9e09ad0974eaf2c24bb939bb76a951e Mon Sep 17 00:00:00 2001 From: Andrei Dabija Date: Fri, 18 Oct 2024 12:31:02 +0300 Subject: [PATCH 3/6] add git credentials for bot --- .github/workflows/create_release.yml | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/.github/workflows/create_release.yml b/.github/workflows/create_release.yml index e5abe367..9a382aa6 100644 --- a/.github/workflows/create_release.yml +++ b/.github/workflows/create_release.yml @@ -22,6 +22,16 @@ jobs: runs-on: ubuntu-latest steps: + - name: Checkout code + uses: actions/checkout@v3 + with: + fetch-depth: 0 # Fetch all history for tags and commits + + - name: Set up Git credentials + run: | + git config user.name "ga-sdk-release[bot]" + git config user.email "ga-sdk-release[bot]@noreply.gameanalytics.com" + - name: Push tag ${{ inputs.tag_name }} run: | git tag ${{ inputs.tag_name }} @@ -42,4 +52,4 @@ jobs: name: Release GA-CPP-SDK ${{ inputs.tag_name }} generate_release_notes: true make_latest: true - files: ./release-artifacts/* \ No newline at end of file + files: ./release-artifacts/* From 7382c5f43d886d7604bc7ea23937fc304cf28305 Mon Sep 17 00:00:00 2001 From: Andrei Dabija Date: Fri, 18 Oct 2024 12:38:54 +0300 Subject: [PATCH 4/6] Update build.yml --- .github/workflows/build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index b2c368eb..04eb3f5b 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -5,7 +5,7 @@ on: branches: ['*'] # Trigger on push events for all branches tags-ignore: ['*'] # Ignore push events on all tags pull_request: - branches: ['master'] # Trigger on pull requests to master + branches: ['main'] # Trigger on pull requests to main workflow_dispatch: # Allow manual triggering of workflow jobs: From 754b304fad3715209e5649b1e263041d5ac19213 Mon Sep 17 00:00:00 2001 From: Andrei Dabija Date: Fri, 18 Oct 2024 14:56:54 +0300 Subject: [PATCH 5/6] change folderstruct for release assets --- .github/workflows/create_release.yml | 28 +++++++++++++++++++++++++--- 1 file changed, 25 insertions(+), 3 deletions(-) diff --git a/.github/workflows/create_release.yml b/.github/workflows/create_release.yml index 9a382aa6..40b65722 100644 --- a/.github/workflows/create_release.yml +++ b/.github/workflows/create_release.yml @@ -42,8 +42,30 @@ jobs: with: path: ./release-artifacts - - name: Show downloaded artifacts - run: ls -l ./release-artifacts + - name: Organize release files + run: | + # Create the base include directory in the final release + mkdir -p ./final-release/include + + # Copy the entire include directory from one of the platform folders (assuming they are the same across platforms) + cp -r ./release-artifacts/ga-cpp-sdk-macOS-latest-clang-Release/include/* ./final-release/include/ + + # Dynamically find all platform directories + platform_dirs=$(find ./release-artifacts -mindepth 1 -maxdepth 1 -type d) + + # Iterate over each platform directory and copy the respective binaries + for platform in $platform_dirs; do + platform_name=$(basename $platform) + mkdir -p ./final-release/$platform_name + if [[ $platform_name == *"windows"* ]]; then + cp $platform/*.lib ./final-release/$platform_name/ + else + cp $platform/*.a ./final-release/$platform_name/ + fi + done + + - name: Show organized release files + run: tree ./final-release - name: Create release uses: softprops/action-gh-release@v2.0.8 @@ -52,4 +74,4 @@ jobs: name: Release GA-CPP-SDK ${{ inputs.tag_name }} generate_release_notes: true make_latest: true - files: ./release-artifacts/* + files: ./final-release/**/* From b0d3fa822dfae2c9cfdd7290b26865c0dcebe6cd Mon Sep 17 00:00:00 2001 From: Andrei Dabija Date: Fri, 18 Oct 2024 15:04:13 +0300 Subject: [PATCH 6/6] Update create_release.yml --- .github/workflows/create_release.yml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/.github/workflows/create_release.yml b/.github/workflows/create_release.yml index 40b65722..f8cb19e9 100644 --- a/.github/workflows/create_release.yml +++ b/.github/workflows/create_release.yml @@ -64,6 +64,9 @@ jobs: fi done + # Create a zip archive of the final-release directory + zip -r ga-sdk-release-${{ inputs.tag_name }}.zip ./final-release + - name: Show organized release files run: tree ./final-release @@ -74,4 +77,4 @@ jobs: name: Release GA-CPP-SDK ${{ inputs.tag_name }} generate_release_notes: true make_latest: true - files: ./final-release/**/* + files: ga-sdk-release-${{ inputs.tag_name }}.zip