From 0c7c3acc0be08aef2f8752ca123ad0ad35b3a78a Mon Sep 17 00:00:00 2001 From: Ezekiel Warren Date: Sat, 27 Aug 2022 11:32:25 -0700 Subject: [PATCH 1/7] Release script --- .bazelignore | 1 + .bazelrc | 3 + .github/workflows/release.yml | 139 ++++++++++++++++++++++++++++++++++ .gitignore | 7 ++ BUILD.bazel | 41 ++++++++++ CreateMsix.bat | 6 ++ UploadMsix.ps1 | 31 ++++++++ WORKSPACE.bazel | 22 ++++++ dist/AppxManifest.xml | 31 ++++++++ dist/images/logo.png | Bin 0 -> 74246 bytes dist/images/logo150.png | Bin 0 -> 29735 bytes dist/images/logo44.png | Bin 0 -> 3905 bytes pkg.bzl | 100 ++++++++++++++++++++++++ 13 files changed, 381 insertions(+) create mode 100644 .github/workflows/release.yml create mode 100644 BUILD.bazel create mode 100644 CreateMsix.bat create mode 100644 UploadMsix.ps1 create mode 100644 dist/AppxManifest.xml create mode 100644 dist/images/logo.png create mode 100644 dist/images/logo150.png create mode 100644 dist/images/logo44.png create mode 100644 pkg.bzl diff --git a/.bazelignore b/.bazelignore index 5446323..d2c27ed 100644 --- a/.bazelignore +++ b/.bazelignore @@ -1 +1,2 @@ external +dist diff --git a/.bazelrc b/.bazelrc index b1a5004..76045ba 100644 --- a/.bazelrc +++ b/.bazelrc @@ -4,11 +4,14 @@ build --incompatible_enable_cc_toolchain_resolution build --incompatible_strict_action_env build:windows --platforms=//bazel/platforms:windows +build:windows --host_platform=//bazel/platforms:windows build:linux --platforms=//bazel/platforms:linux +build:linux --host_platform=//bazel/platforms:linux build:linux --extra_toolchains=@llvm_toolchain//:cc-toolchain-x86_64-linux common:ci --announce_rc common:ci --disk_cache=~/.cache/bazel-disk-cache +build:ci -c opt try-import %workspace%/user.bazelrc diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 0000000..8b0af5c --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,139 @@ +name: Release + +on: + push: + tags: + - "[0-9]+.[0-9]+.[0-9]+" + - "[0-9]+.[0-9]+.[0-9]+-rc.[0-9]+" + +jobs: + release-draft: + runs-on: ubuntu-latest + steps: + - uses: softprops/action-gh-release@v1 + + common-dist: + runs-on: ubuntu-latest + steps: + - uses: actions/cache@v3 + with: + path: | + ~/.cache/bazelisk + ~/.cache/bazel-disk-cache + key: ${{runner.os}}-bazel-cache + - uses: actions/checkout@v3 + - run: ./copy_common_dist.sh + - uses: actions/upload-artifact@v3 + with: + name: common-dist + path: dist + windows-x64-binaries: + runs-on: windows-latest + steps: + - name: Get Home Directory + id: get_home_dir + run: echo "::set-output name=dir::$HOME" + - uses: actions/cache@v3 + with: + path: | + /Users/runneradmin/AppData/Local/bazelisk + /Users/runneradmin/.cache/bazel-disk-cache + key: ${{runner.os}}-bazel-cache + - uses: actions/checkout@v3 + - run: bazel run --config=ci //:copy_dist_bin + - uses: actions/upload-artifact@v3 + with: + name: windows-x64-binaries + path: dist + linux-x64-binaries: + runs-on: ubuntu-latest + steps: + - uses: actions/cache@v3 + with: + path: | + ~/.cache/bazelisk + ~/.cache/bazel-disk-cache + key: ${{runner.os}}-bazel-cache + - uses: actions/checkout@v3 + - run: bazel run --config=ci //:copy_dist_bin + - uses: actions/upload-artifact@v3 + with: + name: linux-x64-binaries + path: dist + + linux-x64-archive: + runs-on: ubuntu-latest + needs: + - linux-x64-binaries + - common-dist + steps: + - uses: actions/download-artifact@v3 + with: + name: common-dist + - uses: actions/download-artifact@v3 + with: + name: linux-x64-binaries + - run: tar -czf ecsact_sdk_${{github.ref_name}}_linux_x64.tar.gz bin include + - uses: actions/upload-artifact@v3 + with: + name: linux-x64-archive + path: ecsact_sdk_${{github.ref_name}}_linux_x64.tar.gz + + windows-x64-archive: + runs-on: ubuntu-latest + needs: + - windows-x64-binaries + - common-dist + steps: + - uses: actions/download-artifact@v3 + with: + name: common-dist + - uses: actions/download-artifact@v3 + with: + name: windows-x64-binaries + - run: > + mv bin/ecsact-rtb.runfiles bin/ecsact-rtb.exe.runfiles && + zip -r ecsact_sdk_${{github.ref_name}}_windows_x64.zip bin include + - uses: actions/upload-artifact@v3 + with: + name: windows-x64-archive + path: ecsact_sdk_${{github.ref_name}}_windows_x64.zip + + release-upload-linux-x64-archive: + runs-on: ubuntu-latest + needs: + - release-draft + - linux-x64-archive + steps: + - uses: actions/download-artifact@v3 + with: + name: linux-x64-archive + - uses: softprops/action-gh-release@v1 + with: + fail_on_unmatched_files: true + files: ecsact_sdk_${{github.ref_name}}_linux_x64.tar.gz + + release-upload-windows-x64-archive: + runs-on: ubuntu-latest + needs: + - release-draft + - windows-x64-archive + steps: + - uses: actions/download-artifact@v3 + with: + name: windows-x64-archive + - uses: softprops/action-gh-release@v1 + with: + fail_on_unmatched_files: true + files: ecsact_sdk_${{github.ref_name}}_windows_x64.zip + + release-finish: + runs-on: ubuntu-latest + needs: + - release-upload-windows-x64-archive + - release-upload-linux-x64-archive + steps: + - uses: softprops/action-gh-release@v1 + with: + name: ${{github.ref_name}} + generate_release_notes: true diff --git a/.gitignore b/.gitignore index 7b0d298..e3340df 100644 --- a/.gitignore +++ b/.gitignore @@ -11,3 +11,10 @@ # ecsact codegen *.ecsact.* + +# MSIX distribution folder +/dist/* +!/dist/AppxManifest.xml +!/dist/images +*.msix +*.zip diff --git a/BUILD.bazel b/BUILD.bazel new file mode 100644 index 0000000..05a16cf --- /dev/null +++ b/BUILD.bazel @@ -0,0 +1,41 @@ +# load(":pkg.bzl", "pkg_executable") +# load("@rules_pkg//pkg:tar.bzl", "pkg_tar") +load("@bzlws//:index.bzl", "bzlws_copy", "bzlws_extract") + +bzlws_copy( + name = "copy_dist_bin", + srcs = [ + "//cli:ecsact", + ], + out = "dist/bin/{FILENAME}", + force = True, +) + +bzlws_copy( + name = "copy_dist_include", + srcs = [ + "@ecsact_runtime//:headers", + ], + out = "dist/include/{FILEPATH}", + force = True, +) + +bzlws_copy( + name = "copy_dist_codegen_plugins", + srcs = [ + "@ecsact_lang_cpp//cpp_header_codegen", + "@ecsact_lang_cpp//cpp_systems_header_codegen", + "@ecsact_lang_cpp//systems_header_codegen", + ], + out = "dist/share/ecsact/plugins/{FILENAME}", + force = True, +) + +bzlws_extract( + name = "copy_runfiles", + testonly = True, + srcs = [":runfiles_tar"], + out = "dist/bin", + force = True, + tags = ["nowindows"], +) diff --git a/CreateMsix.bat b/CreateMsix.bat new file mode 100644 index 0000000..c0bfd47 --- /dev/null +++ b/CreateMsix.bat @@ -0,0 +1,6 @@ +@echo off + +set /p "PASSWORD=Password: " + +MSIXHeroCLI pack -d dist -p EcsactSdk.msix +MSIXHeroCLI sign --file %USERPROFILE%\Documents\Certificates\Seaube.pfx -p %PASSWORD% EcsactSdk.msix diff --git a/UploadMsix.ps1 b/UploadMsix.ps1 new file mode 100644 index 0000000..94f3e89 --- /dev/null +++ b/UploadMsix.ps1 @@ -0,0 +1,31 @@ +#!/usr/bin/env pwsh + +$ErrorActionPreference = 'Stop' + +# GitHub requires TLS 1.2 +[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12 + +$LatestTag = (gh release list -L 1).split()[0] +Write-Host "Latest Tag: $LatestTag" + +$ArchiveUrl = "https://github.com/ecsact-dev/ecsact_sdk/releases/download/$($LatestTag)/ecsact_sdk_$($LatestTag)_windows_x64.zip" +$ArchivePath = "ecsact_sdk_$($LatestTag)_windows_x64.zip" + +Write-Host "Downloading $ArchiveUrl to $ArchivePath..." +Invoke-WebRequest $ArchiveUrl -OutFile $ArchivePath -UseBasicParsing + +git clean dist -dfx +Write-Host "Extracting $ArchivePath to dist..." +Expand-Archive -Path $ArchivePath -DestinationPath dist + +((Get-Content -path .\dist\AppxManifest.xml -Raw) -replace '0.0.0.0-placeholder',"$($LatestTag).0") | Set-Content -Path .\dist\AppxManifest.xml + +try { + $MsixPath = "ecsact_sdk_$($LatestTag)_windows_x64.msix" + $CertPassword = Read-Host "Cert Password" + MSIXHeroCLI pack -d dist -p $MsixPath + MSIXHeroCLI sign --file $env:USERPROFILE\Documents\Certificates\Seaube.pfx -p $CertPassword $MsixPath + gh release upload $LatestTag $MsixPath +} finally { + git checkout .\dist\AppxManifest.xml +} diff --git a/WORKSPACE.bazel b/WORKSPACE.bazel index e8c186a..47b7857 100644 --- a/WORKSPACE.bazel +++ b/WORKSPACE.bazel @@ -31,6 +31,28 @@ http_archive( url = "https://github.com/google/googletest/archive/25cc5777a17820a6339204a3552aa1dd5e428669.zip", ) +http_archive( + name = "bzlws", + sha256 = "9f52b3f339fb42e5a663b379eda56723fafb27c0fb3113152ee3a9229b059080", + strip_prefix = "bzlws-4042efa29a0359cf13f1b64e0bcd560c2d1dc4c2", + url = "https://github.com/zaucy/bzlws/archive/4042efa29a0359cf13f1b64e0bcd560c2d1dc4c2.zip", +) + +load("@bzlws//:repo.bzl", "bzlws_deps") + +bzlws_deps() + +http_archive( + name = "rules_7zip", + sha256 = "29ba984e2a7d48540faa839efaf09be4b880d211a93575e7ac87abffc12dbdea", + strip_prefix = "rules_7zip-25d3b858a37580dbc1f1ced002e210be15012e2f", + urls = ["https://github.com/zaucy/rules_7zip/archive/25d3b858a37580dbc1f1ced002e210be15012e2f.zip"], +) + +load("@rules_7zip//:setup.bzl", "setup_7zip") + +setup_7zip() + http_archive( name = "hedron_compile_commands", sha256 = "c192482fc1d76eeec2c92d1dced179122b6bd2895ca0e7239aa4866ece7e096c", diff --git a/dist/AppxManifest.xml b/dist/AppxManifest.xml new file mode 100644 index 0000000..5956bdf --- /dev/null +++ b/dist/AppxManifest.xml @@ -0,0 +1,31 @@ + + + + + Ecsact SDK + Seaube + images\logo.png + Ecsact development tools and runtime headers. https://ecsact.dev + + + + + + + + + + + + + + + + + + + + + + + diff --git a/dist/images/logo.png b/dist/images/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..c2922afb517306932e628b40b844ca81d41fe523 GIT binary patch literal 74246 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Π8|fJJP};uAL<1mwCLR{?bVc@NYC#6s##^hB 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 R{!l$9j-CGN&C#G+{|D_+)1?3a literal 0 HcmV?d00001 diff --git a/dist/images/logo150.png b/dist/images/logo150.png new file mode 100644 index 0000000000000000000000000000000000000000..a8bcdc8baab9252c8e9c3e5f402653f9e0ba3935 GIT binary patch literal 29735 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 Date: Sat, 27 Aug 2022 11:35:20 -0700 Subject: [PATCH 2/7] temp for testing --- .github/workflows/release.yml | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 8b0af5c..7fb8996 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -1,10 +1,16 @@ name: Release +# on: +# push: +# tags: +# - "[0-9]+.[0-9]+.[0-9]+" +# - "[0-9]+.[0-9]+.[0-9]+-rc.[0-9]+" + +# TODO(zaucy): remove branch push when testing is done on: push: - tags: - - "[0-9]+.[0-9]+.[0-9]+" - - "[0-9]+.[0-9]+.[0-9]+-rc.[0-9]+" + branches: + - "**" jobs: release-draft: @@ -41,6 +47,7 @@ jobs: key: ${{runner.os}}-bazel-cache - uses: actions/checkout@v3 - run: bazel run --config=ci //:copy_dist_bin + - run: bazel run --config=ci //:copy_dist_codegen_plugins - uses: actions/upload-artifact@v3 with: name: windows-x64-binaries @@ -56,6 +63,7 @@ jobs: key: ${{runner.os}}-bazel-cache - uses: actions/checkout@v3 - run: bazel run --config=ci //:copy_dist_bin + - run: bazel run --config=ci //:copy_dist_codegen_plugins - uses: actions/upload-artifact@v3 with: name: linux-x64-binaries From 7d17d2ff542b4640c96f7845465861508763809b Mon Sep 17 00:00:00 2001 From: Ezekiel Warren Date: Sat, 27 Aug 2022 11:39:31 -0700 Subject: [PATCH 3/7] remove common dist --- .github/workflows/release.yml | 23 ----------------------- 1 file changed, 23 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 7fb8996..24df990 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -18,21 +18,6 @@ jobs: steps: - uses: softprops/action-gh-release@v1 - common-dist: - runs-on: ubuntu-latest - steps: - - uses: actions/cache@v3 - with: - path: | - ~/.cache/bazelisk - ~/.cache/bazel-disk-cache - key: ${{runner.os}}-bazel-cache - - uses: actions/checkout@v3 - - run: ./copy_common_dist.sh - - uses: actions/upload-artifact@v3 - with: - name: common-dist - path: dist windows-x64-binaries: runs-on: windows-latest steps: @@ -73,11 +58,7 @@ jobs: runs-on: ubuntu-latest needs: - linux-x64-binaries - - common-dist steps: - - uses: actions/download-artifact@v3 - with: - name: common-dist - uses: actions/download-artifact@v3 with: name: linux-x64-binaries @@ -91,11 +72,7 @@ jobs: runs-on: ubuntu-latest needs: - windows-x64-binaries - - common-dist steps: - - uses: actions/download-artifact@v3 - with: - name: common-dist - uses: actions/download-artifact@v3 with: name: windows-x64-binaries From 12f235d892f5d252c389e7867872ed623218d3ad Mon Sep 17 00:00:00 2001 From: Ezekiel Warren Date: Sat, 27 Aug 2022 12:40:01 -0700 Subject: [PATCH 4/7] Added missing dependencies --- BUILD.bazel | 13 +------------ WORKSPACE.bazel | 28 ++++++++++++++++++++++++++++ 2 files changed, 29 insertions(+), 12 deletions(-) diff --git a/BUILD.bazel b/BUILD.bazel index 05a16cf..20caa83 100644 --- a/BUILD.bazel +++ b/BUILD.bazel @@ -1,6 +1,4 @@ -# load(":pkg.bzl", "pkg_executable") -# load("@rules_pkg//pkg:tar.bzl", "pkg_tar") -load("@bzlws//:index.bzl", "bzlws_copy", "bzlws_extract") +load("@bzlws//:index.bzl", "bzlws_copy") bzlws_copy( name = "copy_dist_bin", @@ -30,12 +28,3 @@ bzlws_copy( out = "dist/share/ecsact/plugins/{FILENAME}", force = True, ) - -bzlws_extract( - name = "copy_runfiles", - testonly = True, - srcs = [":runfiles_tar"], - out = "dist/bin", - force = True, - tags = ["nowindows"], -) diff --git a/WORKSPACE.bazel b/WORKSPACE.bazel index 47b7857..4fa90a1 100644 --- a/WORKSPACE.bazel +++ b/WORKSPACE.bazel @@ -20,6 +20,34 @@ load("@boost//:index.bzl", "boost_http_archives") boost_http_archives() +http_archive( + name = "ecsact_parse", + sha256 = "", + strip_prefix = "ecsact_parse-41e73763ecf19b675efb9a23f9b3fe8cac10d7b4", + url = "https://github.com/ecsact-dev/ecsact_parse/archive/41e73763ecf19b675efb9a23f9b3fe8cac10d7b4.zip", +) + +http_archive( + name = "ecsact_runtime", + sha256 = "edf15d37e509163d0d1d8edad71536d125674f1757dacb338e7a665961788262", + strip_prefix = "ecsact_runtime-6c5afb2032b9ec343bd17e1da4d658d1a5c3429b", + url = "https://github.com/ecsact-dev/ecsact_runtime/archive/6c5afb2032b9ec343bd17e1da4d658d1a5c3429b.zip", +) + +http_archive( + name = "ecsact_parse_runtime_interop", + sha256 = "d87bdae35c2d3d3d0588835adcb9137a9de123feebc95fad903b3277903ffa60", + strip_prefix = "ecsact_parse_runtime_interop-f3ff60a7d13bacd139b01073fb7feb68496860dc", + url = "https://github.com/ecsact-dev/ecsact_parse_runtime_interop/archive/f3ff60a7d13bacd139b01073fb7feb68496860dc.zip", +) + +http_archive( + name = "ecsact_lang_cpp", + sha256 = "8a430ca8c92937403c0f879eca2a29da97662abd03901d11d8b419d97fa029b8", + strip_prefix = "ecsact_lang_cpp-bb88f875b3300f795ce72feab1b30109af9bbc64", + url = "https://github.com/ecsact-dev/ecsact_lang_cpp/archive/bb88f875b3300f795ce72feab1b30109af9bbc64.zip", +) + load("@ecsact_parse//:repositories.bzl", "ecsact_parse_dependencies") ecsact_parse_dependencies() From 72a57ba16b82461222f65c998078e03a4da1805a Mon Sep 17 00:00:00 2001 From: Ezekiel Warren Date: Sat, 27 Aug 2022 12:45:18 -0700 Subject: [PATCH 5/7] removed rtb reference --- .github/workflows/release.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 24df990..83344a8 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -77,7 +77,6 @@ jobs: with: name: windows-x64-binaries - run: > - mv bin/ecsact-rtb.runfiles bin/ecsact-rtb.exe.runfiles && zip -r ecsact_sdk_${{github.ref_name}}_windows_x64.zip bin include - uses: actions/upload-artifact@v3 with: From ba3efc357b10e0c1b691b863d4c28764a807bf64 Mon Sep 17 00:00:00 2001 From: Ezekiel Warren Date: Sat, 27 Aug 2022 12:45:31 -0700 Subject: [PATCH 6/7] csharp codegen --- BUILD.bazel | 1 + WORKSPACE.bazel | 7 +++++++ 2 files changed, 8 insertions(+) diff --git a/BUILD.bazel b/BUILD.bazel index 20caa83..6d20dfa 100644 --- a/BUILD.bazel +++ b/BUILD.bazel @@ -24,6 +24,7 @@ bzlws_copy( "@ecsact_lang_cpp//cpp_header_codegen", "@ecsact_lang_cpp//cpp_systems_header_codegen", "@ecsact_lang_cpp//systems_header_codegen", + "@ecsact_lang_csharp//csharp_codegen", ], out = "dist/share/ecsact/plugins/{FILENAME}", force = True, diff --git a/WORKSPACE.bazel b/WORKSPACE.bazel index 4fa90a1..4c35dc8 100644 --- a/WORKSPACE.bazel +++ b/WORKSPACE.bazel @@ -48,6 +48,13 @@ http_archive( url = "https://github.com/ecsact-dev/ecsact_lang_cpp/archive/bb88f875b3300f795ce72feab1b30109af9bbc64.zip", ) +http_archive( + name = "ecsact_lang_csharp", + sha256 = "abaec7f347a4bb02017df4e85a9a2f74f54c2397fbc1f2277622d9517ff8c371", + strip_prefix = "ecsact_lang_csharp-8dc906f95836e1ea90b3644dae6e2890c10237b8", + url = "https://github.com/ecsact-dev/ecsact_lang_csharp/archive/8dc906f95836e1ea90b3644dae6e2890c10237b8.zip", +) + load("@ecsact_parse//:repositories.bzl", "ecsact_parse_dependencies") ecsact_parse_dependencies() From f7bd4a17bdee729f90e6dcd15947afb5fe733f69 Mon Sep 17 00:00:00 2001 From: Ezekiel Warren Date: Sat, 27 Aug 2022 12:46:50 -0700 Subject: [PATCH 7/7] Release confiug --- .github/workflows/release.yml | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 83344a8..640ca1e 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -1,16 +1,10 @@ name: Release -# on: -# push: -# tags: -# - "[0-9]+.[0-9]+.[0-9]+" -# - "[0-9]+.[0-9]+.[0-9]+-rc.[0-9]+" - -# TODO(zaucy): remove branch push when testing is done on: push: - branches: - - "**" + tags: + - "[0-9]+.[0-9]+.[0-9]+" + - "[0-9]+.[0-9]+.[0-9]+-rc.[0-9]+" jobs: release-draft: