diff --git a/.github/workflows/build-images.yml b/.github/workflows/build-images.yml new file mode 100644 index 0000000..92175ea --- /dev/null +++ b/.github/workflows/build-images.yml @@ -0,0 +1,15 @@ +name: Build and Push Image + +on: + push: + paths-ignore: ['*.md', 'CODEOWNERS', 'LICENSE'] + tags: + - "**" + branches: + - 'integration' + - 'release/version*' + - 'docker-images' + workflow_dispatch: +jobs: + call-reusable-workflow: + uses: nationalsecurityagency/datawave/.github/workflows/microservice-build-image.yaml@integration diff --git a/.github/workflows/tests.yaml b/.github/workflows/tests.yaml index 284ca14..5f30ec7 100644 --- a/.github/workflows/tests.yaml +++ b/.github/workflows/tests.yaml @@ -1,4 +1,4 @@ -name: Tests +name: Run Maven Tests on: push: @@ -10,79 +10,5 @@ on: paths-ignore: ['*.md', 'CODEOWNERS', 'LICENSE'] jobs: - # Runs the pom sorter and code formatter to ensure that the code - # is formatted and poms are sorted according to project rules. This - # will fail if the formatter makes any changes. - check-code-formatting: - runs-on: ubuntu-latest - steps: - - name: Checkout Code - uses: actions/checkout@v1 - - name: Set up JDK 11 - uses: actions/setup-java@v1 - with: - java-version: 11 - - uses: actions/cache@v1 - with: - path: ~/.m2/repository - key: ${{ runner.os }}-maven-format-${{ hashFiles('**/pom.xml') }} - restore-keys: | - ${{ runner.os }}-maven-format- - ${{ runner.os }}-maven- - - name: Format code - run: | - mvn -s $GITHUB_WORKSPACE/.github/workflows/settings.xml -V -B -e clean formatter:format sortpom:sort -Pautoformat - git status - git diff-index --quiet HEAD || (echo "Error! There are modified files after formatting." && false) - env: - MAVEN_OPTS: "-Dhttps.protocols=TLSv1.2 -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=WARN -Djava.awt.headless=true" - USER_NAME: ${{ secrets.USER_NAME }} - ACCESS_TOKEN: ${{ secrets.ACCESS_TOKEN }} - - # Build the code and run the unit/integration tests. - build-and-test: - runs-on: ubuntu-latest - steps: - - name: Checkout Code - uses: actions/checkout@v1 - - name: Set up JDK 11 - uses: actions/setup-java@v1 - with: - java-version: 11 - - uses: actions/cache@v1 - with: - path: ~/.m2/repository - key: ${{ runner.os }}-maven-build-${{ hashFiles('**/pom.xml') }} - restore-keys: | - ${{ runner.os }}-maven-build- - ${{ runner.os }}-maven-format- - ${{ runner.os }}-maven- - - name: Build and Run Unit Tests - run: mvn -s $GITHUB_WORKSPACE/.github/workflows/settings.xml -V -B -e -Ddist clean verify - env: - MAVEN_OPTS: "-Dhttps.protocols=TLSv1.2 -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=WARN -Djava.awt.headless=true" - USER_NAME: ${{ secrets.USER_NAME }} - ACCESS_TOKEN: ${{ secrets.ACCESS_TOKEN }} - - # Here's an example of how you'd deploy the image to the github package registry. - # We don't want to do this by default since packages on github cannot be deleted - # or overwritten. So this could only be done for tags, however it seems the quickstart - # image may also exceed the maximum size allowed by github. - # - name: Image - # env: - # IMAGE_REGISTRY: "docker.pkg.github.com" - # IMAGE_USERNAME: "NationalSecurityAgency" - # USER_NAME: ${{ secrets.USER_NAME }} - # ACCESS_TOKEN: ${{ secrets.ACCESS_TOKEN }} - # run: | - # # Set up env vars - # IMAGE_NAME=$(mvn -s $GITHUB_WORKSPACE/.github/workflows/settings.xml -q -N -Pdocker -f service/pom.xml -Dexec.executable='echo' -Dexec.args='${project.version}' exec:exec) - # IMAGE_PREFIX=$(mvn -s $GITHUB_WORKSPACE/.github/workflows/settings.xml -q -N -Pdocker -f service/pom.xml -Dexec.executable='echo' -Dexec.args='${docker.image.prefix}' exec:exec) - # IMAGE_TAG=$(mvn -s $GITHUB_WORKSPACE/.github/workflows/settings.xml -q -N -Pdocker -f service/pom.xml -Dexec.executable='echo' -Dexec.args='${project.artifactId}' exec:exec) - # REMOTE_IMAGE_NAME="${IMAGE_REGISTRY}/${IMAGE_USERNAME}/${IMAGE_PREFIX}${IMAGE_NAME}" - # # Log in to the package registry - # echo ${{ secrets.GITHUB_TOKEN }} | docker login docker.pkg.github.com --username ${GITHUB_ACTOR} --password-stdin - # # Tag and push the image - # docker tag ${IMAGE_PREFIX}${IMAGE_NAME}:${IMAGE_TAG} ${REMOTE_IMAGE_NAME}:${IMAGE_TAG} - # docker push ${REMOTE_IMAGE_NAME}:${IMAGE_TAG} - + call-reusable-workflow: + uses: nationalsecurityagency/datawave/.github/workflows/microservice-maven-tests.yaml@integration \ No newline at end of file