name: Build and Push Docker Image on: push: branches: [master] workflow_dispatch: permissions: contents: read actions: write jobs: build-and-push: name: Build & Push Docker Image runs-on: ubuntu-latest steps: - name: Checkout code uses: actions/checkout@v4 - name: Generate image metadata id: meta run: | VERSION=$(cat deb/PACKAGE | grep -oP '\d+\.\d+\.\d+' | head -1 || echo "unknown") SHORT_SHA=$(echo "${{ github.sha }}" | cut -c1-7) echo "tag=${VERSION}-${SHORT_SHA}" >> $GITHUB_OUTPUT echo "Image will be tagged: ${VERSION}-${SHORT_SHA}" - name: Set up Docker Buildx uses: docker/setup-buildx-action@v3 - name: Login to registry run: | echo "${{ secrets.REGISTRY_PASSWORD }}" | docker login registry.johnogle.info -u ${{ secrets.REGISTRY_USERNAME }} --password-stdin - name: Build and push (deb) uses: docker/build-push-action@v5 with: context: ./deb push: true tags: | registry.johnogle.info/protonmail-bridge:${{ steps.meta.outputs.tag }} registry.johnogle.info/protonmail-bridge:latest platforms: linux/amd64