diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml index bf8cb437b..0c06bad3e 100644 --- a/.github/workflows/codeql-analysis.yml +++ b/.github/workflows/codeql-analysis.yml @@ -74,8 +74,15 @@ jobs: java-version: 11 distribution: temurin + - name: Read version from properties file + id: read-version + run: | + version=$(grep -oP 'version=\K[^[:space:]]+' gradle.properties) + echo "Version found: $version" + echo "VERSION=$version" >> $GITHUB_ENV + - name: Build with Gradle - run: ./gradlew build + run: make build/distributions/tiered-storage-for-apache-kafka-${{ env.VERSION }}.tgz - name: Perform CodeQL Analysis uses: github/codeql-action/analyze@v2 diff --git a/.github/workflows/main_push_and_pull_request_workflow.yml b/.github/workflows/main_push_and_pull_request_workflow.yml index 13731a70b..c80d83261 100644 --- a/.github/workflows/main_push_and_pull_request_workflow.yml +++ b/.github/workflows/main_push_and_pull_request_workflow.yml @@ -25,12 +25,46 @@ jobs: distribution: temurin - name: Build with Gradle - run: ./gradlew build distTar -x integrationTest + run: make build - name: Run integration tests - run: ./gradlew integrationTest + run: make integration_test + + - name: Upload Build Artifacts + uses: actions/upload-artifact@v3 + with: + name: build-${{ matrix.java-version }} + path: build/distributions/*.tgz + e2e_test: + strategy: + matrix: + java-version: [ 11, 17 ] + runs-on: [ ubuntu-latest ] + name: E2E tests on ${{ matrix.runs-on }} with jdk ${{ matrix.java-version }} + runs-on: ${{ matrix.runs-on }} + needs: + - build + steps: + - name: Checkout code + uses: actions/checkout@v3 + with: + fetch-depth: 0 + + - name: Download Build Artifacts + uses: actions/download-artifact@v3 + with: + name: build-${{ matrix.java-version }} + path: build/distributions + + - name: Display structure of downloaded files + run: ls -R + working-directory: build/distributions - name: Build Docker image run: make docker_image + - name: Run E2E tests + timeout-minutes: 30 + run: make e2e_test + # TODO: publish docker image diff --git a/Makefile b/Makefile index c03cf080e..d91699dfd 100644 --- a/Makefile +++ b/Makefile @@ -13,19 +13,28 @@ # See the License for the specific language governing permissions and # limitations under the License. ## -VERSION=0.0.1-SNAPSHOT +VERSION := $(shell grep -oP 'version=\K[^[:space:]]+' gradle.properties) IMAGE_TAG=aivenoy/kafka:3.3-2022-10-06-tiered-storage-1-ts-2 -.PHONY: clean +.PHONY: clean checkstyle build integration_test e2e_test docker_image docker_push + clean: ./gradlew clean +checkstyle: + ./gradlew checkstyleMain checkstyleTest checkstyleIntegrationTest + +build: build/distributions/tiered-storage-for-apache-kafka-$(VERSION).tgz + build/distributions/tiered-storage-for-apache-kafka-$(VERSION).tgz: - ./gradlew build distTar -x integrationTest + ./gradlew build distTar -x integrationTest -x e2e:test integration_test: build/distributions/tiered-storage-for-apache-kafka-$(VERSION).tgz ./gradlew integrationTest +e2e_test: build/distributions/tiered-storage-for-apache-kafka-$(VERSION).tgz + ./gradlew e2e:test + .PHONY: docker_image docker_image: build/distributions/tiered-storage-for-apache-kafka-$(VERSION).tgz docker build . \