$: vscode: - services: - docker docker: build: dockerfile: .ide/Dockerfile push: - runner: tags: cnb:arch:amd64 services: - docker imports: https://cnb.cool/btpanel/secret/-/blob/main/docker.yml env: IMAGE_TAG: btpanel/baota:latest-linux-amd64 stages: - name: docker login script: docker login -u "$DOCKER_USERNAME" -p "$DOCKER_PASSWD" - name: docker build script: docker build -t ${IMAGE_TAG} . - name: docker push script: docker push ${IMAGE_TAG} - name: resolve type: cnb:resolve options: key: build-amd64 - runner: tags: cnb:arch:arm64:v8 services: - docker imports: https://cnb.cool/btpanel/secret/-/blob/main/docker.yml env: IMAGE_TAG: btpanel/baota:latest-linux-arm64 stages: - name: docker login script: docker login -u "$DOCKER_USERNAME" -p "$DOCKER_PASSWD" - name: docker build script: docker build -t ${IMAGE_TAG} . - name: docker push script: docker push ${IMAGE_TAG} - name: resolve type: cnb:resolve options: key: build-arm64 - services: - docker imports: https://cnb.cool/btpanel/secret/-/blob/main/docker.yml env: IMAGE_TAG: btpanel/baota:latest stages: - name: await the amd64 type: cnb:await options: key: build-amd64 - name: await the arm64 type: cnb:await options: key: build-arm64 - name: manifest image: cnbcool/manifest settings: username: $DOCKER_USERNAME password: $DOCKER_PASSWD target: ${IMAGE_TAG} template: ${IMAGE_TAG}-OS-ARCH platforms: - linux/amd64 - linux/arm64 - name: clear image: lumir/remove-dockerhub-tag args: - --user - $DOCKER_USERNAME - --password - $DOCKER_PASSWD - ${IMAGE_TAG}-linux-amd64 - ${IMAGE_TAG}-linux-arm64 - runner: tags: cnb:arch:amd64 services: - docker env: IMAGE_TAG: ${CNB_DOCKER_REGISTRY}/${CNB_REPO_SLUG_LOWERCASE}:latest-linux-amd64 stages: - name: docker login script: docker login -u ${CNB_TOKEN_USER_NAME} -p "${CNB_TOKEN}" ${CNB_DOCKER_REGISTRY} - name: docker build script: docker build -t ${IMAGE_TAG} . - name: docker push script: docker push ${IMAGE_TAG} - name: resolve type: cnb:resolve options: key: cnb-build-amd64 - runner: tags: cnb:arch:arm64:v8 services: - docker env: IMAGE_TAG: ${CNB_DOCKER_REGISTRY}/${CNB_REPO_SLUG_LOWERCASE}:latest-linux-arm64 stages: - name: docker login script: docker login -u ${CNB_TOKEN_USER_NAME} -p "${CNB_TOKEN}" ${CNB_DOCKER_REGISTRY} - name: docker build script: docker build -t ${IMAGE_TAG} . - name: docker push script: docker push ${IMAGE_TAG} - name: resolve type: cnb:resolve options: key: cnb-build-arm64 - runner: tags: cnb:arch:amd64 cpus: 2 services: - docker env: IMAGE_TAG: ${CNB_DOCKER_REGISTRY}/${CNB_REPO_SLUG_LOWERCASE}:latest stages: - name: await the amd64 type: cnb:await options: key: cnb-build-amd64 - name: await the arm64 type: cnb:await options: key: cnb-build-arm64 - name: manifest image: cnbcool/manifest settings: username: $CNB_TOKEN_USER_NAME password: $CNB_TOKEN target: ${IMAGE_TAG} template: ${IMAGE_TAG}-OS-ARCH platforms: - linux/amd64 - linux/arm64 - name: remove tag type: artifact:remove-tag options: name: ${CNB_REPO_NAME} tags: - latest-linux-amd64 - latest-linux-arm64 type: docker