Skip to content

Commit

Permalink
Add launchable integration
Browse files Browse the repository at this point in the history
  • Loading branch information
ono-max committed Feb 2, 2024
1 parent ab937ac commit d2b572d
Show file tree
Hide file tree
Showing 6 changed files with 147 additions and 4 deletions.
37 changes: 36 additions & 1 deletion .github/workflows/protocol.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,17 @@ on:
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 }}

jobs:
test:

Expand All @@ -18,6 +29,27 @@ jobs:

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:
Expand All @@ -27,4 +59,7 @@ jobs:
run: |
bundle exec rake clobber
bundle exec rake compile
bundle exec rake test_protocol
TESTOPTS="--runner=junitxml --junitxml-output-file=protocol.xml" bundle exec rake test_protocol
- name: Launchable - record tests
run: launchable record tests --flavor test=protocol --flavor os=ubuntu-latest --flavor ruby=${{ matrix.ruby-version }} file protocol.xml
if: always()
37 changes: 36 additions & 1 deletion .github/workflows/ruby-macos.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,17 @@ on:
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 }}

jobs:
test:

Expand All @@ -18,6 +29,27 @@ jobs:

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:
Expand All @@ -27,4 +59,7 @@ jobs:
run: |
bundle exec rake clobber
bundle exec rake compile
bundle exec rake test_console
TESTOPTS="--runner=junitxml --junitxml-output-file=ruby-macos.xml" bundle exec rake test_console
- name: launchable record tests
run: launchable record tests --flavor test=console --flavor os=macos-latest --flavor ruby=${{ matrix.ruby-version }} file ruby-macos.xml
if: always()
37 changes: 36 additions & 1 deletion .github/workflows/ruby.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,17 @@ on:
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 }}

jobs:
test:

Expand All @@ -18,6 +29,27 @@ jobs:

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:
Expand All @@ -27,4 +59,7 @@ jobs:
run: |
bundle exec rake clobber
bundle exec rake compile
bundle exec rake test_console
TESTOPTS="--runner=junitxml --junitxml-output-file=ruby.xml" bundle exec rake test_console
- name: launchable record tests
run: launchable record tests --flavor test=console --flavor os=ubuntu-latest --flavor ruby=${{ matrix.ruby-version }} file ruby.xml
if: always()
37 changes: 36 additions & 1 deletion .github/workflows/test_test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,17 @@ on:
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 }}

jobs:
test:

Expand All @@ -18,6 +29,27 @@ jobs:

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:
Expand All @@ -27,4 +59,7 @@ jobs:
run: |
bundle exec rake clobber
bundle exec rake compile
bundle exec rake test_test
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()
1 change: 1 addition & 0 deletions Gemfile
Original file line number Diff line number Diff line change
Expand Up @@ -7,3 +7,4 @@ gem "rake-compiler"
gem "test-unit", "~> 3.0"
gem "test-unit-rr"
gem "json-schema"
gem "test-unit-runner-junitxml"
2 changes: 2 additions & 0 deletions test/support/test_case.rb
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,8 @@
require 'timeout'
require 'json'
require 'rbconfig'
# "test/unit/runner/junitxml" is used for reporting test result in JUnit XML format.
require "test/unit/runner/junitxml"
require_relative '../../lib/debug/client'

require_relative 'assertions'
Expand Down

0 comments on commit d2b572d

Please sign in to comment.