name: Docker Image on: push: paths-ignore: - README.md - .gitignore pull_request: paths-ignore: - README.md - .gitignore jobs: push: strategy: matrix: image: [ { dockerfile: 'Dockerfile', tag: 'neovim' }, { dockerfile: 'Dockerfile.tex', tag: 'neovim-tex' }, ] runs-on: ubuntu-latest permissions: packages: write contents: read steps: - name: Log in to registry uses: docker/login-action@v3 with: registry: ghcr.io username: ${{ github.repository_owner }} password: ${{ secrets.GITHUB_TOKEN }} - name: Set up Docker Buildx uses: docker/setup-buildx-action@v3 - name: Build image uses: docker/build-push-action@v6 with: file: ${{ matrix.image.dockerfile }} cache-from: type=gha cache-to: type=gha,mode=max load: true tags: | ghcr.io/${{ github.repository_owner }}/${{ matrix.image.tag }}:latest - name: Push image run: docker push ghcr.io/${{ github.repository_owner }}/${{ matrix.image.tag }}:latest - name: Delete previous releases uses: actions/delete-package-versions@v5 with: package-name: ${{ matrix.image.tag }} package-type: 'container' min-versions-to-keep: 0 delete-only-untagged-versions: 'true'