name: Docker for Data Migrations on: workflow_dispatch: push: tags: - "v*" env: REGISTRY: ghcr.io IMAGE_NAME: formbricks/data-migrations DATABASE_URL: "postgresql://postgres:postgres@postgres:5432/formbricks?schema=public" jobs: build-and-push: runs-on: ubuntu-latest permissions: contents: read packages: write id-token: write steps: - name: Checkout repository uses: actions/checkout@v3 - name: Install cosign if: github.event_name != 'pull_request' uses: sigstore/cosign-installer@v3.5.0 - name: Log in to GitHub Container Registry uses: docker/login-action@v3 with: registry: ${{ env.REGISTRY }} username: ${{ github.actor }} password: ${{ secrets.GITHUB_TOKEN }} - name: Extract Docker metadata id: meta uses: docker/metadata-action@v5 with: images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} tags: | type=ref,event=tag type=raw,value=${{ github.ref_name }} type=raw,value=latest - name: Build and push Docker image uses: docker/build-push-action@v3 with: context: . file: ./packages/database/Dockerfile push: true tags: ${{ steps.meta.outputs.tags }} labels: ${{ steps.meta.outputs.labels }} build-args: | DATABASE_URL=${{ env.DATABASE_URL }} - name: Sign the published Docker image if: ${{ github.event_name != 'pull_request' }} run: | cosign sign --yes ghcr.io/${{ env.IMAGE_NAME }}:${{ github.ref_name }} cosign sign --yes ghcr.io/${{ env.IMAGE_NAME }}:latest