Skip to content

TS-41282 XCResult coverage conversion extracts coverage from only one test plan in case there are multiple #100

TS-41282 XCResult coverage conversion extracts coverage from only one test plan in case there are multiple

TS-41282 XCResult coverage conversion extracts coverage from only one test plan in case there are multiple #100

Workflow file for this run

name: Build-jlink
on:
push:
branches: '*'
tags: 'v*'
pull_request:
branches: '*'
env:
ARTIFACT_NAME: target-jlink
jobs:
# builds the jlink versions of the teamscale-upload tool and stores them in a temporary gradle-workflow storage
build-jlink:
name: JLink build (all target platforms)
# Build on a fixed version, for stability of the release artifacts.
# In the graalvm build, this also ensures a fixed version of Glibc, but I think that is not required in the jlink
# build (because we distribute a JVM, not build an executable).
runs-on: ubuntu-20.04
steps:
- name: 'Checkout project sources'
uses: actions/checkout@v4
- name: 'Setup Gradle'
uses: gradle/actions/setup-gradle@v3
- name: 'Clean'
run: ./gradlew clean
- name: 'Build Linux'
run: ./gradlew customRuntimeZip-linux-x86_64
- name: 'Test Dist on Linux'
env:
TEAMSCALE_ACCESS_KEY: ${{ secrets.TEAMSCALE_ACCESS_KEY }}
run: ./gradlew test
- name: 'Build Windows'
run: ./gradlew customRuntimeZip-windows-x86_64
- name: 'Build MacOS Intel'
run: ./gradlew customRuntimeZip-macos-x86_64
- name: 'Build MacOS ARM'
run: ./gradlew customRuntimeZip-macos-aarch64
- name: 'Upload Distributions to temporary Workflow Artifacts Storage'
if: ${{ always() }}
uses: actions/upload-artifact@v4
with:
name: ${{ env.ARTIFACT_NAME }}
# Path to generated jlink distributions on the current machine.
#
# We prefer to list the paths explicitly (rather than copy the entire folder) to document
# which paths can be expected in the upload folder.
#
# We can download the artifacts (for debugging) as documented here: https://docs.github.com/en/actions/managing-workflow-runs/downloading-workflow-artifacts
path: |
./build/distributions/teamscale-upload-linux-x86_64.zip
./build/distributions/teamscale-upload-windows-x86_64.zip
./build/distributions/teamscale-upload-macos-x86_64.zip
./build/distributions/teamscale-upload-macos-aarch64.zip
retention-days: 5
# fail if the zip files are not found
if-no-files-found: error
# uploads the jlink distributions built by the build-jlink job to a public storage (public release job)
release-jlink:
if: startsWith(github.ref, 'refs/tags/v')
needs:
- build-jlink
name: Create Release (jlink)
runs-on: ubuntu-latest
env:
DISTRIBUTIONS_DIR: ./teamscale-upload-dists
steps:
- uses: actions/download-artifact@v4
with:
path: ${{ env.DISTRIBUTIONS_DIR }}
- name: Rename Distributions
run: |
(cd $DISTRIBUTIONS_DIR/${ARTIFACT_NAME} && mv teamscale-upload-linux-x86_64.zip ../teamscale-upload-jlink-linux-x86_64.zip)
(cd $DISTRIBUTIONS_DIR/${ARTIFACT_NAME} && mv teamscale-upload-windows-x86_64.zip ../teamscale-upload-jlink-windows-x86_64.zip)
(cd $DISTRIBUTIONS_DIR/${ARTIFACT_NAME} && mv teamscale-upload-macos-x86_64.zip ../teamscale-upload-jlink-macos-x86_64.zip)
(cd $DISTRIBUTIONS_DIR/${ARTIFACT_NAME} && mv teamscale-upload-macos-aarch64.zip ../teamscale-upload-jlink-macos-aarch64.zip)
- name: List downloaded distributions
run: ls -1 $DISTRIBUTIONS_DIR/*.zip
- name: Upload Release Assets
id: create_release
uses: svenstaro/upload-release-action@v2
with:
repo_token: ${{ secrets.GITHUB_TOKEN }}
tag: ${{ github.ref }}
file: ${{ env.DISTRIBUTIONS_DIR }}/teamscale-upload-jlink-*.zip
file_glob: true
overwrite: true