refactor: implement AI Client (#36) #26
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Release Please | |
on: | |
workflow_dispatch: | |
push: | |
branches: | |
- main | |
jobs: | |
release-please: | |
runs-on: ubuntu-latest | |
outputs: | |
package-sdk-server-released: ${{ steps.release.outputs['pkgs/sdk/server--release_created'] }} | |
package-sdk-server-tag_name: ${{ steps.release.outputs['pkgs/sdk/server--tag_name'] }} | |
package-sdk-server-telemetry-released: ${{ steps.release.outputs['pkgs/telemetry--release_created'] }} | |
package-sdk-server-telemetry-tag_name: ${{ steps.release.outputs['pkgs/telemetry--tag_name'] }} | |
package-sdk-client-released: ${{ steps.release.outputs['pkgs/sdk/client--release_created'] }} | |
package-sdk-client-tag_name: ${{ steps.release.outputs['pkgs/sdk/client--tag_name'] }} | |
tag_name: ${{ steps.release.outputs.tag_name }} | |
steps: | |
- uses: google-github-actions/release-please-action@v4 | |
id: release | |
with: | |
token: ${{ secrets.GITHUB_TOKEN }} | |
target-branch: ${{ github.ref_name }} | |
release-sdk-server: | |
runs-on: ubuntu-latest | |
needs: release-please | |
permissions: | |
id-token: write | |
contents: write | |
pull-requests: write | |
if: ${{ needs.release-please.outputs.package-sdk-server-released == 'true'}} | |
outputs: | |
hashes: ${{ steps.full-release.outputs.hashes }} | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Setup Env from project's Env file | |
shell: bash | |
run: echo "$(cat pkgs/sdk/server/github_actions.env)" >> $GITHUB_ENV | |
- uses: ./.github/actions/full-release | |
id: full-release | |
with: | |
workspace_path: ${{ env.WORKSPACE_PATH }} | |
project_file: ${{ env.PROJECT_FILE }} | |
build_output_path: ${{ env.BUILD_OUTPUT_PATH }} | |
test_project_file: ${{ env.TEST_PROJECT_FILE }} | |
dll_name: ${{ env.BUILD_OUTPUT_DLL_NAME }} | |
dry_run: false | |
aws_role: ${{ vars.AWS_ROLE_ARN }} | |
token: ${{ secrets.GITHUB_TOKEN }} | |
release-telemetry: | |
runs-on: ubuntu-latest | |
needs: release-please | |
permissions: | |
id-token: write | |
contents: write | |
pull-requests: write | |
if: ${{ needs.release-please.outputs.package-sdk-server-telemetry-released == 'true'}} | |
outputs: | |
hashes: ${{ steps.full-release.outputs.hashes }} | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Setup Env from project's Env file | |
shell: bash | |
run: echo "$(cat pkgs/telemetry/github_actions.env)" >> $GITHUB_ENV | |
- uses: ./.github/actions/full-release | |
id: full-release | |
with: | |
workspace_path: ${{ env.WORKSPACE_PATH }} | |
project_file: ${{ env.PROJECT_FILE }} | |
build_output_path: ${{ env.BUILD_OUTPUT_PATH }} | |
test_project_file: ${{ env.TEST_PROJECT_FILE }} | |
dll_name: ${{ env.BUILD_OUTPUT_DLL_NAME }} | |
dry_run: false | |
aws_role: ${{ vars.AWS_ROLE_ARN }} | |
token: ${{ secrets.GITHUB_TOKEN }} | |
# this job calls to the release-sdk-client workflow because the client SDK has to be built on macos | |
release-sdk-client: | |
needs: release-please | |
if: ${{ needs.release-please.outputs.package-sdk-client-released == 'true'}} | |
uses: ./.github/workflows/release-sdk-client.yml | |
with: | |
dry_run: false | |
release-sdk-server-provenance: | |
needs: ['release-please', 'release-sdk-server'] | |
permissions: | |
actions: read | |
id-token: write | |
contents: write | |
uses: slsa-framework/slsa-github-generator/.github/workflows/[email protected] | |
with: | |
base64-subjects: "${{ needs.release-sdk-server.outputs.hashes }}" | |
upload-assets: true | |
upload-tag-name: ${{ needs.release-please.outputs.package-sdk-server-tag_name }} | |
provenance-name: ${{ format('LaunchDarkly.ServerSdk-{0}_provenance.intoto.jsonl', needs.release-please.outputs.package-sdk-server-tag_name) }} | |
release-telemetry-provenance: | |
needs: ['release-please', 'release-telemetry'] | |
permissions: | |
actions: read | |
id-token: write | |
contents: write | |
uses: slsa-framework/slsa-github-generator/.github/workflows/[email protected] | |
with: | |
base64-subjects: "${{ needs.release-telemetry.outputs.hashes }}" | |
upload-assets: true | |
upload-tag-name: ${{ needs.release-please.outputs.package-sdk-server-telemetry-tag_name }} | |
provenance-name: ${{ format('LaunchDarkly.ServerSdk.Telemetry-{0}_provenance.intoto.jsonl', needs.release-please.outputs.package-sdk-server-telemetry-tag_name) }} | |
release-sdk-client-provenance: | |
needs: ['release-please', 'release-sdk-client'] | |
permissions: | |
actions: read | |
id-token: write | |
contents: write | |
uses: slsa-framework/slsa-github-generator/.github/workflows/[email protected] | |
with: | |
base64-subjects: "${{ needs.release-sdk-client.outputs.hashes }}" | |
upload-assets: true | |
upload-tag-name: ${{ needs.release-please.outputs.package-sdk-client-tag_name }} | |
provenance-name: ${{ format('LaunchDarkly.ClientSdk-{0}_provenance.intoto.jsonl', needs.release-please.outputs.package-sdk-client-tag_name) }} |