Skip to content

Add GitHub Actions workflow for CI/CD #5

Add GitHub Actions workflow for CI/CD

Add GitHub Actions workflow for CI/CD #5

Workflow file for this run

name: Build & Test
on:
push:
branches: [ master ]
pull_request:
branches: [ master ]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Set up JDK 17
uses: actions/setup-java@v4
with:
java-version: '17'
distribution: 'temurin'
cache: gradle
- name: Build with Gradle
run: ./gradlew build
- name: Upload build artifacts
uses: actions/upload-artifact@v4
with:
name: plugin-archive
path: build/libs/*.jar
- name: Upload test and coverage reports
if: always()
uses: actions/upload-artifact@v4
with:
name: build-reports
path: |
build/reports/tests/
build/reports/kover/
build/reports/plugin-verification/
ui-tests:
needs: build
runs-on: ubuntu-latest
# UI tests can be flaky in CI environments
continue-on-error: true
steps:
- uses: actions/checkout@v4
- name: Set up JDK 17
uses: actions/setup-java@v4
with:
java-version: '17'
distribution: 'temurin'
cache: gradle
- name: Download build artifacts
uses: actions/download-artifact@v4
with:
name: plugin-archive
path: build/libs
- name: Run UI Tests
uses: GabrielBB/xvfb-action@v1
with:
run: ./gradlew uiTests -Dui.test.headless=true -Djava.system.class.loader=java.lang.ClassLoader
- name: Upload test reports
if: always()
uses: actions/upload-artifact@v4
with:
name: ui-test-reports
path: |
build/reports/tests/
allure-results/