mirror of https://github.com/OpenIdentityPlatform/OpenDJ.git

Tobias Gesellchen
30.06.2022 2ddf6516136060b5dfa6eefbd93aed3168c83e0f
.github/workflows/release.yml
@@ -20,7 +20,7 @@
        env:
          GITHUB_CONTEXT: ${{ toJSON(github) }}
        run: echo "$GITHUB_CONTEXT"
      - name: Install wine+rpm for ditribution
      - name: Install wine+rpm for distribution
        shell: bash
        run:   |
           sudo dpkg --add-architecture i386
@@ -88,36 +88,6 @@
            opendj-doc-generated-ref/target/*.zip
            opendj-dsml-servlet/target/*.war
            opendj-rest2ldap-servlet/target/*.war
      - name: Docker publish hub.docker.com
        env:
          DOCKER_USERNAME: ${{ secrets.DOCKER_USERNAME }}
          DOCKER_PASSWORD: ${{ secrets.DOCKER_PASSWORD }}
        if: ${{ env.DOCKER_PASSWORD!='' && env.DOCKER_USERNAME!=''}}
        continue-on-error: true
        shell: bash
        run:   |
          echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin
          docker build opendj-packages/opendj-docker -f opendj-packages/opendj-docker/Dockerfile -t ${GITHUB_REPOSITORY,,} -t ${GITHUB_REPOSITORY,,}:${{ github.event.inputs.releaseVersion }} --build-arg VERSION=${{ github.event.inputs.releaseVersion }}
          docker push ${GITHUB_REPOSITORY,,}
          docker push ${GITHUB_REPOSITORY,,}:${{ github.event.inputs.releaseVersion }}
          docker build opendj-packages/opendj-docker -f opendj-packages/opendj-docker/Dockerfile-alpine -t ${GITHUB_REPOSITORY,,}:alpine -t ${GITHUB_REPOSITORY,,}:${{ github.event.inputs.releaseVersion }}-alpine --build-arg VERSION=${{ github.event.inputs.releaseVersion }}
          docker push ${GITHUB_REPOSITORY,,}:alpine
          docker push ${GITHUB_REPOSITORY,,}:${{ github.event.inputs.releaseVersion }}-alpine
      - name: Docker publish docker.pkg.github.com
        continue-on-error: true
        shell: bash
        env:
          GITHUB_REPOSITORY_NAME: ${{ github.event.repository.name }}
          GITHUB_ACTOR: ${{ github.actor }}
          GITHUB_TOKEN: ${{ github.token }}
        run:   |
          echo "$GITHUB_TOKEN" | docker login -u "Open Identity Platform Community" docker.pkg.github.com --password-stdin
          docker build opendj-packages/opendj-docker -f opendj-packages/opendj-docker/Dockerfile -t docker.pkg.github.com/${GITHUB_REPOSITORY,,}/${GITHUB_REPOSITORY_NAME,,} -t docker.pkg.github.com/${GITHUB_REPOSITORY,,}/${GITHUB_REPOSITORY_NAME,,}:${{ github.event.inputs.releaseVersion }} --build-arg VERSION=${{ github.event.inputs.releaseVersion }}
          docker push docker.pkg.github.com/${GITHUB_REPOSITORY,,}/${GITHUB_REPOSITORY_NAME,,}
          docker push docker.pkg.github.com/${GITHUB_REPOSITORY,,}/${GITHUB_REPOSITORY_NAME,,}:${{ github.event.inputs.releaseVersion }}
          docker build opendj-packages/opendj-docker -f opendj-packages/opendj-docker/Dockerfile-alpine -t docker.pkg.github.com/${GITHUB_REPOSITORY,,}/${GITHUB_REPOSITORY_NAME,,}:alpine -t docker.pkg.github.com/${GITHUB_REPOSITORY,,}/${GITHUB_REPOSITORY_NAME,,}:${{ github.event.inputs.releaseVersion }}-alpine --build-arg VERSION=${{ github.event.inputs.releaseVersion }}
          docker push docker.pkg.github.com/${GITHUB_REPOSITORY,,}/${GITHUB_REPOSITORY_NAME,,}:alpine
          docker push docker.pkg.github.com/${GITHUB_REPOSITORY,,}/${GITHUB_REPOSITORY_NAME,,}:${{ github.event.inputs.releaseVersion }}-alpine
      - uses: actions/checkout@v3
        continue-on-error: true
        with:
@@ -139,3 +109,73 @@
           git tag -f ${{ github.event.inputs.releaseVersion }}
           git push --quiet --force
           git push --quiet --force origin ${{ github.event.inputs.releaseVersion }}
  release-docker:
    name: Docker release
    runs-on: 'ubuntu-latest'
    needs:
      - release
    steps:
      - uses: actions/checkout@v3
        with:
          ref: ${{ github.event.inputs.releaseVersion }}
          fetch-depth: 1
          submodules: recursive
      - name: Docker meta (default)
        id: meta
        uses: docker/metadata-action@v3
        with:
          images: |
            ${{ github.repository }}
            ghcr.io/${{ github.repository }}/${{ github.event.repository.name }}
          tags: |
            type=raw,value=latest
            type=raw,value=${{ github.event.inputs.releaseVersion }}
      - name: Docker meta (alpine)
        id: meta_alpine
        uses: docker/metadata-action@v3
        with:
          images: |
            ${{ github.repository }}
            ghcr.io/${{ github.repository }}/${{ github.event.repository.name }}
          tags: |
            type=raw,value=alpine
            type=raw,value=${{ github.event.inputs.releaseVersion }}-alpine
      - name: Set up QEMU
        uses: docker/setup-qemu-action@v1
      - name: Set up Docker Buildx
        uses: docker/setup-buildx-action@v1
      - name: Login to DockerHub
        uses: docker/login-action@v1
        with:
          username: ${{ secrets.DOCKER_USERNAME }}
          password: ${{ secrets.DOCKER_PASSWORD }}
      - name: Login to GHCR
        uses: docker/login-action@v1
        with:
          registry: ghcr.io
          username: ${{ github.repository_owner }}
          password: ${{ secrets.GITHUB_TOKEN }}
      - name: Build and push image (default)
        uses: docker/build-push-action@v2
        continue-on-error: true
        with:
          context: ./opendj-packages/opendj-docker
          file: ./opendj-packages/opendj-docker/Dockerfile
          build-args: |
            VERSION=${{ github.event.inputs.releaseVersion }}
          platforms: linux/amd64,linux/arm64/8
          push: true
          tags: ${{ steps.meta.outputs.tags }}
          labels: ${{ steps.meta.outputs.labels }}
      - name: Build and push image (alpine)
        continue-on-error: true
        uses: docker/build-push-action@v2
        with:
          context: ./opendj-packages/opendj-docker
          file: ./opendj-packages/opendj-docker/Dockerfile-alpine
          build-args: |
            VERSION=${{ github.event.inputs.releaseVersion }}
          platforms: linux/amd64,linux/arm64/8
          push: true
          tags: ${{ steps.meta_alpine.outputs.tags }}
          labels: ${{ steps.meta_alpine.outputs.labels }}