diff --git a/.circleci/config.yml b/.circleci/config.yml
new file mode 100644
index 0000000..69d7efa
--- /dev/null
+++ b/.circleci/config.yml
@@ -0,0 +1,38 @@
+version: 2.1
+
+orbs:
+ docker: circleci/docker@2.2.0
+ sdkman: joshdholtz/sdkman@0.2.0
+
+jobs:
+ arm64-native:
+ machine:
+ image: ubuntu-2004:current
+ resource_class: arm.medium
+ steps:
+ - checkout
+ - sdkman/setup-sdkman
+ - sdkman/sdkman-install:
+ candidate: java
+ version: 21.0.1-graalce
+ - run:
+ name: "bootBuildImage"
+ command: "./mvnw -Pnative spring-boot:build-image"
+ - docker/check:
+ docker-username: DOCKER_LOGIN
+ docker-password: DOCKERHUB_PASSWORD
+ - docker/push:
+ image: dashaun/com.javagrunt.listener.youtube
+ tag: $CIRCLE_TAG-aarch_64
+
+workflows:
+ arm64-native-workflow:
+ jobs:
+ - arm64-native:
+ context:
+ - dashaun-dockerhub
+ filters:
+ tags:
+ only: /^v.*/
+ branches:
+ ignore: /.*/
\ No newline at end of file
diff --git a/.github/workflows/amd64-native.yml b/.github/workflows/amd64-native.yml
new file mode 100644
index 0000000..9988b16
--- /dev/null
+++ b/.github/workflows/amd64-native.yml
@@ -0,0 +1,58 @@
+name: Native-AMD64
+
+on:
+ push:
+ tags:
+ - "v*"
+
+jobs:
+ build:
+
+ runs-on: ubuntu-latest
+
+ steps:
+ - uses: actions/setup-java@v2
+ with:
+ distribution: 'liberica' # See 'Supported distributions' for available options
+ java-version: '21'
+ - name: Checkout master
+ uses: actions/checkout@v3
+ with:
+ submodules: true
+ #Build Image
+ - name: Build Image
+ run: ./mvnw -Pnative spring-boot:build-image
+ #Login to DockerHub
+ - name: Login to DockerHub
+ uses: docker/login-action@v2
+ with:
+ username: ${{ secrets.DOCKERHUB_USERNAME }}
+ password: ${{ secrets.DOCKERHUB_TOKEN }}
+ #Tag the version
+ #Deploy the image to the Docker registry
+ - name: Push Images to Docker Registry
+ run: docker push -a dashaun/com.javagrunt.listener.youtube
+
+
+ manifest:
+ needs: build
+ runs-on: ubuntu-latest
+ steps:
+ - name: Login to DockerHub
+ uses: docker/login-action@v2
+ with:
+ username: ${{ secrets.DOCKERHUB_USERNAME }}
+ password: ${{ secrets.DOCKERHUB_TOKEN }}
+ - name: pull-arm64
+ uses: nick-fields/retry@v2
+ with:
+ timeout_minutes: 5
+ retry_wait_seconds: 60
+ max_attempts: 6
+ command: docker pull dashaun/com.javagrunt.listener.youtube:$GITHUB_REF_NAME-aarch_64
+ - name: create-manifest
+ run: |
+ docker manifest create dashaun/com.javagrunt.listener.youtube:$GITHUB_REF_NAME --amend dashaun/com.javagrunt.listener.youtube:$GITHUB_REF_NAME-x86_64 --amend dashaun/com.javagrunt.listener.youtube:$GITHUB_REF_NAME-aarch_64
+ docker manifest push dashaun/com.javagrunt.listener.youtube:$GITHUB_REF_NAME
+ docker manifest create dashaun/com.javagrunt.listener.youtube:latest --amend dashaun/com.javagrunt.listener.youtube:$GITHUB_REF_NAME-x86_64 --amend dashaun/com.javagrunt.listener.youtube:$GITHUB_REF_NAME-aarch_64
+ docker manifest push dashaun/com.javagrunt.listener.youtube:latest
\ No newline at end of file
diff --git a/pom.xml b/pom.xml
index 546c663..954908f 100644
--- a/pom.xml
+++ b/pom.xml
@@ -11,7 +11,7 @@
com.javagrunt.listener
youtube
0
- ${project.groupId}:${project.artifactId}
+ ${project.groupId}.${project.artifactId}
21