diff --git a/.github/workflows/docker-image.yml b/.github/workflows/docker-image.yml deleted file mode 100644 index 65635e0c..00000000 --- a/.github/workflows/docker-image.yml +++ /dev/null @@ -1,40 +0,0 @@ -name: Docker Image CI - -on: - push: - branches: [ master ] - -jobs: - - build: - - runs-on: ubuntu-latest - - steps: - - uses: actions/checkout@v2 - - name: Build the Docker image - run: mvn clean package -Pdev -DskipTests -U -e && /bin/cp -rf powerjob-server/powerjob-server-starter/target/*.jar powerjob-server/docker/powerjob-server.jar && /bin/cp -rf powerjob-worker-agent/target/*.jar powerjob-worker-agent/powerjob-agent.jar && /bin/cp -rf powerjob-worker-samples/target/*.jar powerjob-worker-samples/powerjob-worker-samples.jar - - uses: docker/build-push-action@v1 - with: - username: ${{ secrets.DOCKER_USERNAME }} - password: ${{ secrets.DOCKER_PASSWORD }} - repository: tjqq/powerjob-server - tag_with_ref: true - tags: latest - path: powerjob-server/docker/ - - uses: docker/build-push-action@v1 - with: - username: ${{ secrets.DOCKER_USERNAME }} - password: ${{ secrets.DOCKER_PASSWORD }} - repository: tjqq/powerjob-agent - tag_with_ref: true - tags: latest - path: powerjob-worker-agent/ - - uses: docker/build-push-action@v1 - with: - username: ${{ secrets.DOCKER_USERNAME }} - password: ${{ secrets.DOCKER_PASSWORD }} - repository: tjqq/powerjob-worker-samples - tag_with_ref: true - tags: latest - path: powerjob-worker-samples/ \ No newline at end of file diff --git a/.github/workflows/docker_publish.yml b/.github/workflows/docker_publish.yml new file mode 100644 index 00000000..4b0d7f1e --- /dev/null +++ b/.github/workflows/docker_publish.yml @@ -0,0 +1,69 @@ +name: build_docker + +on: + push: + branches: [master] + tags: + - 'v*' # Push events to matching v*, i.e. v1.0, v20.15.10 + +jobs: + build_docker: + name: Build docker + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - name: Build Maven Project + uses: actions/setup-java@v4 + with: + java-version: '8' + distribution: 'temurin' + - name: Publish package + run: mvn clean package -Pdev -DskipTests -U -e && /bin/cp -rf powerjob-server/powerjob-server-starter/target/*.jar powerjob-server/docker/powerjob-server.jar && /bin/cp -rf powerjob-worker-agent/target/*.jar powerjob-worker-agent/powerjob-agent.jar && /bin/cp -rf powerjob-worker-samples/target/*.jar powerjob-worker-samples/powerjob-worker-samples.jar + + # Login + - name: Login to Docker Hub + uses: docker/login-action@v3 + with: + username: ${{ secrets.DOCKER_USERNAME }} + password: ${{ secrets.DOCKER_PASSWORD }} + + - name: Set up QEMU + uses: docker/setup-qemu-action@v3 + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v3 + + - name: Build And Push [powerjob-server] + uses: docker/build-push-action@v6 + with: + context: powerjob-server/docker/ + push: true + platforms: linux/amd64,linux/arm64 + tags: | + tjqq/powerjob-server:latest + powerjob/powerjob-server:latest + tjqq/powerjob-server:${{ env.GITHUB_REF_NAME }} + powerjob/powerjob-server:${{ env.GITHUB_REF_NAME }} + + - name: Build And Push [powerjob-agent] + uses: docker/build-push-action@v6 + with: + context: powerjob-worker-agent/ + push: true + platforms: linux/amd64,linux/arm64 + tags: | + tjqq/powerjob-agent:latest + powerjob/powerjob-agent:latest + tjqq/powerjob-agent:${{ env.GITHUB_REF_NAME }} + powerjob/powerjob-agent:${{ env.GITHUB_REF_NAME }} + + - name: Build And Push [powerjob-worker-samples] + uses: docker/build-push-action@v6 + with: + context: powerjob-worker-samples/ + push: true + platforms: linux/amd64,linux/arm64 + tags: | + tjqq/powerjob-worker-samples:latest + powerjob/powerjob-worker-samples:latest + tjqq/powerjob-worker-samples:${{ env.GITHUB_REF_NAME }} + powerjob/powerjob-worker-samples:${{ env.GITHUB_REF_NAME }} diff --git a/.github/workflows/maven.yml b/.github/workflows/maven.yml deleted file mode 100644 index c2f99971..00000000 --- a/.github/workflows/maven.yml +++ /dev/null @@ -1,38 +0,0 @@ -# This workflow will build a Java project with Maven -# For more information see: https://help.github.com/actions/language-and-framework-guides/building-and-testing-java-with-maven - -name: Java CI with Maven - -on: - push: - branches: [ master ] - pull_request: - branches: [ master ] - -jobs: - build: - - runs-on: ubuntu-latest - - steps: - - uses: actions/checkout@v2 - - name: Set up JDK 1.8 - uses: actions/setup-java@v1 - with: - java-version: 1.8 - - name: Build with Maven - run: mvn -B clean package -Pdev -DskipTests --file pom.xml - - name: upload build result - run: mkdir staging && cp powerjob-server/powerjob-server-starter/target/*.jar staging/powerjob-server.jar && cp powerjob-client/target/*.jar staging/powerjob-client.jar && cp powerjob-worker-agent/target/*.jar staging/powerjob-agent.jar - - uses: actions/upload-artifact@v1 - with: - name: powerjob-server.jar - path: staging/powerjob-server.jar - - uses: actions/upload-artifact@v1 - with: - name: powerjob-client.jar - path: staging/powerjob-client.jar - - uses: actions/upload-artifact@v1 - with: - name: powerjob-agent.jar - path: staging/powerjob-agent.jar diff --git a/.github/workflows/maven_build.yml b/.github/workflows/maven_build.yml new file mode 100644 index 00000000..f0042b9a --- /dev/null +++ b/.github/workflows/maven_build.yml @@ -0,0 +1,28 @@ +# This workflow will build a Java project with Maven +# For more information see: https://docs.github.com/zh/actions/use-cases-and-examples/building-and-testing/building-and-testing-java-with-maven + +name: Java CI with Maven + +on: + push: + branches: [ master ] + pull_request: + branches: [ master ] + +jobs: + build: + + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: actions/setup-java@v4 + with: + java-version: '8' + distribution: 'temurin' + - run: mvn -B clean package -Pdev -DskipTests --file pom.xml + - run: mkdir staging && cp powerjob-server/powerjob-server-starter/target/*.jar staging/powerjob-server.jar && cp powerjob-client/target/*.jar staging/powerjob-client.jar && cp powerjob-worker-agent/target/*.jar staging/powerjob-agent.jar && cp powerjob-worker-spring-boot-starter/target/*.jar staging/powerjob-worker-spring-boot-starter.jar + - uses: actions/upload-artifact@v4 + with: + name: Package + path: staging + diff --git a/.github/workflows/maven_publish.yml b/.github/workflows/maven_publish.yml new file mode 100644 index 00000000..f374635a --- /dev/null +++ b/.github/workflows/maven_publish.yml @@ -0,0 +1,22 @@ +name: Publish package to the Maven Central Repository +on: + release: + types: [created] +jobs: + publish: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - name: Set up Maven Central Repository + uses: actions/setup-java@v4 + with: + java-version: '8' + distribution: 'temurin' + server-id: ossrh + server-username: MAVEN_USERNAME + server-password: MAVEN_PASSWORD + - name: Publish package + run: mvn --batch-mode clean deploy -pl powerjob-worker,powerjob-client,powerjob-worker-spring-boot-starter,powerjob-official-processors,powerjob-worker-agent -DskipTests -Prelease -am + env: + MAVEN_USERNAME: ${{ secrets.OSSRH_USERNAME }} + MAVEN_PASSWORD: ${{ secrets.OSSRH_TOKEN }}