From b956eba6c746e511028e257ae102164867c70766 Mon Sep 17 00:00:00 2001 From: Paul-Christian Volkmer Date: Thu, 10 Aug 2023 16:44:26 +0200 Subject: Add workflow to run tests on push or pull request --- .github/workflows/test.yml | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 .github/workflows/test.yml (limited to '.github') diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml new file mode 100644 index 0000000..5ff199b --- /dev/null +++ b/.github/workflows/test.yml @@ -0,0 +1,28 @@ +name: "Run Tests" + +on: + push: + branches: + - 'master' + pull-request: + branches: + - '*' + +jobs: + docker: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + - uses: actions/setup-java@v3 + with: + java-version: '17' + distribution: 'temurin' + + - name: Setup Gradle + uses: gradle/gradle-build-action@v2 + + - name: Execute tests + run: ./gradlew test + + - name: Execute integration tests + run: ./gradlew integrationTest \ No newline at end of file -- cgit v1.2.3 From 1e29ecc891fdfa9750af49e5a3506b6fe5ad8f46 Mon Sep 17 00:00:00 2001 From: Paul-Christian Volkmer Date: Thu, 10 Aug 2023 17:32:02 +0200 Subject: Fix event name in workflow file --- .github/workflows/test.yml | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) (limited to '.github') diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 5ff199b..d7d3e39 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -2,11 +2,9 @@ name: "Run Tests" on: push: - branches: - - 'master' - pull-request: - branches: - - '*' + branches: [ 'master' ] + pull_request: + branches: [ '*' ] jobs: docker: -- cgit v1.2.3 From d24d9a7fd0ddd725bb81da29e40b80a644c66249 Mon Sep 17 00:00:00 2001 From: Paul-Christian Volkmer Date: Thu, 10 Aug 2023 17:46:11 +0200 Subject: Add docker deploy workflow --- .github/workflows/docker.yml | 30 ++++++++++++++++++++++++++++++ .github/workflows/test.yml | 5 +++-- 2 files changed, 33 insertions(+), 2 deletions(-) create mode 100644 .github/workflows/docker.yml (limited to '.github') diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml new file mode 100644 index 0000000..b74eaac --- /dev/null +++ b/.github/workflows/docker.yml @@ -0,0 +1,30 @@ +name: "Run docker build and deploy" + +on: + push: + tags: + - '*' + +jobs: + call-test-workflow: + uses: ./.github/workflows/test.yml + + docker: + runs-on: ubuntu-latest + steps: + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v2 + + - name: Login to Docker Hub + uses: docker/login-action@v2 + with: + registry: ghcr.io + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + + - name: Execute image build and push + run: | + ./gradlew bootBuildImage + docker tag ghcr.io/ccc-mf/etl-processor ghcr.io/ccc-mf/etl-processor:${{ github.ref_name }} + docker push ghcr.io/ccc-mf/etl-processor + docker push ghcr.io/ccc-mf/etl-processor:${{ github.ref_name }} \ No newline at end of file diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index d7d3e39..98067f1 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -1,13 +1,14 @@ name: "Run Tests" on: + workflow_call: push: branches: [ 'master' ] pull_request: branches: [ '*' ] jobs: - docker: + tests: runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 @@ -17,7 +18,7 @@ jobs: distribution: 'temurin' - name: Setup Gradle - uses: gradle/gradle-build-action@v2 + uses: gradle/gradle-build-action@v2.4.2 - name: Execute tests run: ./gradlew test -- cgit v1.2.3 From 2ec5e27a402f36d87d3cf9a6369e77028200c3b2 Mon Sep 17 00:00:00 2001 From: Paul-Christian Volkmer Date: Thu, 10 Aug 2023 18:07:25 +0200 Subject: Full setup for docker build --- .github/workflows/docker.yml | 14 +++++++++++--- .github/workflows/test.yml | 1 + 2 files changed, 12 insertions(+), 3 deletions(-) (limited to '.github') diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml index b74eaac..175250c 100644 --- a/.github/workflows/docker.yml +++ b/.github/workflows/docker.yml @@ -2,16 +2,24 @@ name: "Run docker build and deploy" on: push: - tags: - - '*' + tags: [ '*' ] jobs: - call-test-workflow: + test: uses: ./.github/workflows/test.yml docker: runs-on: ubuntu-latest steps: + - uses: actions/checkout@v3 + - uses: actions/setup-java@v3 + with: + java-version: '17' + distribution: 'temurin' + + - name: Setup Gradle + uses: gradle/gradle-build-action@v2.4.2 + - name: Set up Docker Buildx uses: docker/setup-buildx-action@v2 diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 98067f1..fa00f69 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -4,6 +4,7 @@ on: workflow_call: push: branches: [ 'master' ] + tags-ignore: [ '*' ] pull_request: branches: [ '*' ] -- cgit v1.2.3 From 2264d85bd10cf18c8a6e7e0c7fb8f79bf7c24b87 Mon Sep 17 00:00:00 2001 From: Paul-Christian Volkmer Date: Thu, 10 Aug 2023 18:29:25 +0200 Subject: Run docker workflow after test workflow --- .github/workflows/docker.yml | 9 ++++----- .github/workflows/test.yml | 16 +++++++++++++--- 2 files changed, 17 insertions(+), 8 deletions(-) (limited to '.github') diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml index 175250c..bf4f6a0 100644 --- a/.github/workflows/docker.yml +++ b/.github/workflows/docker.yml @@ -1,14 +1,13 @@ name: "Run docker build and deploy" on: - push: - tags: [ '*' ] + workflow_run: + workflows: [ 'Run Tests' ] + types: [ 'completed' ] jobs: - test: - uses: ./.github/workflows/test.yml - docker: + if: ${{ github.event.workflow_run.conclusion == 'success' && contains(github.event.ref, '/tags/') }} runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index fa00f69..e7ee0d3 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -1,10 +1,8 @@ -name: "Run Tests" +name: 'Run Tests' on: - workflow_call: push: branches: [ 'master' ] - tags-ignore: [ '*' ] pull_request: branches: [ '*' ] @@ -24,5 +22,17 @@ jobs: - name: Execute tests run: ./gradlew test + integrationTests: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + - uses: actions/setup-java@v3 + with: + java-version: '17' + distribution: 'temurin' + + - name: Setup Gradle + uses: gradle/gradle-build-action@v2.4.2 + - name: Execute integration tests run: ./gradlew integrationTest \ No newline at end of file -- cgit v1.2.3 From 25ec557c25378774194627775b460af290bfccee Mon Sep 17 00:00:00 2001 From: Paul-Christian Volkmer Date: Thu, 10 Aug 2023 18:44:33 +0200 Subject: Change condition when to run docker job --- .github/workflows/docker.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to '.github') diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml index bf4f6a0..d6f3e3e 100644 --- a/.github/workflows/docker.yml +++ b/.github/workflows/docker.yml @@ -7,7 +7,7 @@ on: jobs: docker: - if: ${{ github.event.workflow_run.conclusion == 'success' && contains(github.event.ref, '/tags/') }} + if: ${{ github.event.workflow_run.conclusion == 'success' && github.ref_type == 'tag' }} runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 -- cgit v1.2.3 From 4dde13e79a0d7d35648c498f7a98b62aea05b9ec Mon Sep 17 00:00:00 2001 From: Paul-Christian Volkmer Date: Thu, 10 Aug 2023 18:59:04 +0200 Subject: Run tests on each tag --- .github/workflows/test.yml | 1 + 1 file changed, 1 insertion(+) (limited to '.github') diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index e7ee0d3..f7c37f3 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -3,6 +3,7 @@ name: 'Run Tests' on: push: branches: [ 'master' ] + tags: [ '*' ] pull_request: branches: [ '*' ] -- cgit v1.2.3 From 044d01534b1183449bfe7d2a783481b81feac455 Mon Sep 17 00:00:00 2001 From: Paul-Christian Volkmer Date: Thu, 10 Aug 2023 20:17:10 +0200 Subject: Build and deploy docker image on new release --- .github/workflows/deploy.yml | 35 +++++++++++++++++++++++++++++++++++ .github/workflows/docker.yml | 37 ------------------------------------- 2 files changed, 35 insertions(+), 37 deletions(-) create mode 100644 .github/workflows/deploy.yml delete mode 100644 .github/workflows/docker.yml (limited to '.github') diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml new file mode 100644 index 0000000..6d15376 --- /dev/null +++ b/.github/workflows/deploy.yml @@ -0,0 +1,35 @@ +name: "Run build and deploy" + +on: + release: + types: [ 'published' ] + +jobs: + docker: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + - uses: actions/setup-java@v3 + with: + java-version: '17' + distribution: 'temurin' + + - name: Setup Gradle + uses: gradle/gradle-build-action@v2.4.2 + + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v2 + + - name: Login to Docker Hub + uses: docker/login-action@v2 + with: + registry: ghcr.io + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + + - name: Execute image build and push + run: | + ./gradlew bootBuildImage + docker tag ghcr.io/ccc-mf/etl-processor ghcr.io/ccc-mf/etl-processor:${{ github.ref_name }} + docker push ghcr.io/ccc-mf/etl-processor + docker push ghcr.io/ccc-mf/etl-processor:${{ github.ref_name }} \ No newline at end of file diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml deleted file mode 100644 index d6f3e3e..0000000 --- a/.github/workflows/docker.yml +++ /dev/null @@ -1,37 +0,0 @@ -name: "Run docker build and deploy" - -on: - workflow_run: - workflows: [ 'Run Tests' ] - types: [ 'completed' ] - -jobs: - docker: - if: ${{ github.event.workflow_run.conclusion == 'success' && github.ref_type == 'tag' }} - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v3 - - uses: actions/setup-java@v3 - with: - java-version: '17' - distribution: 'temurin' - - - name: Setup Gradle - uses: gradle/gradle-build-action@v2.4.2 - - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v2 - - - name: Login to Docker Hub - uses: docker/login-action@v2 - with: - registry: ghcr.io - username: ${{ github.actor }} - password: ${{ secrets.GITHUB_TOKEN }} - - - name: Execute image build and push - run: | - ./gradlew bootBuildImage - docker tag ghcr.io/ccc-mf/etl-processor ghcr.io/ccc-mf/etl-processor:${{ github.ref_name }} - docker push ghcr.io/ccc-mf/etl-processor - docker push ghcr.io/ccc-mf/etl-processor:${{ github.ref_name }} \ No newline at end of file -- cgit v1.2.3