diff --git a/.forgejo/workflows/docker-build.yml b/.forgejo/workflows/docker-build.yml new file mode 100644 index 0000000..2078e3b --- /dev/null +++ b/.forgejo/workflows/docker-build.yml @@ -0,0 +1,60 @@ +name: Docker Build + +on: + push: + branches: + - "main" + tags: + - "*" + workflow_dispatch: + +jobs: + publish_api: + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v2 + + - name: Install Docker + run: |- + install -m 0755 -d /etc/apt/keyrings + curl -fsSL https://download.docker.com/linux/debian/gpg | gpg --dearmor -o /etc/apt/keyrings/docker.gpg + chmod a+r /etc/apt/keyrings/docker.gpg + echo \ + "deb [arch="$(dpkg --print-architecture)" signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/debian \ + "$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" > /etc/apt/sources.list.d/docker.list + apt-get -qq update + DEBIAN_FRONTEND=noninteractive apt-get install --no-install-recommends -qq -y docker-ce-cli docker-buildx-plugin docker-compose-plugin + + - name: Docker meta + id: meta + uses: actions/docker-metadata-action@v4 + with: + # list of Docker images to use as base name for tags + images: git.amogus.cloud/lea/maddy-admin + # generate Docker tags based on branch and short commit SHA + tags: | + type=ref,event=branch + type=sha + + - name: Set up QEMU + uses: actions/docker-setup-qemu-action@v2 + + - name: Set up Docker Buildx + uses: actions/docker-setup-buildx-action@v2 + + - name: Login to registry + uses: actions/docker-login-action@v2 + with: + registry: git.amogus.cloud + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + + - name: Build and push + uses: actions/docker-build-push-action@v5 + with: + context: . + platforms: linux/amd64,linux/arm64 + push: ${{ github.event_name != 'pull_request' }} + tags: ${{ steps.meta.outputs.tags }} + labels: ${{ steps.meta.outputs.labels }} \ No newline at end of file