version: "3" vars: APP_IMAGE: application CLI_IMAGE: cli NGINX_IMAGE: nginx tasks: build-*: desc: Build for GitHub Actions silent: true vars: TAG: '{{index .MATCH 0}}' cmds: - task docker:build-production-{{.TAG}} - mkdir -p ./{{.TAG}} - docker save ghcr.io/$GITHUB_PROJECT_NAME/{{.APP_IMAGE}}:{{.TAG}} | gzip > ./{{.TAG}}/{{.APP_IMAGE}}.tar.gz - docker save ghcr.io/$GITHUB_PROJECT_NAME/{{.CLI_IMAGE}}:{{.TAG}} | gzip > ./{{.TAG}}/{{.CLI_IMAGE}}.tar.gz - docker save ghcr.io/$GITHUB_PROJECT_NAME/{{.NGINX_IMAGE}}:{{.TAG}} | gzip > ./{{.TAG}}/{{.NGINX_IMAGE}}.tar.gz load-*: desc: Load Docker images for GitHub Actions silent: true vars: TAG: '{{index .MATCH 0}}' cmds: - gzip -dc ./{{.TAG}}/{{.APP_IMAGE}}.tar.gz | docker load && docker tag ghcr.io/$GITHUB_PROJECT_NAME/{{.APP_IMAGE}}:{{.TAG}} {{.APP_IMAGE}} - gzip -dc ./{{.TAG}}/{{.CLI_IMAGE}}.tar.gz | docker load && docker tag ghcr.io/$GITHUB_PROJECT_NAME/{{.CLI_IMAGE}}:{{.TAG}} {{.CLI_IMAGE}} - gzip -dc ./{{.TAG}}/{{.NGINX_IMAGE}}.tar.gz | docker load && docker tag ghcr.io/$GITHUB_PROJECT_NAME/{{.NGINX_IMAGE}}:{{.TAG}} {{.NGINX_IMAGE}} tag-*: desc: Tag Docker images for GitHub Actions silent: true vars: TAG: '{{index .MATCH 0}}' cmds: - docker tag {{.APP_IMAGE}} ghcr.io/$GITHUB_PROJECT_NAME/{{.APP_IMAGE}}:{{.TAG}} - docker tag {{.CLI_IMAGE}} ghcr.io/$GITHUB_PROJECT_NAME/{{.CLI_IMAGE}}:{{.TAG}} - docker tag {{.NGINX_IMAGE}} ghcr.io/$GITHUB_PROJECT_NAME/{{.NGINX_IMAGE}}:{{.TAG}} - docker tag {{.APP_IMAGE}} ghcr.io/$GITHUB_PROJECT_NAME/{{.APP_IMAGE}}:release - docker tag {{.CLI_IMAGE}} ghcr.io/$GITHUB_PROJECT_NAME/{{.CLI_IMAGE}}:release - docker tag {{.NGINX_IMAGE}} ghcr.io/$GITHUB_PROJECT_NAME/{{.NGINX_IMAGE}}:release push-*: desc: Push for GitHub Actions silent: true vars: TAG: '{{index .MATCH 0}}' cmds: - task docker:push-production-{{.TAG}} - task docker:push-production-release