Skip to content

perf: multiple performance improvements during pre-testing stages (#2… #5113

perf: multiple performance improvements during pre-testing stages (#2…

perf: multiple performance improvements during pre-testing stages (#2… #5113

Workflow file for this run

name: CI
on:
push:
branches: [master]
tags: ['v*']
pull_request:
types: [synchronize, opened, reopened]
jobs:
test:
name: Test on JDK ${{matrix.java-version}} (${{matrix.os}})
strategy:
fail-fast: false
matrix:
java-version: [17, 25]
os: ['ubuntu-latest', 'windows-latest']
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v7
- uses: ./.github/setup
with:
java-version: ${{ matrix.java-version }}
- name: Run tests
run: sbt 'compile; ++ 3 test'
sbt-integration:
strategy:
matrix:
os: [ubuntu-latest, windows-latest]
name: sbt plugin integration tests (${{ matrix.os }})
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v7
- uses: ./.github/setup
- name: Run tests
run: sbt 'sbtPlugin/scripted; sbtPlugin3/scripted'
mill-integration:
name: Mill plugin integration tests (${{ matrix.os }})
strategy:
matrix:
os: [ubuntu-latest, windows-latest]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v7
- uses: ./.github/setup
- name: Run Mill integration tests
run: sbt 'millPlugin/millScripted'
maven-plugin:
name: Test Maven plugin
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v7
- uses: coursier/cache-action@95e5b1029b6b86e7bac033ee44a0697d8a527d2d # v8.1.1
- uses: ./.github/setup
with:
cache: 'maven'
- name: Cleanup M2
run: rm -rf ~/.m2/repository/io/stryker-mutator/*/SET-BY-SBT-SNAPSHOT/
- name: Publish core
run: sbt 'publishM2Local'
- name: Run Maven tests
run: |
cd maven
mvn verify -B --no-transfer-progress
formatting:
name: Test formatting
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v7
- uses: coursier/cache-action@95e5b1029b6b86e7bac033ee44a0697d8a527d2d # v8.1.1
with:
extraFiles: 'bin/scalafmt,.scalafmt.conf'
extraKey: 'scalafmt'
- uses: ./.github/setup
- name: Test formatting
run: ./bin/scalafmt --test
release:
needs: [test, sbt-integration, mill-integration, maven-plugin, formatting]
if: ${{ github.ref == 'refs/heads/master' || startsWith(github.event.ref, 'refs/tags/') }}
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v7
with:
# Fetch all commits, used by sbt-dynver plugin to determine version
fetch-depth: 0
# Fetch all tags
- run: git fetch --depth=1 origin +refs/tags/*:refs/tags/*
- uses: ./.github/setup
with:
java-version: 17
- name: Publish
run: sbt ci-release
env:
CI_RELEASE: stryker4sPublishSigned
PGP_PASSPHRASE: ${{ secrets.PGP_PASSPHRASE }}
MAVEN_GPG_PASSPHRASE: ${{ secrets.PGP_PASSPHRASE }}
PGP_SECRET: ${{ secrets.PGP_SECRET }}
SONATYPE_PASSWORD: ${{ secrets.SONATYPE_PASSWORD }}
SONATYPE_USERNAME: ${{ secrets.SONATYPE_USERNAME }}