Skip to content

feat(storage/control): add Java delete folder recursive sample #185

feat(storage/control): add Java delete folder recursive sample

feat(storage/control): add Java delete folder recursive sample #185

# Copyright 2022 Google LLC
#
# Licensed 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.
# Github action job to test core java library features on
# downstream client libraries before they are released.
on:
push:
branches:
- main
pull_request:
name: java-cloud-bom ci
env:
BUILD_SUBDIR: java-cloud-bom
MAVEN_OPTS: -Xmx4g
jobs:
filter:
runs-on: ubuntu-latest
outputs:
library: ${{ steps.filter.outputs.library }}
steps:
- uses: actions/checkout@v4
- uses: dorny/paths-filter@v3
id: filter
with:
filters: |
library:
- 'java-cloud-bom/**'
- 'sdk-platform-java/**'
- 'google-auth-library-java/**'
units:
needs: filter
if: ${{ needs.filter.outputs.library == 'true' }}
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
java: [11, 17, 21]
steps:
- uses: actions/checkout@v4
- uses: actions/setup-java@v5
with:
distribution: temurin
java-version: ${{matrix.java}}
cache: 'maven'
- run: java -version
- name: Pre-install all BOM modules to populate local cache
run: bash java-cloud-bom/tests/pre-install.sh
shell: bash
- run: .kokoro/build.sh
env:
JOB_TYPE: test
GH_TOKEN: ${{ github.token }}
units-java8:
needs: filter
if: ${{ needs.filter.outputs.library == 'true' }}
# Building using Java 17 and run the tests with Java 8 runtime
name: "units (8)"
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-java@v5
with:
java-version: 11
distribution: temurin
cache: 'maven'
- name: "Set jvm system property environment variable for surefire plugin (unit tests)"
# Maven surefire plugin (unit tests) allows us to specify JVM to run the tests.
# https://maven.apache.org/surefire/maven-surefire-plugin/test-mojo.html#jvm
run: echo "SUREFIRE_JVM_OPT=-Djvm=${JAVA_HOME}/bin/java -P !java17" >> $GITHUB_ENV
shell: bash
- uses: actions/setup-java@v5
with:
java-version: 17
distribution: temurin
cache: 'maven'
- name: Pre-install all BOM modules to populate local cache
run: bash java-cloud-bom/tests/pre-install.sh
shell: bash
- run: .kokoro/build.sh
env:
JOB_TYPE: test
GH_TOKEN: ${{ github.token }}
windows:
needs: filter
if: ${{ needs.filter.outputs.library == 'true' }}
runs-on: windows-latest
steps:
- name: Support longpaths
run: git config --system core.longpaths true
- uses: actions/checkout@v4
- uses: actions/setup-java@v5
with:
distribution: temurin
java-version: 11
cache: 'maven'
- run: java -version
- name: Pre-install all BOM modules to populate local cache
run: bash java-cloud-bom/tests/pre-install.sh
shell: bash
- run: .kokoro/build.sh
env:
JOB_TYPE: test
GH_TOKEN: ${{ github.token }}
dependencies:
needs: filter
if: ${{ needs.filter.outputs.library == 'true' }}
runs-on: ubuntu-latest
strategy:
matrix:
java: [17]
steps:
- uses: actions/checkout@v4
- uses: actions/setup-java@v5
with:
distribution: temurin
java-version: ${{matrix.java}}
cache: 'maven'
- run: java -version
- name: Pre-install all BOM modules to populate local cache
run: bash java-cloud-bom/tests/pre-install.sh
shell: bash
- run: .kokoro/dependencies.sh
javadoc:
needs: filter
if: ${{ needs.filter.outputs.library == 'true' }}
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-java@v5
with:
distribution: temurin
java-version: 17
cache: 'maven'
- run: java -version
- name: Pre-install all BOM modules to populate local cache
run: bash java-cloud-bom/tests/pre-install.sh
shell: bash
- run: .kokoro/build.sh
env:
JOB_TYPE: javadoc
lint:
needs: filter
if: ${{ needs.filter.outputs.library == 'true' }}
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- uses: actions/setup-java@v5
with:
distribution: temurin
java-version: 11
cache: 'maven'
- run: java -version
- name: Pre-install all BOM modules to populate local cache
run: bash java-cloud-bom/tests/pre-install.sh
shell: bash
- run: .kokoro/build.sh
env:
JOB_TYPE: lint
HEAD_SHA: ${{ github.event.pull_request.head.sha || github.sha }}
BASE_SHA: ${{ github.event.pull_request.base.sha || github.event.before }}
clirr:
needs: filter
if: ${{ needs.filter.outputs.library == 'true' }}
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-java@v5
with:
distribution: temurin
java-version: 11
cache: 'maven'
- run: java -version
- name: Pre-install all BOM modules to populate local cache
run: bash java-cloud-bom/tests/pre-install.sh
shell: bash
- run: .kokoro/build.sh
env:
JOB_TYPE: clirr
BUILD_SUBDIR: java-cloud-bom