Skip to content

Rewamp Docker file for home archiving #978

Rewamp Docker file for home archiving

Rewamp Docker file for home archiving #978

Workflow file for this run

---
name: Docker Image
on:
pull_request:
paths:
- .github/workflows/docker.yml
# We use local reusable workflows to make architecture clean an simple
# https://docs.github.com/en/actions/using-workflows/reusing-workflows
- .github/workflows/docker-build-test-upload.yml
- .github/workflows/docker-merge-tags.yml
- .github/workflows/docker-push.yml
# We use local composite actions to combine multiple workflow steps within one action
# https://docs.github.com/en/actions/creating-actions/about-custom-actions#composite-actions
- .github/actions/create-dev-env/action.yml
- .github/actions/load-image/action.yml
- src/**
- docker/**
- qe.ipynb
- setup.cfg
- pyproject.toml
push:
branches:
- main
tags:
- v*
paths:
- .github/workflows/docker.yml
# We use local reusable workflows to make architecture clean an simple
# https://docs.github.com/en/actions/using-workflows/reusing-workflows
- .github/workflows/docker-build-test-upload.yml
- .github/workflows/docker-merge-tags.yml
- .github/workflows/docker-push.yml
# We use local composite actions to combine multiple workflow steps within one action
# https://docs.github.com/en/actions/creating-actions/about-custom-actions#composite-actions
- .github/actions/create-dev-env/action.yml
- .github/actions/load-image/action.yml
- src/**
- docker/**
- qe.ipynb
- setup.cfg
- pyproject.toml
workflow_dispatch:
schedule:
# Periodically build and test the image and keep `edge` always up-to-date
# Weekly, at 03:00 on Monday UTC time
- cron: 0 3 * * 1
# https://docs.github.com/en/actions/using-jobs/using-concurrency
concurrency:
# only cancel in-progress jobs or runs for the current workflow - matches against branch & tags
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
amd64:
uses: ./.github/workflows/docker-build-test-upload.yml
with:
image: qe
architecture: amd64
runsOn: ubuntu-latest
arm64:
uses: ./.github/workflows/docker-build-test-upload.yml
with:
image: qe
architecture: arm64
runsOn: ARM64
if: ${{ !github.event.pull_request.head.repo.fork }}
amd64-push-ghcr:
uses: ./.github/workflows/docker-push.yml
with:
image: qe
architecture: amd64
registry: ghcr.io
secrets:
REGISTRY_USERNAME: ${{ github.actor }}
REGISTRY_TOKEN: ${{ secrets.GITHUB_TOKEN }}
needs: [amd64]
if: ${{ !github.event.pull_request.head.repo.fork }}
arm64-push-ghcr:
uses: ./.github/workflows/docker-push.yml
with:
image: qe
architecture: arm64
registry: ghcr.io
secrets:
REGISTRY_USERNAME: ${{ github.actor }}
REGISTRY_TOKEN: ${{ secrets.GITHUB_TOKEN }}
needs: [arm64]
if: ${{ !github.event.pull_request.head.repo.fork }}
merge-tags-ghcr:
uses: ./.github/workflows/docker-merge-tags.yml
with:
image: qe
registry: ghcr.io
secrets:
REGISTRY_USERNAME: ${{ github.actor }}
REGISTRY_TOKEN: ${{ secrets.GITHUB_TOKEN }}
needs: [amd64-push-ghcr, arm64-push-ghcr]
if: ${{ !github.event.pull_request.head.repo.fork }}
amd64-push-dockerhub:
if: github.repository == 'aiidalab/aiidalab-qe' && (github.ref == 'refs/heads/main' || startsWith(github.ref, 'refs/tags/v'))
uses: ./.github/workflows/docker-push.yml
with:
image: qe
architecture: amd64
registry: docker.io
secrets:
REGISTRY_USERNAME: ${{ secrets.DOCKER_USERNAME }}
REGISTRY_TOKEN: ${{ secrets.DOCKER_PASSWORD }}
needs: [amd64]
arm64-push-dockerhub:
if: github.repository == 'aiidalab/aiidalab-qe' && (github.ref == 'refs/heads/main' || startsWith(github.ref, 'refs/tags/v'))
uses: ./.github/workflows/docker-push.yml
with:
image: qe
architecture: arm64
registry: docker.io
secrets:
REGISTRY_USERNAME: ${{ secrets.DOCKER_USERNAME }}
REGISTRY_TOKEN: ${{ secrets.DOCKER_PASSWORD }}
needs: [arm64]
merge-tags-dockerhub:
if: github.repository == 'aiidalab/aiidalab-qe' && (github.ref == 'refs/heads/main' || startsWith(github.ref, 'refs/tags/v'))
uses: ./.github/workflows/docker-merge-tags.yml
with:
image: qe
registry: docker.io
secrets:
REGISTRY_USERNAME: ${{ secrets.DOCKER_USERNAME }}
REGISTRY_TOKEN: ${{ secrets.DOCKER_PASSWORD }}
needs: [amd64-push-dockerhub, arm64-push-dockerhub]