Add launchable integration #319
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: TestTestFramework | |
on: | |
push: | |
branches: [ master ] | |
pull_request: | |
branches: [ master ] | |
env: | |
# 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 | |
GITHUB_PULL_REQUEST_URL: ${{ github.event.pull_request.html_url }} | |
# The following envs are necessary in Launchable tokenless authentication. | |
# https://github.com/launchableinc/cli/blob/v1.80.1/launchable/utils/authentication.py#L20 | |
LAUNCHABLE_ORGANIZATION: "ruby" | |
LAUNCHABLE_WORKSPACE: "debug" | |
# https://github.com/launchableinc/cli/blob/v1.80.1/launchable/utils/authentication.py#L71 | |
GITHUB_PR_HEAD_SHA: ${{ github.event.pull_request.head.sha || github.sha }} | |
jobs: | |
test: | |
runs-on: ubuntu-latest | |
timeout-minutes: 30 | |
strategy: | |
fail-fast: false | |
matrix: | |
ruby-version: ["3.0", "3.1", "3.2", "3.3", "head", "debug"] | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
# Set fetch-depth: 0 so that Launchable can receive commits information. | |
fetch-depth: 0 | |
# Launchable requires Python and Java | |
# https://www.launchableinc.com/docs/resources/cli-reference/ | |
- uses: actions/setup-python@v4 | |
with: | |
python-version: "3.10" | |
- name: Set up JDK 1.8 | |
uses: actions/setup-java@v3 | |
with: | |
distribution: 'adopt' | |
java-version: '8' | |
# Setup Launchable | |
- name: Launchable - install command | |
run: pip install launchable | |
- name: Launchable - verify | |
run: launchable verify | |
- name: Launchable - record build | |
run: launchable record build --name ${GITHUB_PR_HEAD_SHA} | |
- name: Set up Ruby | |
uses: ruby/setup-ruby@v1 | |
with: | |
ruby-version: ${{ matrix.ruby-version }} | |
bundler-cache: true | |
- name: Run tests | |
run: | | |
bundle exec rake clobber | |
bundle exec rake compile | |
TESTOPTS="--runner=junitxml --junitxml-output-file=test_test.xml" bundle exec rake test_test | |
- name: launchable record tests | |
run: launchable record tests --flavor test=test-framework --flavor os=ubuntu-latest --flavor ruby=${{ matrix.ruby-version }} file test_test.xml | |
if: always() |