TS-41282 XCResult coverage conversion extracts coverage from only one test plan in case there are multiple #99
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: 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 |