|
|
# This workflow builds and unit tests both main Java API and also build/data tools for metadata generation.
|
|
|
|
|
|
name: Testing Java API
|
|
|
on: pull_request
|
|
|
permissions:
|
|
|
contents: read
|
|
|
|
|
|
jobs:
|
|
|
java-test:
|
|
|
runs-on: ubuntu-latest
|
|
|
steps:
|
|
|
- name: Harden Runner
|
|
|
uses: step-security/harden-runner@8ca2b8b2ece13480cda6dacd3511b49857a23c09 # v2.5.1
|
|
|
with:
|
|
|
egress-policy: audit # TODO: change to 'egress-policy: block' after couple of runs
|
|
|
|
|
|
- uses: actions/checkout@ee0669bd1cc54295c223e0bb666b733df41de1c5 # v2.7.0
|
|
|
- name: Set up JDK 8 and Maven
|
|
|
uses: actions/setup-java@cd89f46ac9d01407894225f350157564c9c7cee2 # v3.12.0
|
|
|
with:
|
|
|
java-version: '8'
|
|
|
distribution: 'adopt'
|
|
|
# Invoke the "github-actions" profile during Maven steps; see <profile> in pom.xml
|
|
|
# files. This is configured not to build the "cpp-build" module.
|
|
|
# The "mvn install" command will run by default during the "install" phase by
|
|
|
# Github Actions, without the profile flag. Here we customize the install phase to
|
|
|
# use the relevant profile. If we want to build "cpp-build" with Github Action CI
|
|
|
# it's safe to remove the first line entirely.
|
|
|
- name: Test Build Tools with Maven
|
|
|
run: |
|
|
|
mvn install -P github-actions -DskipTests=true -Dmaven.javadoc.skip=true -B -V
|
|
|
mvn -P github-actions test
|
|
|
- name: Test Java API with Ant
|
|
|
run: |
|
|
|
ant clean -f java/build.xml
|
|
|
ant jar -f java/build.xml
|
|
|
ant junit -f java/build.xml
|
|
|
js-files-ascii-check:
|
|
|
runs-on: ubuntu-latest
|
|
|
steps:
|
|
|
- name: Harden Runner
|
|
|
uses: step-security/harden-runner@8ca2b8b2ece13480cda6dacd3511b49857a23c09 # v2.5.1
|
|
|
with:
|
|
|
egress-policy: audit # TODO: change to 'egress-policy: block' after couple of runs
|
|
|
|
|
|
- uses: actions/checkout@ee0669bd1cc54295c223e0bb666b733df41de1c5 # v2.7.0
|
|
|
- name: Install ascii-safe-cli
|
|
|
run: npm install -g is-ascii-safe-cli
|
|
|
- name: Check whether .js api files are ascii safe or not.
|
|
|
run: find . -name '*.js' ! -name '*_test.js' | xargs is-ascii-safe
|