diff --git a/.github/workflows/docker-builds-test-java.yml b/.github/workflows/docker-builds-test-java.yml new file mode 100644 index 0000000..a0e6c8b --- /dev/null +++ b/.github/workflows/docker-builds-test-java.yml @@ -0,0 +1,44 @@ +name: "Java CI with Multi-arch Docker Test Image" + +on: + push: + branches: + - dev + +jobs: + docker: + name: Running Compile Java Multi-arch Docker Test Image + runs-on: ubuntu-latest + steps: + - name: Checkout diyfile + uses: actions/checkout@v3 + - name: Get Version + id: get_version + run: echo ::set-output name=VERSION::${GITHUB_REF#refs/tags/} + - name: Setup Java + uses: actions/setup-java@v3 + with: + java-version: '17' + distribution: 'temurin' + cache: 'maven' + - name: Build with Maven + run: mvn -B package -Dmaven.test.skip=true --file pom.xml + - name: Login to Docker Hub + uses: docker/login-action@v2 + with: + username: ${{ secrets.DOCKERHUB_USERNAME }} + password: ${{ secrets.DOCKERHUB_TOKEN }} + - name: Set up QEMU + uses: docker/setup-qemu-action@v2 + - name: Set up Docker Buildx + id: buildx + uses: docker/setup-buildx-action@v2 + - name: Build and push diyfile test java + id: docker_build_diyfile_test_java + uses: docker/build-push-action@v3 + with: + context: ./ + file: ./.github/docker/Dockerfile + platforms: linux/amd64,linux/arm64,linux/arm/v7,linux/ppc64le,linux/s390x + push: true + tags: ${{ secrets.DOCKERHUB_USERNAME }}/diyfile:test-java diff --git a/.github/workflows/docker-buildx-java.yml b/.github/workflows/docker-buildx-java.yml new file mode 100644 index 0000000..64e4738 --- /dev/null +++ b/.github/workflows/docker-buildx-java.yml @@ -0,0 +1,53 @@ +name: "Java CI with Multi-arch Docker Image" + +on: + push: + tags: + - 'v*' + +jobs: + docker: + name: Running Compile Java Multi-arch Docker Image + runs-on: ubuntu-latest + steps: + - name: Checkout diyfile + uses: actions/checkout@v3 + - name: Get Version + id: get_version + run: echo ::set-output name=VERSION::${GITHUB_REF#refs/tags/} + - name: Setup Java + uses: actions/setup-java@v3 + with: + java-version: '17' + distribution: 'temurin' + cache: 'maven' + - name: Build with Maven + run: mvn -B package -Dmaven.test.skip=true --file pom.xml + - name: Login to Docker Hub + uses: docker/login-action@v2 + with: + username: ${{ secrets.DOCKERHUB_USERNAME }} + password: ${{ secrets.DOCKERHUB_TOKEN }} + - name: Set up QEMU + uses: docker/setup-qemu-action@v2 + - name: Set up Docker Buildx + id: buildx + uses: docker/setup-buildx-action@v2 + - name: Build and push diyfile version java + id: docker_build_diyfile_version_java + uses: docker/build-push-action@v3 + with: + context: ./ + file: ./.github/docker/Dockerfile + platforms: linux/amd64,linux/arm64,linux/arm/v7,linux/ppc64le,linux/s390x + push: true + tags: ${{ secrets.DOCKERHUB_USERNAME }}/diyfile:${{ steps.get_version.outputs.VERSION }}-java + - name: Build and push diyfile latest java + id: docker_build_diyfile_latest_java + uses: docker/build-push-action@v3 + with: + context: ./ + file: ./.github/docker/Dockerfile + platforms: linux/amd64,linux/arm64,linux/arm/v7,linux/ppc64le,linux/s390x + push: true + tags: ${{ secrets.DOCKERHUB_USERNAME }}/diyfile:java diff --git a/.github/workflows/docker-buildx-test.yml b/.github/workflows/docker-buildx-test.yml index e34e225..0ff7282 100644 --- a/.github/workflows/docker-buildx-test.yml +++ b/.github/workflows/docker-buildx-test.yml @@ -1,4 +1,4 @@ -name: "Java CI with Multi-arch Docker Test Image" +name: "Java CI with Multi-arch Docker All Test Image" on: push: @@ -7,13 +7,31 @@ on: jobs: docker: - name: Running Compile Java Multi-arch Docker Image Test + name: Running Compile Java Multi-arch Docker All Test Image runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 + - name: Checkout diyfile + uses: actions/checkout@v3 - name: Get Version id: get_version run: echo ::set-output name=VERSION::${GITHUB_REF#refs/tags/} + - run: mkdir -p diyfile-web + - name: Checkout diyfile-web + uses: actions/checkout@v3 + with: + repository: 'besscroft/diyfile-web' + ref: dev + path: 'diyfile-web' + - run: corepack enable + - name: Use Node.js + uses: actions/setup-node@v3 + with: + node-version: '18' + cache-dependency-path: 'diyfile-web' + cache: pnpm + - run: pnpm i --prefix diyfile-web + - run: pnpm run --prefix diyfile-web build:vite + - run: mkdir -p diyfile-system/src/main/resources/static && cp -r diyfile-web/dist/* diyfile-system/src/main/resources/static - name: Setup Java uses: actions/setup-java@v3 with: diff --git a/.github/workflows/docker-buildx.yml b/.github/workflows/docker-buildx.yml index 72f6dbb..ad140d4 100644 --- a/.github/workflows/docker-buildx.yml +++ b/.github/workflows/docker-buildx.yml @@ -1,4 +1,4 @@ -name: "Java CI with Multi-arch Docker Image" +name: "Java CI with Multi-arch All Docker Image" on: push: @@ -7,13 +7,31 @@ on: jobs: docker: - name: Running Compile Java Multi-arch Docker Image + name: Running Compile Java Multi-arch All Docker Image runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 + - name: Checkout diyfile + uses: actions/checkout@v3 - name: Get Version id: get_version run: echo ::set-output name=VERSION::${GITHUB_REF#refs/tags/} + - run: mkdir -p diyfile-web + - name: Checkout diyfile-web + uses: actions/checkout@v3 + with: + repository: 'besscroft/diyfile-web' + ref: dev + path: 'diyfile-web' + - run: corepack enable + - name: Use Node.js + uses: actions/setup-node@v3 + with: + node-version: '18' + cache-dependency-path: 'diyfile-web' + cache: pnpm + - run: pnpm i --prefix diyfile-web + - run: pnpm run --prefix diyfile-web build:vite + - run: mkdir -p diyfile-system/src/main/resources/static && cp -r diyfile-web/dist/* diyfile-system/src/main/resources/static - name: Setup Java uses: actions/setup-java@v3 with: