diff --git a/.bazelrc b/.bazelrc index 3fe66fda761c..0c107602be20 100644 --- a/.bazelrc +++ b/.bazelrc @@ -128,6 +128,11 @@ common:release-mac --config=release-shared # Configuration used for release-m1 workflow common:release-m1 --config=release-shared +# Configuration used for release-windows workflow +common:release-windows --config=release-shared +common:release-windows --config=cache +common:release --remote_instance_name=buildbuddy-io/buildbuddy/release-windows + # Configuration used for Buildbuddy auto-release common:auto-release --config=remote common:auto-release --remote_instance_name=buildbuddy-io/buildbuddy/auto-release diff --git a/.github/workflows/build-windows-github-release-artifacts.yaml b/.github/workflows/build-windows-github-release-artifacts.yaml new file mode 100644 index 000000000000..baca62284196 --- /dev/null +++ b/.github/workflows/build-windows-github-release-artifacts.yaml @@ -0,0 +1,53 @@ +name: "Build Windows Github Release Artifacts" + +on: + # Development only + # TODO: remove this + pull_request: + branches: + - master + workflow_dispatch: + inputs: + release_branch: + description: "Git branch to checkout." + required: true + default: "master" + type: string + version_tag: + description: "Version to tag release artifacts." + required: true + type: string + workflow_call: + inputs: + release_branch: + description: "Git branch to checkout." + required: true + type: string + version_tag: + description: "Version to tag release artifacts." + required: true + type: string + +jobs: + build: + runs-on: windows-2022 + steps: + - name: Checkout + uses: actions/checkout@v4 + with: + ref: ${{ inputs.release_branch }} + # We need to fetch git tags to obtain the latest version tag to report + # the version of the running binary. + fetch-depth: 0 + + - name: Install bazelisk + run: | + curl -LO "https://github.com/bazelbuild/bazelisk/releases/download/v1.19.0/bazelisk-windows-amd64.exe" -o bazel.exe + + - name: Build and Upload Artifacts + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + run: | + bazel.exe --output_user_root=D:/0 --windows_enable_symlinks build --config=release-windows --remote_header=x-buildbuddy-api-key=${{ secrets.BUILDBUDDY_ORG_API_KEY }} //enterprise/server/cmd/executor:executor + Copy-Item -Path "$(bazel.exe info execution_root)\$(bazel.exe --output_user_root=D:/0 cquery --output=files //enterprise/server/cmd/executor:executor)" -Destination executor-enterprise-windows-amd64.exe + # gh release upload ${{ inputs.version_tag }} executor-enterprise-windows-amd64.exe --clobber