2019-12-05 00:45:56 -05:00
2019-11-28 13:35:47 -08:00
2019-11-25 12:16:39 -05:00
2019-12-05 00:45:56 -05:00
2019-11-25 11:36:48 -05:00
2019-12-05 00:45:56 -05:00
2019-11-28 13:35:47 -08:00
2019-07-10 10:54:25 -04:00
2019-11-28 14:18:30 -08:00
2019-07-10 10:54:25 -04:00
2019-07-10 10:54:25 -04:00
2019-11-25 10:12:17 -05:00
2019-11-28 14:48:36 -08:00
2019-12-04 23:22:47 -05:00
2019-07-10 10:54:25 -04:00

setup-java

GitHub Actions status

This action sets up a java environment for use in actions by:

  • optionally downloading and caching a requested version of java by version and adding to PATH. Default downloads are populated from the Zulu Community distribution of OpenJDK
  • registering problem matchers for error output

Usage

See action.yml

Basic:

steps:
- uses: actions/checkout@v1
- uses: actions/setup-java@v1
  with:
    java-version: '9.0.4' # The JDK version to make available on the path. Takes a whole or semver JDK version, or 1.x syntax (e.g. 1.8 => Jdk 8.x). To specify a specific version for JDK 8 or older use the following pattern (8.0.x)
    java-package: jdk # (jre, jdk, or jdk+fx) - defaults to jdk
    architecture: x64 # (x64 or x86) - defaults to x64
- run: java -cp java HelloWorldApp

From local file:

steps:
- uses: actions/checkout@v1
- uses: actions/setup-java@v1
  with:
    java-version: '4.0.0'
    architecture: x64
    jdkFile: <path to jdkFile> # Optional - jdkFile to install java from. Useful for versions not found on Zulu Community CDN
- run: java -cp java HelloWorldApp

Matrix Testing:

jobs:
  build:
    runs-on: ubuntu-16.04
    strategy:
      matrix:
        # test against latest update of each major Java version, as well as specific updates of LTS versions:
        java: [ 1.6, 6.0.83, 7, 7.0.181, 8, 8.0.192, 9.0,x, 10, 11.0.x, 11.0.3, 12, 13 ]
    name: Java ${{ matrix.java }} sample
    steps:
      - uses: actions/checkout@master
      - name: Setup java
        uses: actions/setup-java@v1
        with:
          java-version: ${{ matrix.java }}
      - run: java -cp java HelloWorldApp

Publising to an Apache Maven Repository:

jobs:
  build:

    runs-on: ubuntu-latest

    steps:
    - uses: actions/checkout@v1
    - name: Set up JDK 1.8
      uses: actions/setup-java@v1
      with:
        java-version: 1.8
        server-id: github # Value of the distributionManagement/repository/id field of the pom.xml
        username: ${{ github.actor }} # username for server authentication
        password: ${{ github.token }} # password or token for authentication
    - name: Build with Maven
      run: mvn -B package --file pom.xml
    - name: Publish to GitHub Packages Apache Maven
      run: mvn deploy
    - name: Set up Apache Maven Central
      uses: actions/setup-java@v1
      with: # running setup-java again overwrites the settings.xml
        java-version: 1.8
        server-id: maven
        username: maven_username
        password: ${{ secrets.MAVEN_CENTRAL_TOKEN }} # password from secrets store
    - name: Publish to Apache Maven Central
      run: mvn deploy 

See the help docs on Publishing a Package for more information on the pom.xml file.

License

The scripts and documentation in this project are released under the MIT License

Contributions

Contributions are welcome! See Contributor's Guide

Description
Set up your GitHub Actions workflow with a specific version of Java
Readme MIT 134 MiB
Languages
TypeScript 99.6%
Shell 0.3%