diff --git a/.github/workflows/ci.yml b/.github/workflows/release.yml similarity index 81% rename from .github/workflows/ci.yml rename to .github/workflows/release.yml index 8bde7eef2..92da9b2fc 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/release.yml @@ -1,18 +1,8 @@ -name: CI +name: Release on: - pull_request: - paths-ignore: - - 'komga-webui/src/locales/*' - push: - branches-ignore: - - 'dependabot/**' workflow_dispatch: inputs: - perform_release: - description: 'Perform release' - default: false - type: boolean bump: description: 'Bump type' required: false @@ -41,63 +31,8 @@ on: type: boolean jobs: - test: - runs-on: ubuntu-latest - name: Test JDK ${{ matrix.java }} - steps: - - uses: actions/checkout@v4 - - uses: actions/setup-java@v3 - with: - java-version: 19 - java-package: 'jdk' - distribution: 'temurin' - - uses: actions/setup-java@v3 - with: - java-version: 17 - java-package: 'jdk' - distribution: 'temurin' - - name: Build - uses: gradle/gradle-build-action@v2 - with: - arguments: build - - name: Upload Unit Test Results - if: always() - uses: actions/upload-artifact@v3 - with: - name: test-results - path: komga/build/test-results/ - - name: Upload Unit Test Reports - if: always() - uses: actions/upload-artifact@v3 - with: - name: test-reports - path: komga/build/reports/tests/ - - webui: - runs-on: ubuntu-latest - name: Test webui builds - steps: - - uses: actions/checkout@v4 - - uses: actions/setup-node@v3 - with: - node-version: '16' - cache: 'npm' - cache-dependency-path: komga-webui/package-lock.json - - name: npm install - working-directory: komga-webui - run: npm install - - name: npm build - working-directory: komga-webui - run: npm run build - env: - NODE_OPTIONS: "--max-old-space-size=4096" - - name: npm test - working-directory: komga-webui - run: npm run test:unit - version: runs-on: macos-latest - if: inputs.perform_release || inputs.force_release outputs: version_current: ${{ steps.versions.outputs.version_current }} version_next: ${{ steps.versions.outputs.version_next }} @@ -125,7 +60,7 @@ jobs: release: name: Release runs-on: ubuntu-latest - needs: [ test, webui, version ] + needs: version if: needs.version.outputs.should_release || inputs.force_release steps: - uses: actions/checkout@v4 diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml new file mode 100644 index 000000000..8d88e140d --- /dev/null +++ b/.github/workflows/tests.yml @@ -0,0 +1,65 @@ +name: Tests + +on: + pull_request: + paths-ignore: + - 'komga-webui/src/locales/*' + push: + branches-ignore: + - 'dependabot/**' + workflow_dispatch: + +jobs: + test: + runs-on: ubuntu-latest + name: Test server + steps: + - uses: actions/checkout@v4 + - uses: actions/setup-java@v3 + with: + java-version: 19 + java-package: 'jdk' + distribution: 'temurin' + - uses: actions/setup-java@v3 + with: + java-version: 17 + java-package: 'jdk' + distribution: 'temurin' + - name: Build + uses: gradle/gradle-build-action@v2 + with: + arguments: build + - name: Upload Unit Test Results + if: always() + uses: actions/upload-artifact@v3 + with: + name: test-results + path: komga/build/test-results/ + - name: Upload Unit Test Reports + if: always() + uses: actions/upload-artifact@v3 + with: + name: test-reports + path: komga/build/reports/tests/ + + webui: + runs-on: ubuntu-latest + name: Test webui builds + steps: + - uses: actions/checkout@v4 + - uses: actions/setup-node@v3 + with: + node-version: '16' + cache: 'npm' + cache-dependency-path: komga-webui/package-lock.json + - name: npm install + working-directory: komga-webui + run: npm install + - name: npm build + working-directory: komga-webui + run: npm run build + env: + NODE_OPTIONS: "--max-old-space-size=4096" + - name: npm test + working-directory: komga-webui + run: npm run test:unit diff --git a/README.md b/README.md index 401d0f01f..0db754d03 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@ [![Open Collective backers and sponsors](https://img.shields.io/opencollective/all/komga?label=OpenCollective%20Sponsors&color=success)](https://opencollective.com/komga) [![GitHub Sponsors](https://img.shields.io/github/sponsors/gotson?label=Github%20Sponsors&color=success)](https://github.com/sponsors/gotson) [![Discord](https://img.shields.io/discord/678794935368941569?label=Discord&color=blue)](https://discord.gg/TdRpkDu) -[![GitHub Workflow Status](https://img.shields.io/github/actions/workflow/status/gotson/komga/ci.yml?branch=master)](https://github.com/gotson/komga/actions?query=workflow%3ACI+branch%3Amaster) +[![GitHub Workflow Status](https://img.shields.io/github/actions/workflow/status/gotson/komga/tests.yml?branch=master)](https://github.com/gotson/komga/actions?query=workflow%3ATests+branch%3Amaster) [![GitHub release (latest SemVer)](https://img.shields.io/github/v/release/gotson/komga?color=blue&label=download&sort=semver)](https://github.com/gotson/komga/releases) [![GitHub all releases](https://img.shields.io/github/downloads/gotson/komga/total?color=blue&label=github%20downloads)](https://github.com/gotson/komga/releases) [![Docker Pulls](https://img.shields.io/docker/pulls/gotson/komga)](https://hub.docker.com/r/gotson/komga)