From 9ceb2d4fc49c4cad4039df7f352ec1ac04e513d3 Mon Sep 17 00:00:00 2001 From: Kashalls Date: Sat, 29 Jul 2023 03:44:22 -0700 Subject: [PATCH] feat: add support for building and pushing to ghcr.io --- .github/workflows/release.yml | 914 ++++++++++++++++++++++++++++------ 1 file changed, 751 insertions(+), 163 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 5ec6c4eb09..7524dfbfe8 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -47,481 +47,1069 @@ jobs: needs: generate-build-number runs-on: ubuntu-latest env: - DOCKERHUB_PASSWORD: ${{secrets.DOCKERHUB_PASSWORD}} - DOCKERHUB_USERNAME: ${{secrets.DOCKERHUB_USERNAME}} ONEUPTIME_VERSION: "7.0.${{needs.generate-build-number.outputs.build_number}}" steps: - uses: actions/checkout@v3 with: ref: release + - uses: actions/setup-node@v2 with: node-version: 18.3.0 - + + - name: Set up QEMU + uses: docker/setup-qemu-action@v2 + + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v2 + - run: npm run prerun - run: sudo docker run --rm --privileged docker/binfmt:820fdd95a9972a5308930a2bdfb8573dd4447ad3 - # Build and deploy accounts. - - run: sudo docker login --username $DOCKERHUB_USERNAME --password $DOCKERHUB_PASSWORD - - run: sudo docker buildx create --use - - run: sudo docker buildx build --platform linux/amd64,linux/arm64 --tag oneuptime/nginx:$ONEUPTIME_VERSION --tag oneuptime/nginx:release --push -f ./Nginx/Dockerfile . + # Build and deploy nginx. + + - name: Login to Docker Hub + uses: docker/login-action@v2.2.0 + with: + username: ${{ secrets.DOCKERHUB_USERNAME }} + password: ${{ secrets.DOCKERHUB_PASSWORD }} + + - name: Login to GitHub Container Registry + uses: docker/login-action@v2.2.0 + with: + registry: ghcr.io + username: ${{ github.repository_owner }} + password: ${{ secrets.GITHUB_TOKEN }} + + - name: Build and push + uses: docker/build-push-action@v4 + with: + file: ./Nginx/Dockerfile + context: . + platforms: linux/amd64,linux/arm64 + push: true + tags: | + oneuptime/nginx:$ONEUPTIME_VERSION + oneuptime/nginx:release + ghcr.io/oneuptime/nginx:$ONEUPTIME_VERSION + ghcr.io/oneuptime/nginx:release test-server-docker-image-deploy: needs: generate-build-number runs-on: ubuntu-latest env: - DOCKERHUB_PASSWORD: ${{secrets.DOCKERHUB_PASSWORD}} - DOCKERHUB_USERNAME: ${{secrets.DOCKERHUB_USERNAME}} ONEUPTIME_VERSION: "7.0.${{needs.generate-build-number.outputs.build_number}}" steps: - uses: actions/checkout@v3 with: ref: release + - uses: actions/setup-node@v2 with: node-version: 18.3.0 - + + - name: Set up QEMU + uses: docker/setup-qemu-action@v2 + + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v2 + - run: npm run prerun - run: sudo docker run --rm --privileged docker/binfmt:820fdd95a9972a5308930a2bdfb8573dd4447ad3 - # Build and deploy accounts. - - run: sudo docker login --username $DOCKERHUB_USERNAME --password $DOCKERHUB_PASSWORD - - run: sudo docker buildx create --use - - run: sudo docker buildx build --platform linux/amd64,linux/arm64 --tag oneuptime/test-server:$ONEUPTIME_VERSION --tag oneuptime/test-server:release --push -f ./TestServer/Dockerfile . + # Build and deploy test-server. + + - name: Login to Docker Hub + uses: docker/login-action@v2.2.0 + with: + username: ${{ secrets.DOCKERHUB_USERNAME }} + password: ${{ secrets.DOCKERHUB_PASSWORD }} + + - name: Login to GitHub Container Registry + uses: docker/login-action@v2.2.0 + with: + registry: ghcr.io + username: ${{ github.repository_owner }} + password: ${{ secrets.GITHUB_TOKEN }} + + - name: Build and push + uses: docker/build-push-action@v4 + with: + file: ./TestServer/Dockerfile + context: . + platforms: linux/amd64,linux/arm64 + push: true + tags: | + oneuptime/test-server:$ONEUPTIME_VERSION + oneuptime/test-server:release + ghcr.io/oneuptime/test-server:$ONEUPTIME_VERSION + ghcr.io/oneuptime/test-server:release workflow-docker-image-deploy: needs: generate-build-number runs-on: ubuntu-latest env: - DOCKERHUB_PASSWORD: ${{secrets.DOCKERHUB_PASSWORD}} - DOCKERHUB_USERNAME: ${{secrets.DOCKERHUB_USERNAME}} ONEUPTIME_VERSION: "7.0.${{needs.generate-build-number.outputs.build_number}}" steps: - uses: actions/checkout@v3 with: ref: release + - uses: actions/setup-node@v2 with: node-version: 18.3.0 - + + - name: Set up QEMU + uses: docker/setup-qemu-action@v2 + + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v2 + - run: npm run prerun - run: sudo docker run --rm --privileged docker/binfmt:820fdd95a9972a5308930a2bdfb8573dd4447ad3 - # Build and deploy accounts. - - run: sudo docker login --username $DOCKERHUB_USERNAME --password $DOCKERHUB_PASSWORD - - run: echo "$GHCR_TOKEN" | docker login ghcr.io -u $ --password-stdin - - run: sudo docker buildx create --use - - run: sudo docker buildx build --platform linux/amd64,linux/arm64 --tag oneuptime/workflow:$ONEUPTIME_VERSION --tag oneuptime/workflow:release --push -f ./Workflow/Dockerfile . + + # Build and deploy workflow. + + - name: Login to Docker Hub + uses: docker/login-action@v2.2.0 + with: + username: ${{ secrets.DOCKERHUB_USERNAME }} + password: ${{ secrets.DOCKERHUB_PASSWORD }} + + - name: Login to GitHub Container Registry + uses: docker/login-action@v2.2.0 + with: + registry: ghcr.io + username: ${{ github.repository_owner }} + password: ${{ secrets.GITHUB_TOKEN }} + + - name: Build and push + uses: docker/build-push-action@v4 + with: + file: ./Workflow/Dockerfile + context: . + platforms: linux/amd64,linux/arm64 + push: true + tags: | + oneuptime/workflow:$ONEUPTIME_VERSION + oneuptime/workflow:release + ghcr.io/oneuptime/workflow:$ONEUPTIME_VERSION + ghcr.io/oneuptime/workflow:release link-shortner-docker-image-deploy: needs: generate-build-number runs-on: ubuntu-latest env: - DOCKERHUB_PASSWORD: ${{secrets.DOCKERHUB_PASSWORD}} - DOCKERHUB_USERNAME: ${{secrets.DOCKERHUB_USERNAME}} ONEUPTIME_VERSION: "7.0.${{needs.generate-build-number.outputs.build_number}}" steps: - uses: actions/checkout@v3 with: ref: release + - uses: actions/setup-node@v2 with: node-version: 18.3.0 - + + - name: Set up QEMU + uses: docker/setup-qemu-action@v2 + + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v2 + - run: npm run prerun - run: sudo docker run --rm --privileged docker/binfmt:820fdd95a9972a5308930a2bdfb8573dd4447ad3 - # Build and deploy accounts. - - run: sudo docker login --username $DOCKERHUB_USERNAME --password $DOCKERHUB_PASSWORD - - run: sudo docker buildx create --use - - run: sudo docker buildx build --platform linux/amd64,linux/arm64 --tag oneuptime/link-shortner:$ONEUPTIME_VERSION --tag oneuptime/link-shortner:release --push -f ./LinkShortner/Dockerfile . + + # Build and deploy link-shortner. + + - name: Login to Docker Hub + uses: docker/login-action@v2.2.0 + with: + username: ${{ secrets.DOCKERHUB_USERNAME }} + password: ${{ secrets.DOCKERHUB_PASSWORD }} + + - name: Login to GitHub Container Registry + uses: docker/login-action@v2.2.0 + with: + registry: ghcr.io + username: ${{ github.repository_owner }} + password: ${{ secrets.GITHUB_TOKEN }} + + - name: Build and push + uses: docker/build-push-action@v4 + with: + file: ./LinkShortner/Dockerfile + context: . + platforms: linux/amd64,linux/arm64 + push: true + tags: | + oneuptime/link-shortner:$ONEUPTIME_VERSION + oneuptime/link-shortner:release + ghcr.io/oneuptime/link-shortner:$ONEUPTIME_VERSION + ghcr.io/oneuptime/link-shortner:release workers-docker-image-deploy: needs: generate-build-number runs-on: ubuntu-latest env: - DOCKERHUB_PASSWORD: ${{secrets.DOCKERHUB_PASSWORD}} - DOCKERHUB_USERNAME: ${{secrets.DOCKERHUB_USERNAME}} ONEUPTIME_VERSION: "7.0.${{needs.generate-build-number.outputs.build_number}}" steps: - uses: actions/checkout@v3 with: ref: release + - uses: actions/setup-node@v2 with: node-version: 18.3.0 - + + - name: Set up QEMU + uses: docker/setup-qemu-action@v2 + + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v2 + - run: npm run prerun - run: sudo docker run --rm --privileged docker/binfmt:820fdd95a9972a5308930a2bdfb8573dd4447ad3 - # Build and deploy workers. - - run: sudo docker login --username $DOCKERHUB_USERNAME --password $DOCKERHUB_PASSWORD - - run: sudo docker buildx create --use - - run: sudo docker buildx build --platform linux/amd64,linux/arm64 --tag oneuptime/workers:$ONEUPTIME_VERSION --tag oneuptime/workers:release --push -f ./Workers/Dockerfile . + + # Build and deploy workers. + + - name: Login to Docker Hub + uses: docker/login-action@v2.2.0 + with: + username: ${{ secrets.DOCKERHUB_USERNAME }} + password: ${{ secrets.DOCKERHUB_PASSWORD }} + + - name: Login to GitHub Container Registry + uses: docker/login-action@v2.2.0 + with: + registry: ghcr.io + username: ${{ github.repository_owner }} + password: ${{ secrets.GITHUB_TOKEN }} + + - name: Build and push + uses: docker/build-push-action@v4 + with: + file: ./Workers/Dockerfile + context: . + platforms: linux/amd64,linux/arm64 + push: true + tags: | + oneuptime/workers:$ONEUPTIME_VERSION + oneuptime/workers:release + ghcr.io/oneuptime/workers:$ONEUPTIME_VERSION + ghcr.io/oneuptime/workers:release status-page-docker-image-deploy: needs: generate-build-number runs-on: ubuntu-latest env: - DOCKERHUB_PASSWORD: ${{secrets.DOCKERHUB_PASSWORD}} - DOCKERHUB_USERNAME: ${{secrets.DOCKERHUB_USERNAME}} ONEUPTIME_VERSION: "7.0.${{needs.generate-build-number.outputs.build_number}}" steps: - uses: actions/checkout@v3 with: ref: release + - uses: actions/setup-node@v2 with: node-version: 18.3.0 - + + - name: Set up QEMU + uses: docker/setup-qemu-action@v2 + + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v2 + - run: npm run prerun - run: sudo docker run --rm --privileged docker/binfmt:820fdd95a9972a5308930a2bdfb8573dd4447ad3 - # Build and deploy status-page. - - run: sudo docker login --username $DOCKERHUB_USERNAME --password $DOCKERHUB_PASSWORD - - run: sudo docker buildx create --use - - run: sudo docker buildx build --platform linux/amd64,linux/arm64 --tag oneuptime/status-page:$ONEUPTIME_VERSION --tag oneuptime/status-page:release --push -f ./StatusPage/Dockerfile . + + # Build and deploy status-page. + + - name: Login to Docker Hub + uses: docker/login-action@v2.2.0 + with: + username: ${{ secrets.DOCKERHUB_USERNAME }} + password: ${{ secrets.DOCKERHUB_PASSWORD }} + + - name: Login to GitHub Container Registry + uses: docker/login-action@v2.2.0 + with: + registry: ghcr.io + username: ${{ github.repository_owner }} + password: ${{ secrets.GITHUB_TOKEN }} + + - name: Build and push + uses: docker/build-push-action@v4 + with: + file: ./StatusPage/Dockerfile + context: . + platforms: linux/amd64,linux/arm64 + push: true + tags: | + oneuptime/status-page:$ONEUPTIME_VERSION + oneuptime/status-page:release + ghcr.io/oneuptime/status-page:$ONEUPTIME_VERSION + ghcr.io/oneuptime/status-page:release realtime-docker-image-deploy: needs: generate-build-number runs-on: ubuntu-latest env: - DOCKERHUB_PASSWORD: ${{secrets.DOCKERHUB_PASSWORD}} - DOCKERHUB_USERNAME: ${{secrets.DOCKERHUB_USERNAME}} ONEUPTIME_VERSION: "7.0.${{needs.generate-build-number.outputs.build_number}}" steps: - uses: actions/checkout@v3 with: ref: release + - uses: actions/setup-node@v2 with: node-version: 18.3.0 - + + - name: Set up QEMU + uses: docker/setup-qemu-action@v2 + + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v2 + - run: npm run prerun - run: sudo docker run --rm --privileged docker/binfmt:820fdd95a9972a5308930a2bdfb8573dd4447ad3 - # Build and deploy realtime. - - run: sudo docker login --username $DOCKERHUB_USERNAME --password $DOCKERHUB_PASSWORD - - run: sudo docker buildx create --use - - run: sudo docker buildx build --platform linux/amd64,linux/arm64 --tag oneuptime/realtime:$ONEUPTIME_VERSION --tag oneuptime/realtime:release --push -f ./Realtime/Dockerfile . - + + # Build and deploy realtime. + + - name: Login to Docker Hub + uses: docker/login-action@v2.2.0 + with: + username: ${{ secrets.DOCKERHUB_USERNAME }} + password: ${{ secrets.DOCKERHUB_PASSWORD }} + + - name: Login to GitHub Container Registry + uses: docker/login-action@v2.2.0 + with: + registry: ghcr.io + username: ${{ github.repository_owner }} + password: ${{ secrets.GITHUB_TOKEN }} + + - name: Build and push + uses: docker/build-push-action@v4 + with: + file: ./Realtime/Dockerfile + context: . + platforms: linux/amd64,linux/arm64 + push: true + tags: | + oneuptime/realtime:$ONEUPTIME_VERSION + oneuptime/realtime:release + ghcr.io/oneuptime/realtime:$ONEUPTIME_VERSION + ghcr.io/oneuptime/realtime:release probe-api-docker-image-deploy: needs: generate-build-number runs-on: ubuntu-latest env: - DOCKERHUB_PASSWORD: ${{secrets.DOCKERHUB_PASSWORD}} - DOCKERHUB_USERNAME: ${{secrets.DOCKERHUB_USERNAME}} ONEUPTIME_VERSION: "7.0.${{needs.generate-build-number.outputs.build_number}}" steps: - uses: actions/checkout@v3 with: ref: release + - uses: actions/setup-node@v2 with: node-version: 18.3.0 - + + - name: Set up QEMU + uses: docker/setup-qemu-action@v2 + + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v2 + - run: npm run prerun - run: sudo docker run --rm --privileged docker/binfmt:820fdd95a9972a5308930a2bdfb8573dd4447ad3 - # Build and deploy probe-api. - - run: sudo docker login --username $DOCKERHUB_USERNAME --password $DOCKERHUB_PASSWORD - - run: sudo docker buildx create --use - - run: sudo docker buildx build --platform linux/amd64,linux/arm64 --tag oneuptime/probe-api:$ONEUPTIME_VERSION --tag oneuptime/probe-api:release --push -f ./ProbeAPI/Dockerfile . - + # Build and deploy probe-api. + + - name: Login to Docker Hub + uses: docker/login-action@v2.2.0 + with: + username: ${{ secrets.DOCKERHUB_USERNAME }} + password: ${{ secrets.DOCKERHUB_PASSWORD }} + + - name: Login to GitHub Container Registry + uses: docker/login-action@v2.2.0 + with: + registry: ghcr.io + username: ${{ github.repository_owner }} + password: ${{ secrets.GITHUB_TOKEN }} + + - name: Build and push + uses: docker/build-push-action@v4 + with: + file: ./ProbeAPI/Dockerfile + context: . + platforms: linux/amd64,linux/arm64 + push: true + tags: | + oneuptime/probe-api:$ONEUPTIME_VERSION + oneuptime/probe-api:release + ghcr.io/oneuptime/probe-api:$ONEUPTIME_VERSION + ghcr.io/oneuptime/probe-api:release notification-docker-image-deploy: needs: generate-build-number runs-on: ubuntu-latest env: - DOCKERHUB_PASSWORD: ${{secrets.DOCKERHUB_PASSWORD}} - DOCKERHUB_USERNAME: ${{secrets.DOCKERHUB_USERNAME}} ONEUPTIME_VERSION: "7.0.${{needs.generate-build-number.outputs.build_number}}" steps: - uses: actions/checkout@v3 with: ref: release + - uses: actions/setup-node@v2 with: node-version: 18.3.0 + + - name: Set up QEMU + uses: docker/setup-qemu-action@v2 + + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v2 + - run: npm run prerun - run: sudo docker run --rm --privileged docker/binfmt:820fdd95a9972a5308930a2bdfb8573dd4447ad3 - # Build and deploy accounts. - - run: sudo docker login --username $DOCKERHUB_USERNAME --password $DOCKERHUB_PASSWORD - - run: sudo docker buildx create --use - - run: sudo docker buildx build --platform linux/amd64,linux/arm64 --tag oneuptime/notification:$ONEUPTIME_VERSION --tag oneuptime/notification:release --push -f ./Notification/Dockerfile . - + + # Build and deploy notification. + + - name: Login to Docker Hub + uses: docker/login-action@v2.2.0 + with: + username: ${{ secrets.DOCKERHUB_USERNAME }} + password: ${{ secrets.DOCKERHUB_PASSWORD }} + + - name: Login to GitHub Container Registry + uses: docker/login-action@v2.2.0 + with: + registry: ghcr.io + username: ${{ github.repository_owner }} + password: ${{ secrets.GITHUB_TOKEN }} + + - name: Build and push + uses: docker/build-push-action@v4 + with: + file: ./Notification/Dockerfile + context: . + platforms: linux/amd64,linux/arm64 + push: true + tags: | + oneuptime/notification:$ONEUPTIME_VERSION + oneuptime/notification:release + ghcr.io/oneuptime/notification:$ONEUPTIME_VERSION + ghcr.io/oneuptime/notification:release licensing-docker-image-deploy: needs: generate-build-number runs-on: ubuntu-latest env: - DOCKERHUB_PASSWORD: ${{secrets.DOCKERHUB_PASSWORD}} - DOCKERHUB_USERNAME: ${{secrets.DOCKERHUB_USERNAME}} ONEUPTIME_VERSION: "7.0.${{needs.generate-build-number.outputs.build_number}}" steps: - uses: actions/checkout@v3 with: ref: release + - uses: actions/setup-node@v2 with: node-version: 18.3.0 - + + - name: Set up QEMU + uses: docker/setup-qemu-action@v2 + + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v2 + - run: npm run prerun - run: sudo docker run --rm --privileged docker/binfmt:820fdd95a9972a5308930a2bdfb8573dd4447ad3 - # Build and deploy accounts. - - run: sudo docker login --username $DOCKERHUB_USERNAME --password $DOCKERHUB_PASSWORD - - run: sudo docker buildx create --use - - run: sudo docker buildx build --platform linux/amd64,linux/arm64 --tag oneuptime/licensing:$ONEUPTIME_VERSION --tag oneuptime/licensing:release --push -f ./Licensing/Dockerfile . + + # Build and deploy licensing. + + - name: Login to Docker Hub + uses: docker/login-action@v2.2.0 + with: + username: ${{ secrets.DOCKERHUB_USERNAME }} + password: ${{ secrets.DOCKERHUB_PASSWORD }} + + - name: Login to GitHub Container Registry + uses: docker/login-action@v2.2.0 + with: + registry: ghcr.io + username: ${{ github.repository_owner }} + password: ${{ secrets.GITHUB_TOKEN }} + + - name: Build and push + uses: docker/build-push-action@v4 + with: + file: ./Licensing/Dockerfile + context: . + platforms: linux/amd64,linux/arm64 + push: true + tags: | + oneuptime/licensing:$ONEUPTIME_VERSION + oneuptime/licensing:release + ghcr.io/oneuptime/licensing:$ONEUPTIME_VERSION + ghcr.io/oneuptime/licensing:release integrations-docker-image-deploy: needs: generate-build-number runs-on: ubuntu-latest env: - DOCKERHUB_PASSWORD: ${{secrets.DOCKERHUB_PASSWORD}} - DOCKERHUB_USERNAME: ${{secrets.DOCKERHUB_USERNAME}} ONEUPTIME_VERSION: "7.0.${{needs.generate-build-number.outputs.build_number}}" steps: - uses: actions/checkout@v3 with: ref: release + - uses: actions/setup-node@v2 with: node-version: 18.3.0 - + + - name: Set up QEMU + uses: docker/setup-qemu-action@v2 + + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v2 + - run: npm run prerun - run: sudo docker run --rm --privileged docker/binfmt:820fdd95a9972a5308930a2bdfb8573dd4447ad3 - # Build and deploy accounts. - - run: sudo docker login --username $DOCKERHUB_USERNAME --password $DOCKERHUB_PASSWORD - - run: sudo docker buildx create --use - - run: sudo docker buildx build --platform linux/amd64,linux/arm64 --tag oneuptime/integrations:$ONEUPTIME_VERSION --tag oneuptime/integrations:release --push -f ./Integration/Dockerfile . - + + # Build and deploy integrations. + + - name: Login to Docker Hub + uses: docker/login-action@v2.2.0 + with: + username: ${{ secrets.DOCKERHUB_USERNAME }} + password: ${{ secrets.DOCKERHUB_PASSWORD }} + + - name: Login to GitHub Container Registry + uses: docker/login-action@v2.2.0 + with: + registry: ghcr.io + username: ${{ github.repository_owner }} + password: ${{ secrets.GITHUB_TOKEN }} + + - name: Build and push + uses: docker/build-push-action@v4 + with: + file: ./Integration/Dockerfile + context: . + platforms: linux/amd64,linux/arm64 + push: true + tags: | + oneuptime/integrations:$ONEUPTIME_VERSION + oneuptime/integrations:release + ghcr.io/oneuptime/integrations:$ONEUPTIME_VERSION + ghcr.io/oneuptime/integrations:release probe-docker-image-deploy: needs: generate-build-number runs-on: ubuntu-latest env: - DOCKERHUB_PASSWORD: ${{secrets.DOCKERHUB_PASSWORD}} - DOCKERHUB_USERNAME: ${{secrets.DOCKERHUB_USERNAME}} ONEUPTIME_VERSION: "7.0.${{needs.generate-build-number.outputs.build_number}}" steps: - uses: actions/checkout@v3 with: ref: release + - uses: actions/setup-node@v2 with: node-version: 18.3.0 - + + - name: Set up QEMU + uses: docker/setup-qemu-action@v2 + + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v2 + - run: npm run prerun - run: sudo docker run --rm --privileged docker/binfmt:820fdd95a9972a5308930a2bdfb8573dd4447ad3 - # Build and deploy accounts. - - run: sudo docker login --username $DOCKERHUB_USERNAME --password $DOCKERHUB_PASSWORD - - run: sudo docker buildx create --use - - run: sudo docker buildx build --platform linux/amd64,linux/arm64 --tag oneuptime/probe:$ONEUPTIME_VERSION --tag oneuptime/probe:release --push -f ./Probe/Dockerfile . + + # Build and deploy probe. + + - name: Login to Docker Hub + uses: docker/login-action@v2.2.0 + with: + username: ${{ secrets.DOCKERHUB_USERNAME }} + password: ${{ secrets.DOCKERHUB_PASSWORD }} + + - name: Login to GitHub Container Registry + uses: docker/login-action@v2.2.0 + with: + registry: ghcr.io + username: ${{ github.repository_owner }} + password: ${{ secrets.GITHUB_TOKEN }} + + - name: Build and push + uses: docker/build-push-action@v4 + with: + file: ./Probe/Dockerfile + context: . + platforms: linux/amd64,linux/arm64 + push: true + tags: | + oneuptime/probe:$ONEUPTIME_VERSION + oneuptime/probe:release + ghcr.io/oneuptime/probe:$ONEUPTIME_VERSION + ghcr.io/oneuptime/probe:release identity-docker-image-deploy: needs: generate-build-number runs-on: ubuntu-latest env: - DOCKERHUB_PASSWORD: ${{secrets.DOCKERHUB_PASSWORD}} - DOCKERHUB_USERNAME: ${{secrets.DOCKERHUB_USERNAME}} ONEUPTIME_VERSION: "7.0.${{needs.generate-build-number.outputs.build_number}}" steps: - uses: actions/checkout@v3 with: ref: release + - uses: actions/setup-node@v2 with: node-version: 18.3.0 - + + - name: Set up QEMU + uses: docker/setup-qemu-action@v2 + + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v2 + - run: npm run prerun - run: sudo docker run --rm --privileged docker/binfmt:820fdd95a9972a5308930a2bdfb8573dd4447ad3 - # Build and deploy accounts. - - run: sudo docker login --username $DOCKERHUB_USERNAME --password $DOCKERHUB_PASSWORD - - run: sudo docker buildx create --use - - run: sudo docker buildx build --platform linux/amd64,linux/arm64 --tag oneuptime/identity:$ONEUPTIME_VERSION --tag oneuptime/identity:release --push -f ./Identity/Dockerfile . - + + # Build and deploy identity. + + - name: Login to Docker Hub + uses: docker/login-action@v2.2.0 + with: + username: ${{ secrets.DOCKERHUB_USERNAME }} + password: ${{ secrets.DOCKERHUB_PASSWORD }} + + - name: Login to GitHub Container Registry + uses: docker/login-action@v2.2.0 + with: + registry: ghcr.io + username: ${{ github.repository_owner }} + password: ${{ secrets.GITHUB_TOKEN }} + + - name: Build and push + uses: docker/build-push-action@v4 + with: + file: ./Identity/Dockerfile + context: . + platforms: linux/amd64,linux/arm64 + push: true + tags: | + oneuptime/identity:$ONEUPTIME_VERSION + oneuptime/identity:release + ghcr.io/oneuptime/identity:$ONEUPTIME_VERSION + ghcr.io/oneuptime/identity:release home-docker-image-deploy: needs: generate-build-number runs-on: ubuntu-latest env: - DOCKERHUB_PASSWORD: ${{secrets.DOCKERHUB_PASSWORD}} - DOCKERHUB_USERNAME: ${{secrets.DOCKERHUB_USERNAME}} ONEUPTIME_VERSION: "7.0.${{needs.generate-build-number.outputs.build_number}}" steps: - uses: actions/checkout@v3 with: ref: release + - uses: actions/setup-node@v2 with: node-version: 18.3.0 - + + - name: Set up QEMU + uses: docker/setup-qemu-action@v2 + + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v2 + - run: npm run prerun - run: sudo docker run --rm --privileged docker/binfmt:820fdd95a9972a5308930a2bdfb8573dd4447ad3 - # Build and deploy accounts. - - run: sudo docker login --username $DOCKERHUB_USERNAME --password $DOCKERHUB_PASSWORD - - run: sudo docker buildx create --use - - run: sudo docker buildx build --platform linux/amd64,linux/arm64 --tag oneuptime/home:$ONEUPTIME_VERSION --tag oneuptime/home:release --push -f ./Home/Dockerfile . - + + # Build and deploy home. + + - name: Login to Docker Hub + uses: docker/login-action@v2.2.0 + with: + username: ${{ secrets.DOCKERHUB_USERNAME }} + password: ${{ secrets.DOCKERHUB_PASSWORD }} + + - name: Login to GitHub Container Registry + uses: docker/login-action@v2.2.0 + with: + registry: ghcr.io + username: ${{ github.repository_owner }} + password: ${{ secrets.GITHUB_TOKEN }} + + - name: Build and push + uses: docker/build-push-action@v4 + with: + file: ./Home/Dockerfile + context: . + platforms: linux/amd64,linux/arm64 + push: true + tags: | + oneuptime/home:$ONEUPTIME_VERSION + oneuptime/home:release + ghcr.io/oneuptime/home:$ONEUPTIME_VERSION + ghcr.io/oneuptime/home:release helm-chart-docker-image-deploy: needs: generate-build-number runs-on: ubuntu-latest env: - DOCKERHUB_PASSWORD: ${{secrets.DOCKERHUB_PASSWORD}} - DOCKERHUB_USERNAME: ${{secrets.DOCKERHUB_USERNAME}} ONEUPTIME_VERSION: "7.0.${{needs.generate-build-number.outputs.build_number}}" steps: - uses: actions/checkout@v3 with: ref: release + - uses: actions/setup-node@v2 with: node-version: 18.3.0 - + + - name: Set up QEMU + uses: docker/setup-qemu-action@v2 + + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v2 + - run: npm run prerun - run: sudo docker run --rm --privileged docker/binfmt:820fdd95a9972a5308930a2bdfb8573dd4447ad3 - # Build and deploy accounts. - - run: sudo docker login --username $DOCKERHUB_USERNAME --password $DOCKERHUB_PASSWORD - - run: sudo docker buildx create --use - - run: sudo docker buildx build --platform linux/amd64,linux/arm64 --tag oneuptime/helm-chart:$ONEUPTIME_VERSION --tag oneuptime/helm-chart:release --push -f ./HelmChart/Dockerfile . - + + # Build and deploy helm-chart. + + - name: Login to Docker Hub + uses: docker/login-action@v2.2.0 + with: + username: ${{ secrets.DOCKERHUB_USERNAME }} + password: ${{ secrets.DOCKERHUB_PASSWORD }} + + - name: Login to GitHub Container Registry + uses: docker/login-action@v2.2.0 + with: + registry: ghcr.io + username: ${{ github.repository_owner }} + password: ${{ secrets.GITHUB_TOKEN }} + + - name: Build and push + uses: docker/build-push-action@v4 + with: + file: ./HelmChart/Dockerfile + context: . + platforms: linux/amd64,linux/arm64 + push: true + tags: | + oneuptime/helm-chart:$ONEUPTIME_VERSION + oneuptime/helm-chart:release + ghcr.io/oneuptime/helm-chart:$ONEUPTIME_VERSION + ghcr.io/oneuptime/helm-chart:release haraka-docker-image-deploy: needs: generate-build-number runs-on: ubuntu-latest env: - DOCKERHUB_PASSWORD: ${{secrets.DOCKERHUB_PASSWORD}} - DOCKERHUB_USERNAME: ${{secrets.DOCKERHUB_USERNAME}} ONEUPTIME_VERSION: "7.0.${{needs.generate-build-number.outputs.build_number}}" steps: - uses: actions/checkout@v3 with: ref: release + - uses: actions/setup-node@v2 with: node-version: 18.3.0 - + + - name: Set up QEMU + uses: docker/setup-qemu-action@v2 + + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v2 + - run: npm run prerun - run: sudo docker run --rm --privileged docker/binfmt:820fdd95a9972a5308930a2bdfb8573dd4447ad3 - # Build and deploy accounts. - - run: sudo docker login --username $DOCKERHUB_USERNAME --password $DOCKERHUB_PASSWORD - - run: sudo docker buildx create --use - - run: sudo docker buildx build --platform linux/amd64,linux/arm64 --tag oneuptime/haraka:$ONEUPTIME_VERSION --tag oneuptime/haraka:release --push -f ./Haraka/Dockerfile . + + # Build and deploy haraka. + + - name: Login to Docker Hub + uses: docker/login-action@v2.2.0 + with: + username: ${{ secrets.DOCKERHUB_USERNAME }} + password: ${{ secrets.DOCKERHUB_PASSWORD }} + + - name: Login to GitHub Container Registry + uses: docker/login-action@v2.2.0 + with: + registry: ghcr.io + username: ${{ github.repository_owner }} + password: ${{ secrets.GITHUB_TOKEN }} + + - name: Build and push + uses: docker/build-push-action@v4 + with: + file: ./Haraka/Dockerfile + context: . + platforms: linux/amd64,linux/arm64 + push: true + tags: | + oneuptime/haraka:$ONEUPTIME_VERSION + oneuptime/haraka:release + ghcr.io/oneuptime/haraka:$ONEUPTIME_VERSION + ghcr.io/oneuptime/haraka:release file-docker-image-deploy: needs: generate-build-number runs-on: ubuntu-latest env: - DOCKERHUB_PASSWORD: ${{secrets.DOCKERHUB_PASSWORD}} - DOCKERHUB_USERNAME: ${{secrets.DOCKERHUB_USERNAME}} ONEUPTIME_VERSION: "7.0.${{needs.generate-build-number.outputs.build_number}}" steps: - uses: actions/checkout@v3 with: ref: release + - uses: actions/setup-node@v2 with: node-version: 18.3.0 + + - name: Set up QEMU + uses: docker/setup-qemu-action@v2 + + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v2 + - run: npm run prerun - run: sudo docker run --rm --privileged docker/binfmt:820fdd95a9972a5308930a2bdfb8573dd4447ad3 - # Build and deploy file. - - run: sudo docker login --username $DOCKERHUB_USERNAME --password $DOCKERHUB_PASSWORD - - run: sudo docker buildx create --use - - run: sudo docker buildx build --platform linux/amd64,linux/arm64 --tag oneuptime/file:$ONEUPTIME_VERSION --tag oneuptime/file:release --push -f ./File/Dockerfile . - - + + # Build and deploy file. + + - name: Login to Docker Hub + uses: docker/login-action@v2.2.0 + with: + username: ${{ secrets.DOCKERHUB_USERNAME }} + password: ${{ secrets.DOCKERHUB_PASSWORD }} + + - name: Login to GitHub Container Registry + uses: docker/login-action@v2.2.0 + with: + registry: ghcr.io + username: ${{ github.repository_owner }} + password: ${{ secrets.GITHUB_TOKEN }} + + - name: Build and push + uses: docker/build-push-action@v4 + with: + file: ./File/Dockerfile + context: . + platforms: linux/amd64,linux/arm64 + push: true + tags: | + oneuptime/file:$ONEUPTIME_VERSION + oneuptime/file:release + ghcr.io/oneuptime/file:$ONEUPTIME_VERSION + ghcr.io/oneuptime/file:release dashboard-docker-image-deploy: needs: generate-build-number runs-on: ubuntu-latest env: - DOCKERHUB_PASSWORD: ${{secrets.DOCKERHUB_PASSWORD}} - DOCKERHUB_USERNAME: ${{secrets.DOCKERHUB_USERNAME}} ONEUPTIME_VERSION: "7.0.${{needs.generate-build-number.outputs.build_number}}" steps: - uses: actions/checkout@v3 with: ref: release + - uses: actions/setup-node@v2 with: node-version: 18.3.0 - + + - name: Set up QEMU + uses: docker/setup-qemu-action@v2 + + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v2 + - run: npm run prerun - run: sudo docker run --rm --privileged docker/binfmt:820fdd95a9972a5308930a2bdfb8573dd4447ad3 - # Build and deploy dashboard-api. - - run: sudo docker login --username $DOCKERHUB_USERNAME --password $DOCKERHUB_PASSWORD - - run: sudo docker buildx create --use - - run: sudo docker buildx build --platform linux/amd64,linux/arm64 --tag oneuptime/dashboard:$ONEUPTIME_VERSION --tag oneuptime/dashboard:release --push -f ./Dashboard/Dockerfile . - - + # Build and deploy dashboard. + + - name: Login to Docker Hub + uses: docker/login-action@v2.2.0 + with: + username: ${{ secrets.DOCKERHUB_USERNAME }} + password: ${{ secrets.DOCKERHUB_PASSWORD }} + + - name: Login to GitHub Container Registry + uses: docker/login-action@v2.2.0 + with: + registry: ghcr.io + username: ${{ github.repository_owner }} + password: ${{ secrets.GITHUB_TOKEN }} + + - name: Build and push + uses: docker/build-push-action@v4 + with: + file: ./Dashboard/Dockerfile + context: . + platforms: linux/amd64,linux/arm64 + push: true + tags: | + oneuptime/dashboard:$ONEUPTIME_VERSION + oneuptime/dashboard:release + ghcr.io/oneuptime/dashboard:$ONEUPTIME_VERSION + ghcr.io/oneuptime/dashboard:release dashboard-api-docker-image-deploy: needs: generate-build-number runs-on: ubuntu-latest env: - DOCKERHUB_PASSWORD: ${{secrets.DOCKERHUB_PASSWORD}} - DOCKERHUB_USERNAME: ${{secrets.DOCKERHUB_USERNAME}} ONEUPTIME_VERSION: "7.0.${{needs.generate-build-number.outputs.build_number}}" steps: - uses: actions/checkout@v3 with: ref: release + - uses: actions/setup-node@v2 with: node-version: 18.3.0 - + + - name: Set up QEMU + uses: docker/setup-qemu-action@v2 + + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v2 + - run: npm run prerun - run: sudo docker run --rm --privileged docker/binfmt:820fdd95a9972a5308930a2bdfb8573dd4447ad3 - # Build and deploy dashboard-api. - - run: sudo docker login --username $DOCKERHUB_USERNAME --password $DOCKERHUB_PASSWORD - - run: sudo docker buildx create --use - - run: sudo docker buildx build --platform linux/amd64,linux/arm64 --tag oneuptime/dashboard-api:$ONEUPTIME_VERSION --tag oneuptime/dashboard-api:release --push -f ./DashboardAPI/Dockerfile . - - + # Build and deploy dashboard-api. + + - name: Login to Docker Hub + uses: docker/login-action@v2.2.0 + with: + username: ${{ secrets.DOCKERHUB_USERNAME }} + password: ${{ secrets.DOCKERHUB_PASSWORD }} + + - name: Login to GitHub Container Registry + uses: docker/login-action@v2.2.0 + with: + registry: ghcr.io + username: ${{ github.repository_owner }} + password: ${{ secrets.GITHUB_TOKEN }} + + - name: Build and push + uses: docker/build-push-action@v4 + with: + file: ./DashboardAPI/Dockerfile + context: . + platforms: linux/amd64,linux/arm64 + push: true + tags: | + oneuptime/dashboard-api:$ONEUPTIME_VERSION + oneuptime/dashboard-api:release + ghcr.io/oneuptime/dashboard-api:$ONEUPTIME_VERSION + ghcr.io/oneuptime/dashboard-api:release api-reference-docker-image-deploy: needs: generate-build-number runs-on: ubuntu-latest env: - DOCKERHUB_PASSWORD: ${{secrets.DOCKERHUB_PASSWORD}} - DOCKERHUB_USERNAME: ${{secrets.DOCKERHUB_USERNAME}} ONEUPTIME_VERSION: "7.0.${{needs.generate-build-number.outputs.build_number}}" steps: - uses: actions/checkout@v3 with: ref: release + - uses: actions/setup-node@v2 with: node-version: 18.3.0 - + + - name: Set up QEMU + uses: docker/setup-qemu-action@v2 + + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v2 + - run: npm run prerun - run: sudo docker run --rm --privileged docker/binfmt:820fdd95a9972a5308930a2bdfb8573dd4447ad3 - # Build and deploy api-reference. - - run: sudo docker login --username $DOCKERHUB_USERNAME --password $DOCKERHUB_PASSWORD - - run: sudo docker buildx create --use - - run: sudo docker buildx build --platform linux/amd64,linux/arm64 --tag oneuptime/api-reference:$ONEUPTIME_VERSION --tag oneuptime/api-reference:release --push -f ./ApiReference/Dockerfile . - - + + # Build and deploy api-reference. + + - name: Login to Docker Hub + uses: docker/login-action@v2.2.0 + with: + username: ${{ secrets.DOCKERHUB_USERNAME }} + password: ${{ secrets.DOCKERHUB_PASSWORD }} + + - name: Login to GitHub Container Registry + uses: docker/login-action@v2.2.0 + with: + registry: ghcr.io + username: ${{ github.repository_owner }} + password: ${{ secrets.GITHUB_TOKEN }} + + - name: Build and push + uses: docker/build-push-action@v4 + with: + file: ./ApiReference/Dockerfile + context: . + platforms: linux/amd64,linux/arm64 + push: true + tags: | + oneuptime/api-reference:$ONEUPTIME_VERSION + oneuptime/api-reference:release + ghcr.io/oneuptime/api-reference:$ONEUPTIME_VERSION + ghcr.io/oneuptime/api-reference:release accounts-docker-image-deploy: needs: generate-build-number runs-on: ubuntu-latest env: - DOCKERHUB_PASSWORD: ${{secrets.DOCKERHUB_PASSWORD}} - DOCKERHUB_USERNAME: ${{secrets.DOCKERHUB_USERNAME}} ONEUPTIME_VERSION: "7.0.${{needs.generate-build-number.outputs.build_number}}" steps: - uses: actions/checkout@v3 with: ref: release + - uses: actions/setup-node@v2 with: node-version: 18.3.0 - + + - name: Set up QEMU + uses: docker/setup-qemu-action@v2 + + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v2 + - run: npm run prerun - run: sudo docker run --rm --privileged docker/binfmt:820fdd95a9972a5308930a2bdfb8573dd4447ad3 - # Build and deploy accounts. - - run: sudo docker login --username $DOCKERHUB_USERNAME --password $DOCKERHUB_PASSWORD - - run: sudo docker buildx create --use - - run: sudo docker buildx build --platform linux/amd64,linux/arm64 --tag oneuptime/accounts:$ONEUPTIME_VERSION --tag oneuptime/accounts:release --push -f ./Accounts/Dockerfile . - - + + # Build and deploy accounts. + + - name: Login to Docker Hub + uses: docker/login-action@v2.2.0 + with: + username: ${{ secrets.DOCKERHUB_USERNAME }} + password: ${{ secrets.DOCKERHUB_PASSWORD }} + + - name: Login to GitHub Container Registry + uses: docker/login-action@v2.2.0 + with: + registry: ghcr.io + username: ${{ github.repository_owner }} + password: ${{ secrets.GITHUB_TOKEN }} + + - name: Build and push + uses: docker/build-push-action@v4 + with: + file: ./Accounts/Dockerfile + context: . + platforms: linux/amd64,linux/arm64 + push: true + tags: | + oneuptime/accounts:$ONEUPTIME_VERSION + oneuptime/accounts:release + ghcr.io/oneuptime/accounts:$ONEUPTIME_VERSION + ghcr.io/oneuptime/accounts:release