CI: build and publish exposed docker package

This commit is contained in:
raf 2023-10-22 00:45:54 +03:00
parent 52ea8a9f45
commit 75e24e000b
No known key found for this signature in database
GPG key ID: 02D1DD3FA08B6B29
2 changed files with 60 additions and 2 deletions

58
.github/workflows/docker.yml vendored Normal file
View file

@ -0,0 +1,58 @@
name: "Publish Docker Image"
on:
workflow_dispatch:
pull_request:
branches:
- main
tags:
- "v*"
push:
branches:
- main
tags:
- "v*"
jobs:
build-docker-image:
name: "Build Docker Image"
runs-on: ubuntu-latest
permissions:
contents: read
packages: write
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Install Nix
uses: DeterminateSystems/nix-installer-action@main
- name: Magic Nix Cache
uses: DeterminateSystems/magic-nix-cache-action@main
- name: Build Docker Image
run: nix build .#docker-nix --print-build-logs
- name: Load & Tag Built Docker Image
run: |
docker load -i result &&
docker tag neovim-flake:latest notashelf/neovim-flake:latest
- name: Log into DockerHub
uses: docker/login-action@master
with:
username: notashelf
password: ${{ secrets.DOCKER_ACCESS_TOKEN }}
- name: Push to DockerHub
run: docker push notashelf/neovim-flake:latest
- name: Log into ghcr
uses: docker/login-action@master
with:
registry: "ghcr.io"
username: "${{ github.actor }}"
password: "${{ secrets.GITHUB_TOKEN }}"
- name: Publish Docker Image (Github Packages)
run: docker push notashelf/neovim-flake:latest

View file

@ -30,13 +30,13 @@
maximal = config.legacyPackages.neovim-maximal;
default = config.legacyPackages.neovim-nix;
# Publisged docker images
# Published docker images
docker-nix = let
inherit (pkgs) bash gitFull buildEnv dockerTools;
inherit (config.legacyPackages) neovim-nix;
in
dockerTools.buildImage {
name = "neovim-flake-nix";
name = "neovim-flake";
tag = "latest";
copyToRoot = buildEnv {