From 2348ce0561719e8d34cb09ad0b4683f3f89416a7 Mon Sep 17 00:00:00 2001 From: besscroft Date: Fri, 28 Jul 2023 15:06:37 +0800 Subject: [PATCH] =?UTF-8?q?ci:=E6=9B=B4=E6=96=B0=20yml=20=E6=96=87?= =?UTF-8?q?=E4=BB=B6=EF=BC=8C=E8=B0=83=E6=95=B4=E6=89=93=E5=8C=85=E6=96=B9?= =?UTF-8?q?=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/docker-builds-test-java.yml | 44 +++++++++++++++ .github/workflows/docker-buildx-java.yml | 53 +++++++++++++++++++ .github/workflows/docker-buildx-test.yml | 24 +++++++-- .github/workflows/docker-buildx.yml | 24 +++++++-- 4 files changed, 139 insertions(+), 6 deletions(-) create mode 100644 .github/workflows/docker-builds-test-java.yml create mode 100644 .github/workflows/docker-buildx-java.yml 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: