aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Lu <chrislusf@users.noreply.github.com>2021-05-11 22:17:33 -0700
committerGitHub <noreply@github.com>2021-05-11 22:17:33 -0700
commit516efdddc7be66de1f54b385cd072a9f18135339 (patch)
treef04e004989246788e245501f0ee7bb037f41bf44
parent0c16e00ef925bf69110489f01e8854c0ce792293 (diff)
parent285a4667c2a0c642a902fbb870d0591b574f7a81 (diff)
downloadseaweedfs-516efdddc7be66de1f54b385cd072a9f18135339.tar.xz
seaweedfs-516efdddc7be66de1f54b385cd072a9f18135339.zip
Merge pull request #2063 from Suika/gh-container-build
Gh container build
-rw-r--r--.github/workflows/container_latest.yml114
-rw-r--r--.github/workflows/container_release.yml118
2 files changed, 232 insertions, 0 deletions
diff --git a/.github/workflows/container_latest.yml b/.github/workflows/container_latest.yml
new file mode 100644
index 000000000..e4b3c2a38
--- /dev/null
+++ b/.github/workflows/container_latest.yml
@@ -0,0 +1,114 @@
+name: Build Latest Containers
+on:
+ push:
+ branches:
+ - master
+ workflow_dispatch: []
+
+jobs:
+ build-latest:
+ runs-on: [ubuntu-latest]
+ steps:
+ -
+ name: Checkout
+ uses: actions/checkout@v2
+ -
+ name: Docker meta
+ id: docker_meta
+ uses: crazy-max/ghaction-docker-meta@v2
+ with:
+ images: |
+ chrislusf/seaweedfs
+ ghcr.io/chrislusf/seaweedfs
+ tags: |
+ type=raw,value=latest
+ labels: |
+ org.opencontainers.image.title=seaweedfs
+ org.opencontainers.image.vendor=Chris Lu
+ -
+ name: Set up QEMU
+ uses: docker/setup-qemu-action@v1
+ -
+ name: Set up Docker Buildx
+ uses: docker/setup-buildx-action@v1
+ with:
+ buildkitd-flags: "--debug"
+ -
+ name: Login to Docker Hub
+ if: github.event_name != 'pull_request'
+ uses: docker/login-action@v1
+ with:
+ username: ${{ secrets.DOCKER_USERNAME }}
+ password: ${{ secrets.DOCKER_PASSWORD }}
+ -
+ name: Login to GHCR
+ if: github.event_name != 'pull_request'
+ uses: docker/login-action@v1
+ with:
+ registry: ghcr.io
+ username: ${{ secrets.GHCR_USERNAME }}
+ password: ${{ secrets.GHCR_TOKEN }}
+ -
+ name: Build
+ uses: docker/build-push-action@v2
+ with:
+ context: ./docker
+ push: ${{ github.event_name != 'pull_request' }}
+ file: ./docker/Dockerfile
+ platforms: linux/amd64
+ tags: ${{ steps.docker_meta.outputs.tags }}
+ labels: ${{ steps.docker_meta.outputs.labels }}
+
+ build-dev:
+ runs-on: [ubuntu-latest]
+ steps:
+ -
+ name: Checkout
+ uses: actions/checkout@v2
+ -
+ name: Docker meta
+ id: docker_meta
+ uses: crazy-max/ghaction-docker-meta@v2
+ with:
+ images: |
+ chrislusf/seaweedfs
+ ghcr.io/chrislusf/seaweedfs
+ tags: |
+ type=raw,value=dev
+ labels: |
+ org.opencontainers.image.title=seaweedfs
+ org.opencontainers.image.description=SeaweedFS is a distributed storage system for blobs, objects, files, and data lake, to store and serve billions of files fast!
+ org.opencontainers.image.vendor=Chris Lu
+ -
+ name: Set up QEMU
+ uses: docker/setup-qemu-action@v1
+ -
+ name: Set up Docker Buildx
+ uses: docker/setup-buildx-action@v1
+ with:
+ buildkitd-flags: "--debug"
+ -
+ name: Login to Docker Hub
+ if: github.event_name != 'pull_request'
+ uses: docker/login-action@v1
+ with:
+ username: ${{ secrets.DOCKER_USERNAME }}
+ password: ${{ secrets.DOCKER_PASSWORD }}
+ -
+ name: Login to GHCR
+ if: github.event_name != 'pull_request'
+ uses: docker/login-action@v1
+ with:
+ registry: ghcr.io
+ username: ${{ secrets.GHCR_USERNAME }}
+ password: ${{ secrets.GHCR_TOKEN }}
+ -
+ name: Build
+ uses: docker/build-push-action@v2
+ with:
+ context: ./docker
+ push: ${{ github.event_name != 'pull_request' }}
+ file: ./docker/Dockerfile.go_build
+ platforms: linux/amd64
+ tags: ${{ steps.docker_meta.outputs.tags }}
+ labels: ${{ steps.docker_meta.outputs.labels }}
diff --git a/.github/workflows/container_release.yml b/.github/workflows/container_release.yml
new file mode 100644
index 000000000..1ade0878e
--- /dev/null
+++ b/.github/workflows/container_release.yml
@@ -0,0 +1,118 @@
+name: Build Release Containers
+on:
+ push:
+ tags:
+ - '*'
+ workflow_dispatch: []
+
+jobs:
+ build-default:
+ runs-on: [ubuntu-latest]
+ steps:
+ -
+ name: Checkout
+ uses: actions/checkout@v2
+ -
+ name: Docker meta
+ id: docker_meta
+ uses: crazy-max/ghaction-docker-meta@v2
+ with:
+ images: |
+ chrislusf/seaweedfs
+ ghcr.io/chrislusf/seaweedfs
+ tags: |
+ type=ref,event=tag
+ flavor: |
+ latest=false
+ labels: |
+ org.opencontainers.image.title=seaweedfs
+ org.opencontainers.image.description=SeaweedFS is a distributed storage system for blobs, objects, files, and data lake, to store and serve billions of files fast!
+ org.opencontainers.image.vendor=Chris Lu
+ -
+ name: Set up QEMU
+ uses: docker/setup-qemu-action@v1
+ -
+ name: Set up Docker Buildx
+ uses: docker/setup-buildx-action@v1
+ with:
+ buildkitd-flags: "--debug"
+ -
+ name: Login to Docker Hub
+ if: github.event_name != 'pull_request'
+ uses: docker/login-action@v1
+ with:
+ username: ${{ secrets.DOCKER_USERNAME }}
+ password: ${{ secrets.DOCKER_PASSWORD }}
+ -
+ name: Login to GHCR
+ if: github.event_name != 'pull_request'
+ uses: docker/login-action@v1
+ with:
+ registry: ghcr.io
+ username: ${{ secrets.GHCR_USERNAME }}
+ password: ${{ secrets.GHCR_TOKEN }}
+ -
+ name: Build
+ uses: docker/build-push-action@v2
+ with:
+ context: ./docker
+ push: ${{ github.event_name != 'pull_request' }}
+ file: ./docker/Dockerfile.go_build
+ platforms: linux/amd64
+ tags: ${{ steps.docker_meta.outputs.tags }}
+ labels: ${{ steps.docker_meta.outputs.labels }}
+ build-large:
+ runs-on: [ubuntu-latest]
+ steps:
+ -
+ name: Checkout
+ uses: actions/checkout@v2
+ -
+ name: Docker meta
+ id: docker_meta
+ uses: crazy-max/ghaction-docker-meta@v2
+ with:
+ images: |
+ chrislusf/seaweedfs
+ ghcr.io/chrislusf/seaweedfs
+ tags: |
+ type=ref,event=tag,suffix=_large_disk
+ flavor: |
+ latest=false
+ labels: |
+ org.opencontainers.image.title=seaweedfs
+ org.opencontainers.image.description=SeaweedFS is a distributed storage system for blobs, objects, files, and data lake, to store and serve billions of files fast!
+ org.opencontainers.image.vendor=Chris Lu
+ -
+ name: Set up QEMU
+ uses: docker/setup-qemu-action@v1
+ -
+ name: Set up Docker Buildx
+ uses: docker/setup-buildx-action@v1
+ with:
+ buildkitd-flags: "--debug"
+ -
+ name: Login to Docker Hub
+ if: github.event_name != 'pull_request'
+ uses: docker/login-action@v1
+ with:
+ username: ${{ secrets.DOCKER_USERNAME }}
+ password: ${{ secrets.DOCKER_PASSWORD }}
+ -
+ name: Login to GHCR
+ if: github.event_name != 'pull_request'
+ uses: docker/login-action@v1
+ with:
+ registry: ghcr.io
+ username: ${{ secrets.GHCR_USERNAME }}
+ password: ${{ secrets.GHCR_TOKEN }}
+ -
+ name: Build
+ uses: docker/build-push-action@v2
+ with:
+ context: ./docker
+ push: ${{ github.event_name != 'pull_request' }}
+ file: ./docker/Dockerfile.go_build_large
+ platforms: linux/amd64
+ tags: ${{ steps.docker_meta.outputs.tags }}
+ labels: ${{ steps.docker_meta.outputs.labels }}