-
Notifications
You must be signed in to change notification settings - Fork 127
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
7 changed files
with
119 additions
and
0 deletions.
There are no files selected for viewing
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,79 @@ | ||
name: Set up Launchable | ||
description: >- | ||
Install the required dependencies and execute the necessary Launchable commands for test recording | ||
inputs: | ||
report-path: | ||
default: launchable_reports.json | ||
required: true | ||
description: The file path of the test report for uploading to Launchable | ||
|
||
test-task: | ||
default: none | ||
required: true | ||
description: >- | ||
Test task that determine how tests are run. | ||
This value is used in the Launchable flavor. | ||
runs: | ||
using: composite | ||
|
||
steps: | ||
- name: Enable Launchable conditionally | ||
id: enable-launchable | ||
run: echo "enable-launchable=true" >> $GITHUB_OUTPUT | ||
shell: bash | ||
if: ${{ github.repository == 'ruby/debug' }} | ||
|
||
# Launchable CLI requires Python and Java. | ||
# https://www.launchableinc.com/docs/resources/cli-reference/ | ||
- name: Set up Python | ||
uses: actions/setup-python@871daa956ca9ea99f3c3e30acb424b7960676734 # v5.0.0 | ||
with: | ||
python-version: "3.x" | ||
if: ${{ steps.enable-launchable.outputs.enable-launchable }} | ||
|
||
- name: Set up Java | ||
uses: actions/setup-java@7a445ee88d4e23b52c33fdc7601e40278616c7f8 # v4.0.0 | ||
with: | ||
distribution: 'temurin' | ||
java-version: '17' | ||
if: ${{ steps.enable-launchable.outputs.enable-launchable }} | ||
|
||
- name: Set environment variables for Launchable | ||
shell: bash | ||
run: | | ||
: # GITHUB_PULL_REQUEST_URL are used for commenting test reports in Launchable Github App. | ||
: # https://github.com/launchableinc/cli/blob/v1.80.1/launchable/utils/link.py#L42 | ||
echo "GITHUB_PULL_REQUEST_URL=${{ github.event.pull_request.html_url }}" >> $GITHUB_ENV | ||
: # The following envs are necessary in Launchable tokenless authentication. | ||
: # https://github.com/launchableinc/cli/blob/v1.80.1/launchable/utils/authentication.py#L20 | ||
echo "LAUNCHABLE_ORGANIZATION=${{ github.repository_owner }}" >> $GITHUB_ENV | ||
echo "LAUNCHABLE_WORKSPACE=${{ github.event.repository.name }}" >> $GITHUB_ENV | ||
: # https://github.com/launchableinc/cli/blob/v1.80.1/launchable/utils/authentication.py#L71 | ||
echo "GITHUB_PR_HEAD_SHA=${{ github.event.pull_request.head.sha || github.sha }}" >> $GITHUB_ENV | ||
if: ${{ steps.enable-launchable.outputs.enable-launchable }} | ||
|
||
- name: Set up Launchable | ||
shell: bash | ||
run: | | ||
set -x | ||
PATH=$PATH:$(python -msite --user-base)/bin | ||
echo "PATH=$PATH" >> $GITHUB_ENV | ||
pip install --user launchable | ||
launchable verify | ||
: # The build name cannot include a slash, so we replace the string here. | ||
github_ref="${{ github.ref }}" | ||
github_ref="${github_ref//\//_}" | ||
launchable record build --name ${github_ref}_${GITHUB_PR_HEAD_SHA} | ||
echo "TESTOPTS=${TESTOPTS} --runner=launchable --launchable-test-report-json=${{ inputs.report-path }}" >> $GITHUB_ENV | ||
if: ${{ steps.enable-launchable.outputs.enable-launchable }} | ||
|
||
- name: Record test results in Launchable | ||
uses: gacts/run-and-post-run@674528335da98a7afc80915ff2b4b860a0b3553a # v1.4.0 | ||
with: | ||
shell: bash | ||
post: | | ||
launchable record tests --flavor os=${{ inputs.os }} --flavor test_task=${{ inputs.test-task }} raw ${{ inputs.report-path }} | ||
rm -f ${{ inputs.report-path }} | ||
if: ${{ always() && steps.enable-launchable.outputs.enable-launchable }} |
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
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
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
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
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
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -7,3 +7,4 @@ gem "rake-compiler" | |
gem "test-unit", "~> 3.0" | ||
gem "test-unit-rr" | ||
gem "json-schema" | ||
gem "test-unit-launchable" |
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