Skip to content

Commit

Permalink
Merge branch 'apache:master' into master
Browse files Browse the repository at this point in the history
  • Loading branch information
Honza-cz authored Jan 7, 2024
2 parents ed1cef8 + 3ac5fab commit eafadd9
Show file tree
Hide file tree
Showing 2,517 changed files with 154,848 additions and 66,918 deletions.
1 change: 1 addition & 0 deletions .asf.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,7 @@ github:
master: {}
collaborators:
- asbachb
- troizet

notifications:
commits: [email protected]
Expand Down
15 changes: 12 additions & 3 deletions .github/ISSUE_TEMPLATE/netbeans_bug_report.yml
Original file line number Diff line number Diff line change
Expand Up @@ -27,8 +27,8 @@ body:
Latest releases are always available from https://netbeans.apache.org/download/
multiple: false
options:
- "Apache NetBeans 19"
- "Apache NetBeans 20 release candidate"
- "Apache NetBeans 20"
# - "Apache NetBeans 21 release candidate"
- "Apache NetBeans latest daily build"
validations:
required: true
Expand All @@ -38,12 +38,19 @@ body:
description: Describe what happened, what you expected to happen, and what went wrong.
placeholder: >
Please provide the context in which the problem occurred and explain what happened.
Explain why you think the behaviour is erroneous. It is extremely helpful if you copy&paste
Explain why you think the behaviour is erroneous. It is extremely helpful if you attach the messages.log file or copy&paste
the fragment of logs showing the exact error messages or wrong behaviour and screenshots for
UI problems or YouTube link to a video of you demonstrating the problem. You can include files by
dragging and dropping them here.
validations:
required: true
- type: input
attributes:
label: Language / Project Type / NetBeans Component
description: >
Narrow down the specific area, examples: 'Java Maven Web application project',
'PHP project', 'NetBeans Platform Application wizard' or 'NetBeans Windows Installer'.
placeholder: "Java Maven Project using Java Modules (JPMS)"
- type: textarea
attributes:
label: How to reproduce
Expand All @@ -54,6 +61,8 @@ body:
Please make sure you provide a reproducible step-by-step case of how to reproduce the problem
as minimally and precisely as possible. Remember that non-reproducible issues may be closed or
converted into discussions. If we cannot reproduce an issue we cannot fix it!
validations:
required: true
- type: dropdown
attributes:
label: Did this work correctly in an earlier version?
Expand Down
30 changes: 19 additions & 11 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,10 +19,19 @@ name: NetBeans

on:
push:
branches:
- 'master'
- 'delivery'
- 'release*'

pull_request:
# unlocked event is used as super secret restart button
types: [opened, synchronize, unlocked]

# Allows you to run this workflow manually from the Actions tab in GitHub UI
# keep in mind this will have ALL tests enabled
workflow_dispatch:

# cancel other PR workflow run in the same head-base group if it exists (e.g. during PR syncs)
# if this is not a PR run (no github.head_ref and github.base_ref defined), use an UID as group
concurrency:
Expand Down Expand Up @@ -124,13 +133,6 @@ jobs:
key: ${{ runner.os }}-${{ hashFiles('*/external/binaries-list', '*/*/external/binaries-list') }}
restore-keys: ${{ runner.os }}-

- name: Setup Gradle Daemon to run on JDK 11
if: ${{ matrix.java == '21' }}
run: |
mkdir -p ~/.gradle
#uses a preinstalled JDK 11 from the runner
echo "org.gradle.java.home=$JAVA_HOME_11_X64" >> ~/.gradle/gradle.properties
- name: Build NetBeans
run: ant $OPTS -quiet -Dcluster.config=$CLUSTER_CONFIG build-nozip

Expand Down Expand Up @@ -656,8 +658,8 @@ jobs:
- name: ide/libs.freemarker
run: ant $OPTS -f ide/libs.freemarker test

# - name: ide/libs.git
# run: ant $OPTS -f ide/libs.git test
- name: ide/libs.git
run: ant $OPTS -f ide/libs.git test

- name: ide/libs.graalsdk
run: ant $OPTS -f ide/libs.graalsdk test
Expand Down Expand Up @@ -816,7 +818,7 @@ jobs:
timeout-minutes: 60
strategy:
matrix:
java: [ '11', '21' ]
java: [ '11', '17', '21' ]
fail-fast: false
steps:

Expand Down Expand Up @@ -857,6 +859,9 @@ jobs:
- name: java/maven.indexer
run: ant $OPTS -f java/maven.indexer test

- name: java/maven.refactoring
run: ant $OPTS -f java/maven.refactoring test

- name: java/maven.junit
run: ant $OPTS -f java/maven.junit test

Expand Down Expand Up @@ -911,6 +916,9 @@ jobs:
- name: extide/gradle
run: ant $OPTS -f extide/gradle test

- name: java/gradle.dependencies
run: ant $OPTS -f java/gradle.dependencies test

- name: extide/o.apache.tools.ant.module
run: ant $OPTS -f extide/o.apache.tools.ant.module test

Expand Down Expand Up @@ -2651,7 +2659,7 @@ jobs:
- name: test-vscode-ext
run: |
cd java/java.lsp.server
ant $OPTS test-vscode-ext
env "netbeans.extra.options=-J-Dnetbeans.logger.console=true" ant $OPTS test-vscode-ext

# last job depends on everything so that it is forced to run last even if a long job fails early
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -42,9 +42,13 @@ name: NetBeans Native Execution Libraries


on:
# Triggers the workflow on push or pull request events but only for
# relevant paths
push:
branches:
- 'master'
- 'delivery'
- 'release*'
# Triggers the workflow on push or pull request events but only for
# relevant paths
paths:
- .github/workflows/native-binary-build-dlight.nativeexecution.y*
- ide/dlight.nativeexecution/**
Expand Down
210 changes: 210 additions & 0 deletions .github/workflows/native-binary-build-launcher.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,210 @@
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.


# ----------------------
#
# This workflow builds the native Windows launchers for the IDE and platform.
#
# The result of the build are files 'launcher-external-sources.zip'
# and 'launcher-external-binaries.zip' which can be downloaded from
# the GitHub Actions UI and prepared for release to be used by the Ant build
# scripts for the NetBeans distribution.
#
# ----------------------


name: NetBeans Native Launcher


on:
push:
# Triggers the workflow on push or pull request events but only for
# relevant paths
paths:
- .github/workflows/native-binary-build-launcher.y*
- platform/o.n.bootstrap/launcher/windows/**
- harness/apisupport.harness/windows-launcher-src/**
- nb/ide.launcher/windows/**

pull_request:
paths:
- .github/workflows/native-binary-build-launcher.y*
- platform/o.n.bootstrap/launcher/windows/**
- harness/apisupport.harness/windows-launcher-src/**
- nb/ide.launcher/windows/**

# Allows you to run this workflow manually from the Actions tab in GitHub UI
workflow_dispatch:

# cancel other PR workflow run in the same head-base group if it exists (e.g. during PR syncs)
# if this is not a PR run (no github.head_ref and github.base_ref defined), use an UID as group
concurrency:
group: launcher-${{ github.head_ref || github.run_id }}-${{ github.base_ref }}
cancel-in-progress: true

jobs:

source:

name: Package Sources
runs-on: ubuntu-latest

steps:

- name: Checkout
uses: actions/checkout@v4
with:
persist-credentials: false
submodules: false
show-progress: false

- name: Generate source bundle
run: |
SOURCES="nbbuild/build/native/launcher/sources"
mkdir -p ${SOURCES}/platform/o.n.bootstrap/launcher/
cp -r platform/o.n.bootstrap/launcher/windows/ ${SOURCES}/platform/o.n.bootstrap/launcher/
mkdir -p ${SOURCES}/harness/apisupport.harness/
cp -r harness/apisupport.harness/windows-launcher-src/ ${SOURCES}/harness/apisupport.harness/
mkdir -p ${SOURCES}/nb/ide.launcher/
cp -r nb/ide.launcher/windows/ ${SOURCES}/nb/ide.launcher/
cp LICENSE ${SOURCES}/LICENSE
cp NOTICE ${SOURCES}/NOTICE
ls -l -R ${SOURCES}
- name: Upload native sources
uses: actions/upload-artifact@v3
with:
name: launcher-external-sources
path: nbbuild/build/native/launcher/sources/
if-no-files-found: error


build-linux:

name: Build with MinGW
runs-on: ubuntu-latest
needs: source

steps:

- name: Install MinGW
run: sudo apt install mingw-w64 mingw-w64-tools

- name: Download sources
uses: actions/download-artifact@v3
with:
name: launcher-external-sources

- name: Build bootstrap binaries
run: |
echo "Building bootstrap binaries"
rm -rf ./build/
make -f Makefile.mingw
ls -l -R ./build/
echo "done"
working-directory: platform/o.n.bootstrap/launcher/windows/

- name: Upload bootstrap artifacts
uses: actions/upload-artifact@v3
with:
name: launcher-bootstrap-bin
path: platform/o.n.bootstrap/launcher/windows/build/
if-no-files-found: error

- name: Build harness binaries
run: |
echo "Building harness binaries"
rm -rf ./build/
make -f Makefile.mingw
ls -l -R ./build/
echo "done"
working-directory: harness/apisupport.harness/windows-launcher-src

- name: Upload harness artifacts
uses: actions/upload-artifact@v3
with:
name: launcher-harness-bin
path: harness/apisupport.harness/windows-launcher-src/build/
if-no-files-found: error

- name: Build IDE binaries
run: |
echo "Building IDE binaries"
rm -rf ./build/
make -f Makefile.mingw
ls -l -R ./build/
echo "done"
working-directory: nb/ide.launcher/windows

- name: Upload IDE artifacts
uses: actions/upload-artifact@v3
with:
name: launcher-ide-bin
path: nb/ide.launcher/windows/build/
if-no-files-found: error

build-zip-with-build-artifacts:

name: Package Binaries
runs-on: ubuntu-latest

# Only run when the platform specific builds are finished
needs: [build-linux]

steps:

- name: Create dir structure
run: mkdir -p myfiles/

- name: Download artifacts from predecessor jobs
uses: actions/download-artifact@v3
with:
path: myfiles/

- name: Tidy up and display artifacts
run: |
cp myfiles/launcher-external-sources/LICENSE myfiles/LICENSE
cp myfiles/launcher-external-sources/NOTICE myfiles/NOTICE
cp myfiles/*bin/*.exe myfiles/
cp myfiles/*bin/*.dll myfiles/
rm -rf myfiles/*-sources/
rm -rf myfiles/*-bin/
ls -l -R
- name: Create BUILDINFO
run: |
BUILDINFO="myfiles/BUILDINFO.txt"
touch "$BUILDINFO"
echo "Apache NetBeans" >> "$BUILDINFO"
echo "" >> "$BUILDINFO"
echo "Binaries in this ZIP are..." >> "$BUILDINFO"
echo "Build by GitHub Actions Workflow: ${GITHUB_WORKFLOW}" >> "$BUILDINFO"
echo "" >> "$BUILDINFO"
echo "Build from:" >> "$BUILDINFO"
echo " Git repo : ${GITHUB_SERVER_URL}/${GITHUB_REPOSITORY}" >> "$BUILDINFO"
echo " Git commit SHA : ${GITHUB_SHA}" >> "$BUILDINFO"
echo " Git ref : ${GITHUB_REF}" >> "$BUILDINFO"
echo "" >> "$BUILDINFO"
echo "Build time UTC : $(date --rfc-3339=seconds --utc)" >> "$BUILDINFO"
echo "" >> "$BUILDINFO"
- name: Upload bundle
uses: actions/upload-artifact@v3
with:
name: launcher-external-binaries
path: myfiles/
if-no-files-found: error
8 changes: 6 additions & 2 deletions .github/workflows/native-binary-build-lib.profiler.yml
Original file line number Diff line number Diff line change
Expand Up @@ -51,9 +51,13 @@ name: NetBeans Profiler Libraries


on:
# Triggers the workflow on push or pull request events but only for
# relevant paths
push:
branches:
- 'master'
- 'delivery'
- 'release*'
# Triggers the workflow on push or pull request events but only for
# relevant paths
paths:
- .github/workflows/native-binary-build-lib.profiler.y*
- profiler/lib.profiler/**
Expand Down
Loading

0 comments on commit eafadd9

Please sign in to comment.