Skip to content

Experimental: BndRunAnalyzer context menu #4946

Experimental: BndRunAnalyzer context menu

Experimental: BndRunAnalyzer context menu #4946

Workflow file for this run

name: 'CI Build'
on:
push:
branches-ignore:
- 'dependabot/**'
paths:
- '**'
- '!docs/**'
- '!.github/**'
- '.github/**/*ci*'
pull_request:
paths:
- '**'
- '!docs/**'
- '!.github/**'
- '.github/**/*ci*'
env:
LC_ALL: en_US.UTF-8
GRADLE_OPTS: >-
-Dorg.gradle.parallel=true
MAVEN_OPTS: >-
-Dhttp.keepAlive=false
-Dmaven.wagon.http.pool=false
-Dmaven.wagon.http.retryHandler.count=3
-Daether.connector.http.retryHandler.count=5
-Daether.connector.http.reuseConnections=false
-Daether.connector.http.connectionMaxTtl=25
-Daether.connector.connectTimeout=120000
BNDTOOLS_CORE_TEST_NOJUNITOSGI: true # This test is very flaky on CI
defaults:
run:
shell: bash
permissions:
contents: read
jobs:
build:
strategy:
fail-fast: ${{ (github.repository != 'bndtools/bnd') || ((github.ref != 'refs/heads/master') && (github.ref != 'refs/heads/next')) || (github.event_name == 'pull_request') }}
matrix:
os:
- 'ubuntu-latest'
java:
- '21'
- '24'
runner:
- '{0}' # 'xvfb-run --auto-servernum {0}'
include:
- os: 'ubuntu-latest'
java: '17'
runner: '{0}' # 'xvfb-run --auto-servernum {0}'
canonical: ${{ (github.repository == 'bndtools/bnd') && ((github.ref == 'refs/heads/master') || (github.ref == 'refs/heads/next')) && (github.event_name != 'pull_request') }}
fetch-depth: '0'
- os: 'windows-latest'
java: '17'
runner: '{0}'
name: Build JDK${{ matrix.java }} ${{ matrix.os }}
runs-on: ${{ matrix.os }}
steps:
- name: Harden Runner
uses: step-security/harden-runner@c6295a65d1254861815972266d5933fd6e532bdf
with:
egress-policy: audit # TODO: change to 'egress-policy: block' after couple of runs
- name: Git Checkout
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
with:
fetch-depth: ${{ matrix.fetch-depth }}
- name: Set up Java 8 + ${{ matrix.java }}
uses: actions/setup-java@c5195efecf7bdfc987ee8bae7a71cb8b11521c00
with:
distribution: 'temurin'
java-version: |
8
${{ matrix.java }}
- name: Set up Gradle
uses: gradle/actions/setup-gradle@06832c7b30a0129d7fb559bcc6e43d26f6374244
#- name: Cache cnf cache and ~/.bnd/urlcache/
# id: cache-cnf-cache
# uses: actions/cache@5a3ec84eff668545956fd18022155c47e93e2684
# env:
# cache-name: cache-cnf-cache
# with:
# path: |
# "${{ github.workspace }}/cnf/cache"
# ~/.bnd/urlcache/
# key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('**/cnf/**/*.bnd', '**/cnf/**/*.mvn', '**/cnf/**/*.maven', '**/cnf/ext/*.*') }}
- name: Build
id: build
run: |
${{ format(matrix.runner, './.github/scripts/ci-build.sh') }}
- name: Configure settings.xml for Publish
if: ${{ matrix.canonical }}
uses: actions/setup-java@c5195efecf7bdfc987ee8bae7a71cb8b11521c00
with:
distribution: 'temurin'
java-version: ${{ matrix.java }}
server-id: bndtools.jfrog.io
server-username: JFROG_USERNAME
server-password: JFROG_PASSWORD
- name: Publish
id: publish
if: ${{ matrix.canonical }}
run: |
./.github/scripts/ci-publish.sh
env:
CANONICAL: ${{ matrix.canonical }}
JFROG_USERNAME: ${{ secrets.JFROG_USERNAME }}
JFROG_PASSWORD: ${{ secrets.JFROG_PASSWORD }}
- name: Upload Test Reports
if: ${{ always() && ((steps.build.outcome == 'success') || (steps.build.outcome == 'failure')) }}
uses: actions/upload-artifact@b4b15b8c7c6ac21ea08fcf65892d2ee8f75cf882
with:
name: Build_JDK${{ matrix.java }}_${{ matrix.os }}-test-reports
path: |
*/generated/test-reports/*/TEST-*.xml
maven/*/target/surefire-reports/TEST-*.xml
gradle-plugins/*/build/test-results/*/TEST-*.xml