diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml index 241bbbab..5a032c05 100644 --- a/.github/workflows/docker.yml +++ b/.github/workflows/docker.yml @@ -27,6 +27,8 @@ on: push: branches: - main + tags: + - "v*" paths: - ".github/workflows/docker.yml" # We use local reusable workflows to make architecture clean an simple @@ -165,14 +167,14 @@ jobs: uses: ./.github/workflows/docker-push.yml strategy: matrix: - image: ["base", "base-with-services"] + image: ["base", "base-with-services", "lab", "full-stack"] with: architecture: amd64 image: ${{ matrix.image }} registry: docker.io secrets: - REGISTRY_USERNAME: ${{ secrets.DOCKERHUB_USERNAME }} - REGISTRY_TOKEN: ${{ secrets.DOCKERHUB_TOKEN }} + REGISTRY_USERNAME: ${{ secrets.DOCKER_USERNAME }} + REGISTRY_TOKEN: ${{ secrets.DOCKER_PASSWORD }} needs: [amd64-base, amd64-base-with-services, amd64-lab, amd64-full-stack] arm64-push-dockerhub: @@ -186,8 +188,8 @@ jobs: image: ${{ matrix.image }} registry: docker.io secrets: - REGISTRY_USERNAME: ${{ secrets.DOCKERHUB_USERNAME }} - REGISTRY_TOKEN: ${{ secrets.DOCKERHUB_TOKEN }} + REGISTRY_USERNAME: ${{ secrets.DOCKER_USERNAME }} + REGISTRY_TOKEN: ${{ secrets.DOCKER_PASSWORD }} needs: [arm64-base, arm64-base-with-services, arm64-lab, arm64-full-stack] merge-tags-dockerhub: @@ -200,6 +202,18 @@ jobs: image: ${{ matrix.image }} registry: docker.io secrets: - REGISTRY_USERNAME: ${{ secrets.DOCKERHUB_USERNAME }} - REGISTRY_TOKEN: ${{ secrets.DOCKERHUB_TOKEN }} + REGISTRY_USERNAME: ${{ secrets.DOCKER_USERNAME }} + REGISTRY_TOKEN: ${{ secrets.DOCKER_PASSWORD }} needs: [amd64-push-dockerhub, arm64-push-dockerhub] + + release: + runs-on: ubuntu-latest + needs: [merge-tags-ghcr, merge-tags-dockerhub] + steps: + - uses: actions/checkout@v3 + + - name: Create release + uses: softprops/action-gh-release@v1 + with: + generate_release_notes: true + if: github.repository == 'aiidalab/aiidalab-docker-stack' && (github.ref == 'refs/heads/main' || startsWith(github.ref, 'refs/tags/v')) diff --git a/docker-bake.hcl b/docker-bake.hcl index aa60c2dc..f4aa2431 100644 --- a/docker-bake.hcl +++ b/docker-bake.hcl @@ -33,11 +33,6 @@ variable "PLATFORMS" { default = ["linux/amd64"] } -function "arch2platform" { - params = [arch] - result = "linux/${arch}" -} - variable "TARGETS" { default = ["base", "base-with-services", "lab", "full-stack"] } diff --git a/stack/base-with-services/Dockerfile b/stack/base-with-services/Dockerfile index 36a8a98d..1a987e63 100644 --- a/stack/base-with-services/Dockerfile +++ b/stack/base-with-services/Dockerfile @@ -1,7 +1,5 @@ # syntax=docker/dockerfile:1 -ARG OWNER=aiidalab -ARG BASE_CONTAINER=$OWNER/base -FROM $BASE_CONTAINER +FROM base LABEL maintainer="AiiDAlab Team " diff --git a/stack/full-stack/Dockerfile b/stack/full-stack/Dockerfile index 300a2cb6..2a39b0ec 100644 --- a/stack/full-stack/Dockerfile +++ b/stack/full-stack/Dockerfile @@ -1,8 +1,7 @@ # syntax=docker/dockerfile:1 -ARG OWNER=aiidalab -FROM $OWNER/base-with-services as base +FROM base-with-services as base -FROM $OWNER/lab +FROM lab USER root diff --git a/stack/lab/Dockerfile b/stack/lab/Dockerfile index 41a29fdb..6c846483 100644 --- a/stack/lab/Dockerfile +++ b/stack/lab/Dockerfile @@ -1,7 +1,5 @@ # syntax=docker/dockerfile:1 -ARG OWNER=aiidalab -ARG BASE_CONTAINER=$OWNER/base -FROM $BASE_CONTAINER +FROM base LABEL maintainer="AiiDAlab Team "