diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml new file mode 100644 index 000000000..809d1a479 --- /dev/null +++ b/.github/workflows/build.yaml @@ -0,0 +1,50 @@ +name: flytekit-java build + +on: + push: + branches: [master] + pull_request: + branches: + - master + +jobs: + build-snapshot: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v1 + with: + fetch-depth: "0" + - name: Cache local Maven repository + uses: actions/cache@v2 + with: + path: ~/.m2/repository + key: ${{ runner.os }}-maven-prepare-release-${{ hashFiles('pom.xml') }} + - name: Set up JDK 11 + uses: actions/setup-java@v1 + with: + java-version: 11.0 + distribution: 'adopt' + - name: Log in to Docker Hub + if: ${{ github.ref == 'refs/heads/master' }} + uses: docker/login-action@v1 + with: + registry: ghcr.io + username: ${{ secrets.FLYTE_BOT_USERNAME }} + password: ${{ secrets.FLYTE_BOT_PAT }} + - uses: s4u/maven-settings-action@v2.2.0 + if: ${{ github.ref == 'refs/heads/master' }} + with: + servers: | + [{ + "id": "flytekit-java-release", + "username": "${{ secrets.SONATYPE_USERNAME }}", + "password": "${{ secrets.SONATYPE_PASSWORD }}" + }] + - name: Verify with Maven + run: mvn verify + - name: Release snapshot with Maven + if: ${{ github.ref == 'refs/heads/master' }} + env: + RELEASE_REPOSITORY_URL: "https://s01.oss.sonatype.org/service/local/staging/deploy/maven2/" + SNAPSHOTS_REPOSITORY_URL: "https://s01.oss.sonatype.org/content/repositories/snapshots" + run: mvn deploy -DpreparationGoals=clean -DskipTests=true -Ddocker.image=gcr.io/flyteorg/jflyte -Ddockerfile.push \ No newline at end of file diff --git a/spotbugs-exclude.xml b/spotbugs-exclude.xml index 16a6681c1..e7b45b149 100644 --- a/spotbugs-exclude.xml +++ b/spotbugs-exclude.xml @@ -50,4 +50,14 @@ + + + + + + + + + +