infra: pocketbase release
This commit is contained in:
		
							
								
								
									
										93
									
								
								.github/workflows/pocketbase-release.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										93
									
								
								.github/workflows/pocketbase-release.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,93 @@
 | 
			
		||||
name: pocketbase-release
 | 
			
		||||
 | 
			
		||||
on:
 | 
			
		||||
  push:
 | 
			
		||||
    paths:
 | 
			
		||||
      - "others/pocketbase"
 | 
			
		||||
      - ".github/workflows/pocketbase-release.yml"
 | 
			
		||||
    branches:
 | 
			
		||||
      - next
 | 
			
		||||
 | 
			
		||||
jobs:
 | 
			
		||||
  arm64:
 | 
			
		||||
    runs-on: [self-hosted, arm64]
 | 
			
		||||
    steps:
 | 
			
		||||
      - name: Checkout
 | 
			
		||||
        uses: actions/checkout@v3
 | 
			
		||||
      - name: Set up QEMU
 | 
			
		||||
        uses: docker/setup-qemu-action@v1
 | 
			
		||||
      - name: Set up Docker Buildx
 | 
			
		||||
        uses: docker/setup-buildx-action@v1
 | 
			
		||||
      - name: Login to DockerHub
 | 
			
		||||
        uses: docker/login-action@v1
 | 
			
		||||
        with:
 | 
			
		||||
          username: ${{ secrets.DOCKERHUB_USERNAME }}
 | 
			
		||||
          password: ${{ secrets.DOCKERHUB_TOKEN }}
 | 
			
		||||
      - name: Build and push
 | 
			
		||||
        uses: docker/build-push-action@v2
 | 
			
		||||
        with:
 | 
			
		||||
          context: others/pocketbase/
 | 
			
		||||
          platforms: linux/arm64
 | 
			
		||||
          push: true
 | 
			
		||||
          tags: coollabsio/pocketbase:0.8.0-arm64
 | 
			
		||||
  amd64:
 | 
			
		||||
    runs-on: ubuntu-latest
 | 
			
		||||
    steps:
 | 
			
		||||
      - name: Checkout
 | 
			
		||||
        uses: actions/checkout@v3
 | 
			
		||||
      - name: Set up QEMU
 | 
			
		||||
        uses: docker/setup-qemu-action@v2
 | 
			
		||||
      - name: Set up Docker Buildx
 | 
			
		||||
        uses: docker/setup-buildx-action@v2
 | 
			
		||||
      - name: Login to DockerHub
 | 
			
		||||
        uses: docker/login-action@v2
 | 
			
		||||
        with:
 | 
			
		||||
          username: ${{ secrets.DOCKERHUB_USERNAME }}
 | 
			
		||||
          password: ${{ secrets.DOCKERHUB_TOKEN }}
 | 
			
		||||
      - name: Build and push
 | 
			
		||||
        uses: docker/build-push-action@v3
 | 
			
		||||
        with:
 | 
			
		||||
          context: others/pocketbase/
 | 
			
		||||
          platforms: linux/amd64
 | 
			
		||||
          push: true
 | 
			
		||||
          tags: coollabsio/pocketbase:0.8.0-amd64
 | 
			
		||||
  aarch64:
 | 
			
		||||
    runs-on: [self-hosted, arm64]
 | 
			
		||||
    steps:
 | 
			
		||||
      - name: Checkout
 | 
			
		||||
        uses: actions/checkout@v3
 | 
			
		||||
      - name: Set up QEMU
 | 
			
		||||
        uses: docker/setup-qemu-action@v1
 | 
			
		||||
      - name: Set up Docker Buildx
 | 
			
		||||
        uses: docker/setup-buildx-action@v1
 | 
			
		||||
      - name: Login to DockerHub
 | 
			
		||||
        uses: docker/login-action@v1
 | 
			
		||||
        with:
 | 
			
		||||
          username: ${{ secrets.DOCKERHUB_USERNAME }}
 | 
			
		||||
          password: ${{ secrets.DOCKERHUB_TOKEN }}
 | 
			
		||||
      - name: Build and push
 | 
			
		||||
        uses: docker/build-push-action@v2
 | 
			
		||||
        with:
 | 
			
		||||
          context: others/pocketbase/
 | 
			
		||||
          platforms: linux/aarch64
 | 
			
		||||
          push: true
 | 
			
		||||
          tags: coollabsio/pocketbase:0.8.0-aarch64
 | 
			
		||||
  merge-manifest:
 | 
			
		||||
    runs-on: ubuntu-latest
 | 
			
		||||
    needs: [amd64, arm64, aarch64]
 | 
			
		||||
    steps:
 | 
			
		||||
      - name: Checkout
 | 
			
		||||
        uses: actions/checkout@v3
 | 
			
		||||
      - name: Set up QEMU
 | 
			
		||||
        uses: docker/setup-qemu-action@v2
 | 
			
		||||
      - name: Set up Docker Buildx
 | 
			
		||||
        uses: docker/setup-buildx-action@v2
 | 
			
		||||
      - name: Login to DockerHub
 | 
			
		||||
        uses: docker/login-action@v2
 | 
			
		||||
        with:
 | 
			
		||||
          username: ${{ secrets.DOCKERHUB_USERNAME }}
 | 
			
		||||
          password: ${{ secrets.DOCKERHUB_TOKEN }}
 | 
			
		||||
      - name: Create & publish manifest
 | 
			
		||||
        run: |
 | 
			
		||||
          docker manifest create coollabsio/pocketbase:0.8.0 --amend coollabsio/pocketbase:0.8.0-amd64 --amend coollabsio/pocketbase:0.8.0-arm64 --amend coollabsio/pocketbase:0.8.0-aarch64
 | 
			
		||||
          docker manifest push coollabsio/pocketbase:0.8.0
 | 
			
		||||
							
								
								
									
										12
									
								
								others/pocketbase/Dockerfile
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										12
									
								
								others/pocketbase/Dockerfile
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,12 @@
 | 
			
		||||
FROM alpine:3.17
 | 
			
		||||
ARG BUILDARCH 
 | 
			
		||||
ARG PB_VERSION=0.8.0
 | 
			
		||||
RUN apk add --no-cache \
 | 
			
		||||
    unzip \
 | 
			
		||||
    ca-certificates
 | 
			
		||||
 | 
			
		||||
ADD https://github.com/pocketbase/pocketbase/releases/download/v${PB_VERSION}/pocketbase_${PB_VERSION}_linux_${BUILDARCH}.zip /tmp/pb.zip
 | 
			
		||||
RUN unzip /tmp/pb.zip -d /app/
 | 
			
		||||
RUN rm /tmp/pb.zip
 | 
			
		||||
EXPOSE 8080
 | 
			
		||||
CMD ["/app/pocketbase", "serve", "--http=0.0.0.0:8080"]
 | 
			
		||||
		Reference in New Issue
	
	Block a user