diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 0000000..9e99d5e --- /dev/null +++ b/.github/workflows/build.yml @@ -0,0 +1,23 @@ +name: Run gradle build + +on: + push: + branches: + - "main" + pull_request: + branches: + - "main" + workflow_dispatch: + +permissions: + contents: read + +jobs: + build: + uses: qupath/actions/.github/workflows/gradle.yml@main + with: + platform: ${{ matrix.platform }} + build-tool: ${{ matrix.platform == 'ubuntu-latest' && 'xvfb-run ./gradlew' || './gradlew' }} + strategy: + matrix: + platform: [ubuntu-latest, macos-latest, windows-latest] diff --git a/.github/workflows/github_release.yml b/.github/workflows/github_release.yml new file mode 100644 index 0000000..d8c7c0a --- /dev/null +++ b/.github/workflows/github_release.yml @@ -0,0 +1,10 @@ +name: Make draft release + +on: + workflow_dispatch: + +jobs: + build: + permissions: + contents: write + uses: qupath/actions/.github/workflows/github-release.yml@main diff --git a/.github/workflows/gradle.yaml b/.github/workflows/gradle.yaml deleted file mode 100644 index 41c4892..0000000 --- a/.github/workflows/gradle.yaml +++ /dev/null @@ -1,42 +0,0 @@ -# This workflow will build a Java project with Gradle -# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-java-with-gradle - -name: Java CI with Gradle - -on: [pull_request] - -jobs: - build: - - strategy: - matrix: - platform: [ubuntu-latest, macos-latest, windows-latest] - runs-on: ${{ matrix.platform }} - - steps: - - uses: actions/checkout@v3 - - - name: Set up JDK 17 - uses: actions/setup-java@v3 - with: - java-version: '17' - distribution: 'temurin' - - - name: Validate Gradle wrapper - uses: gradle/wrapper-validation-action@v1 - - - name: Setup Gradle - uses: gradle/gradle-build-action@v2.4.2 - - - name: Execute Gradle build (Ubuntu) - run: xvfb-run ./gradlew build -P toolchain=17 - if: matrix.os == 'ubuntu-latest' - - - name: Execute Gradle build (Windows and MacOS) - run: ./gradlew build -P toolchain=17 - if: matrix.os == 'windows-latest' || matrix.os == 'macos-latest' - - - uses: actions/upload-artifact@v3 - with: - name: Package - path: build/libs diff --git a/.github/workflows/jpackage.yaml b/.github/workflows/jpackage.yaml deleted file mode 100644 index 04f058c..0000000 --- a/.github/workflows/jpackage.yaml +++ /dev/null @@ -1,38 +0,0 @@ -# This workflow will build a Java project with Gradle, then create an image with jpackage -# For more information see: https://help.github.com/actions/language-and-framework-guides/building-and-testing-java-with-gradle - -name: Build packages with jpackage - -on: [workflow_dispatch] - -jobs: - build: - - strategy: - matrix: - platform: [ubuntu-latest, macos-latest, windows-latest] - runs-on: ${{ matrix.platform }} - - steps: - - uses: actions/checkout@v3 - - name: Set up JDK 17 - uses: actions/setup-java@v3 - with: - java-version: '17' - distribution: 'temurin' - - name: Validate Gradle wrapper - uses: gradle/wrapper-validation-action@v1 - - name: Build with Gradle - uses: gradle/gradle-build-action@v2.4.2 - with: - arguments: jpackage -P git-commit=true -P package=installer mergedJavadoc - - uses: actions/upload-artifact@v3 - with: - name: jpackage ${{ matrix.platform }} - path: build/dist - retention-days: 1 - - uses: actions/upload-artifact@v3 - with: - name: javadoc ${{ matrix.platform }} - path: build/docs/javadoc - retention-days: 1 diff --git a/.github/workflows/publish-release.yml b/.github/workflows/publish-release.yml deleted file mode 100644 index 66d858f..0000000 --- a/.github/workflows/publish-release.yml +++ /dev/null @@ -1,32 +0,0 @@ -name: Publish release to SciJava Maven - -on: - release: - types: [published] - -jobs: - publish: - - runs-on: ubuntu-latest - - steps: - - uses: actions/checkout@v3 - - name: Set up JDK 17 - uses: actions/setup-java@v3 - with: - java-version: '17' - distribution: 'temurin' - - name: Validate Gradle wrapper - uses: gradle/wrapper-validation-action@e6e38bacfdf1a337459f332974bb2327a31aaf4b - - name: Publish snapshot - uses: gradle/gradle-build-action@v2.4.2 - with: - arguments: publish -P release=true - env: - MAVEN_USER: ${{ secrets.MAVEN_USER }} - MAVEN_PASS: ${{ secrets.MAVEN_PASS }} - - uses: actions/upload-artifact@v3 - with: - name: log-viewer-release-jar - path: build/libs - retention-days: 7 \ No newline at end of file diff --git a/.github/workflows/publish-snapshot.yml b/.github/workflows/publish-snapshot.yml deleted file mode 100644 index d132ce1..0000000 --- a/.github/workflows/publish-snapshot.yml +++ /dev/null @@ -1,26 +0,0 @@ -name: Publish snapshot to SciJava Maven - -on: - workflow_dispatch: - -jobs: - publish: - - runs-on: ubuntu-latest - - steps: - - uses: actions/checkout@v3 - - name: Set up JDK 17 - uses: actions/setup-java@v3 - with: - java-version: '17' - distribution: 'temurin' - - name: Validate Gradle wrapper - uses: gradle/wrapper-validation-action@e6e38bacfdf1a337459f332974bb2327a31aaf4b - - name: Publish snapshot - uses: gradle/gradle-build-action@v2.4.2 - with: - arguments: publish - env: - MAVEN_USER: ${{ secrets.MAVEN_USER }} - MAVEN_PASS: ${{ secrets.MAVEN_PASS }} \ No newline at end of file diff --git a/.github/workflows/scijava-maven.yml b/.github/workflows/scijava-maven.yml new file mode 100644 index 0000000..b1668b4 --- /dev/null +++ b/.github/workflows/scijava-maven.yml @@ -0,0 +1,17 @@ +name: Publish release to SciJava Maven + +on: + workflow_dispatch: + inputs: + release: + type: boolean + description: Should this be a release? (if not, do a snapshot) + required: true + +jobs: + build: + name: Publish release + uses: qupath/actions/.github/workflows/scijava-maven.yml@main + secrets: inherit + with: + release: ${{ inputs.release }} diff --git a/.github/workflows/update-gradle.yml b/.github/workflows/update-gradle.yml new file mode 100644 index 0000000..cf43bf3 --- /dev/null +++ b/.github/workflows/update-gradle.yml @@ -0,0 +1,33 @@ +name: Update gradle version + +on: + workflow_dispatch: + inputs: + gradle-version: + description: Gradle version + default: latest + type: string + required: false + +jobs: + update: + env: + GH_TOKEN: ${{ github.token }} + runs-on: ubuntu-latest + defaults: + run: + shell: bash + steps: + - uses: actions/checkout@v4 + - name: Update gradlew + run: | + ./gradlew wrapper --gradle-version ${{ inputs.gradle-version }} + - name: Commit and push + run: | + git config user.name "github-actions[bot]" + git config user.email "github-actions[bot]@users.noreply.github.com" + git checkout -b gradle-update + git add . + git commit --allow-empty -m "Update gradle via qupath/actions/.github/workflows/update-gradle.yml" + git push -u origin gradle-update + gh pr create --title "Update gradle via actions" --body "$(./gradlew --version)"