Add GH Workflow for CI Tests (#10392)
Co-authored-by: Cody Robibero <cody@robibe.ro>pull/10563/head
parent
3fd505a454
commit
9b5930d7d8
@ -0,0 +1,50 @@
|
|||||||
|
name: Tests
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- master
|
||||||
|
# Run tests against the forked branch, but
|
||||||
|
# do not allow access to secrets
|
||||||
|
# https://docs.github.com/en/actions/using-workflows/events-that-trigger-workflows#workflows-in-forked-repositories
|
||||||
|
pull_request:
|
||||||
|
|
||||||
|
env:
|
||||||
|
SDK_VERSION: "7.0.x"
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
run-tests:
|
||||||
|
strategy:
|
||||||
|
matrix:
|
||||||
|
os: ["ubuntu-latest", "macos-latest", "windows-latest"]
|
||||||
|
|
||||||
|
runs-on: "${{ matrix.os }}"
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v4
|
||||||
|
|
||||||
|
- uses: actions/setup-dotnet@v3
|
||||||
|
with:
|
||||||
|
dotnet-version: ${{ env.SDK_VERSION }}
|
||||||
|
|
||||||
|
- name: Run DotNet CLI Tests
|
||||||
|
run: >
|
||||||
|
dotnet test Jellyfin.sln
|
||||||
|
--configuration Release
|
||||||
|
--collect:"XPlat Code Coverage"
|
||||||
|
--settings tests/coverletArgs.runsettings
|
||||||
|
--verbosity minimal
|
||||||
|
|
||||||
|
- name: Merge code coverage results
|
||||||
|
uses: danielpalme/ReportGenerator-GitHub-Action@5
|
||||||
|
with:
|
||||||
|
reports: "**/coverage.cobertura.xml"
|
||||||
|
targetdir: "merged/"
|
||||||
|
reporttypes: "Cobertura"
|
||||||
|
|
||||||
|
# TODO - which action / tool to use to publish code coverage results?
|
||||||
|
# - name: Publish code coverage results
|
||||||
|
|
||||||
|
- name: Publish OpenAPI Artifact
|
||||||
|
uses: actions/upload-artifact@v3
|
||||||
|
with:
|
||||||
|
name: "OpenAPI Spec"
|
||||||
|
path: "tests/Jellyfin.Server.Integration.Tests/bin/Release/net*/openapi.json"
|
@ -0,0 +1,23 @@
|
|||||||
|
name: Merge Conflict Labeler
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- master
|
||||||
|
pull_request_target:
|
||||||
|
issue_comment:
|
||||||
|
|
||||||
|
permissions: {}
|
||||||
|
jobs:
|
||||||
|
label:
|
||||||
|
name: Labeling
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
if: ${{ github.repository == 'jellyfin/jellyfin' }}
|
||||||
|
steps:
|
||||||
|
- name: Apply label
|
||||||
|
uses: eps1lon/actions-label-merge-conflict@fd1f295ee7443d13745804bc49fe158e240f6c6e # tag=v2.1.0
|
||||||
|
if: ${{ github.event_name == 'push' || github.event_name == 'pull_request_target'}}
|
||||||
|
with:
|
||||||
|
dirtyLabel: 'merge conflict'
|
||||||
|
commentOnDirty: 'This pull request has merge conflicts. Please resolve the conflicts so the PR can be successfully reviewed and merged.'
|
||||||
|
repoToken: ${{ secrets.JF_BOT_TOKEN }}
|
@ -0,0 +1,30 @@
|
|||||||
|
name: Stale PR Check
|
||||||
|
|
||||||
|
on:
|
||||||
|
schedule:
|
||||||
|
- cron: '30 */12 * * *'
|
||||||
|
workflow_dispatch:
|
||||||
|
|
||||||
|
permissions:
|
||||||
|
pull-requests: write
|
||||||
|
actions: write
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
prs-stale-conflicts:
|
||||||
|
name: Check PRs with merge conflicts
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
if: ${{ contains(github.repository, 'jellyfin/') }}
|
||||||
|
steps:
|
||||||
|
- uses: actions/stale@1160a2240286f5da8ec72b1c0816ce2481aabf84 # v8.0.0
|
||||||
|
with:
|
||||||
|
repo-token: ${{ secrets.JF_BOT_TOKEN }}
|
||||||
|
ascending: true
|
||||||
|
operations-per-run: 150
|
||||||
|
# The merge conflict action will remove the label when updated
|
||||||
|
remove-stale-when-updated: false
|
||||||
|
days-before-stale: -1
|
||||||
|
days-before-close: 90
|
||||||
|
days-before-issue-close: -1
|
||||||
|
stale-pr-label: merge conflict
|
||||||
|
close-pr-message: |-
|
||||||
|
This PR has been closed due to having unresolved merge conflicts.
|
Loading…
Reference in new issue