This repository has been archived by the owner on Dec 4, 2024. It is now read-only.
Publish Package #186
Workflow file for this run
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: Publish Package | |
on: | |
workflow_dispatch: | |
inputs: | |
run_tests: | |
description: 'If true, run unit tests, otherwise skip them.' | |
required: false | |
default: 'true' | |
dry_run: | |
description: 'Is this a dry run. If so no package will be published.' | |
type: boolean | |
required: true | |
jobs: | |
# Building is done on mac runner due to xcode build dependencies | |
build: | |
runs-on: macos-13 | |
permissions: | |
id-token: write | |
contents: read | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 # If you only need the current version keep this | |
- uses: launchdarkly/gh-actions/actions/release-secrets@kinyoklion-patch-1 | |
name: Get secrets | |
with: | |
aws_assume_role: ${{ vars.AWS_ROLE_ARN }} | |
- name: CI check | |
uses: ./.github/actions/ci | |
with: | |
run_tests: ${{ inputs.run_tests }} | |
- name: Build | |
uses: ./.github/actions/build | |
- name: Retain artifacts for other jobs to use | |
uses: actions/upload-artifact@v3 | |
with: | |
name: dir-bin-release | |
path: src/LaunchDarkly.ClientSdk/bin/Release/ | |
retention-days: 1 | |
# Signing DLLs is done on Ubuntu due to Digicert tooling compatibility | |
sign-dlls: | |
runs-on: ubuntu-latest | |
needs: build | |
permissions: | |
id-token: write | |
contents: read | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 # If you only need the current version keep this | |
- name: Restore release artifacts | |
uses: actions/download-artifact@v3 | |
with: | |
name: dir-bin-release | |
path: src/LaunchDarkly.ClientSdk/bin/Release/ | |
- uses: launchdarkly/gh-actions/actions/[email protected] | |
name: Get secrets | |
with: | |
aws_assume_role: ${{ vars.AWS_ROLE_ARN }} | |
ssm_parameter_pairs: '/production/common/releasing/digicert/host = DIGICERT_HOST,/production/common/releasing/digicert/api_key = DIGICERT_API_KEY,/production/common/releasing/digicert/client_cert_file_b64 = DIGICERT_CLIENT_CERT_FILE_B64,/production/common/releasing/digicert/client_cert_password = DIGICERT_CLIENT_CERT_PASSWORD,/production/common/releasing/digicert/code_signing_cert_sha1_hash = DIGICERT_CODE_SIGNING_CERT_SHA1_HASH' | |
- name: Sign DLLs | |
uses: ./.github/actions/sign-dlls | |
- name: Retain signed artifacts | |
uses: actions/upload-artifact@v3 | |
with: | |
name: dir-bin-release-signed | |
path: src/LaunchDarkly.ClientSdk/bin/Release/ | |
retention-days: 1 | |
# Packing is done on Mac due to ios workload requirements. | |
pack-nupkg: | |
runs-on: macos-13 | |
needs: sign-dlls | |
permissions: | |
id-token: write | |
contents: read | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 # If you only need the current version keep this | |
- name: Restore release artifacts | |
uses: actions/download-artifact@v3 | |
with: | |
name: dir-bin-release-signed | |
path: src/LaunchDarkly.ClientSdk/bin/Release/ | |
- uses: launchdarkly/gh-actions/actions/[email protected] | |
name: Get secrets | |
with: | |
aws_assume_role: ${{ vars.AWS_ROLE_ARN }} | |
ssm_parameter_pairs: '/production/common/releasing/nuget/api_key = NUGET_API_KEY' | |
- name: Publish Nupkg | |
uses: ./.github/actions/publish | |
with: | |
dry_run: ${{ inputs.dry_run }} | |
- name: Retain unsigned nupkg | |
uses: actions/upload-artifact@v3 | |
with: | |
name: unsigned-nupkg | |
path: nupkgs/ | |
retention-days: 1 |