mirror of
https://codeberg.org/spire/dispenser.git
synced 2026-06-03 10:04:07 +02:00
docker images from nix
This commit is contained in:
parent
03921375be
commit
00eda34573
3 changed files with 29 additions and 33 deletions
27
.github/workflows/docker.yaml
vendored
27
.github/workflows/docker.yaml
vendored
|
|
@ -1,27 +0,0 @@
|
|||
name: docker-build
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- 'main'
|
||||
- 'master'
|
||||
|
||||
jobs:
|
||||
docker:
|
||||
runs-on: ubuntu-20.04
|
||||
steps:
|
||||
- name: Set up Docker Buildx
|
||||
uses: docker/setup-buildx-action@v1
|
||||
- name: Login to DockerHub
|
||||
uses: docker/login-action@v1
|
||||
with:
|
||||
username: ${{ secrets.DOCKERHUB_USERNAME }}
|
||||
password: ${{ secrets.DOCKERHUB_TOKEN }}
|
||||
- name: Build and push
|
||||
id: docker_build
|
||||
uses: docker/build-push-action@v2
|
||||
with:
|
||||
push: true
|
||||
tags: spiretf/dispenser:latest
|
||||
- name: Image digest
|
||||
run: echo ${{ steps.docker_build.outputs.digest }}
|
||||
17
.github/workflows/rust.yml
vendored
17
.github/workflows/rust.yml
vendored
|
|
@ -40,3 +40,20 @@ jobs:
|
|||
with:
|
||||
name: palantir-${{ matrix.target }}
|
||||
path: result/bin/*
|
||||
|
||||
docker:
|
||||
runs-on: ubuntu-latest
|
||||
needs: build
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- uses: cachix/install-nix-action@v20
|
||||
- uses: icewind1991/attic-action@v1
|
||||
with:
|
||||
name: ci
|
||||
instance: https://cache.icewind.me
|
||||
authToken: '${{ secrets.ATTIC_TOKEN }}'
|
||||
- run: nix build .#dockerImage
|
||||
- name: Push image
|
||||
if: github.ref == 'refs/heads/main'
|
||||
run: |
|
||||
skopeo copy --dest-creds="${{ secrets.DOCKERHUB_USERNAME }}:${{ secrets.DOCKERHUB_TOKEN }}" "docker-archive:$(nix build .#dockerImage --print-out-paths)" "docker://icewind1991/dispenser"
|
||||
18
flake.nix
18
flake.nix
|
|
@ -33,19 +33,25 @@
|
|||
packages = (nixpkgs.lib.attrsets.genAttrs targets (target: (naerskForTarget target).buildPackage {
|
||||
pname = "dispenser";
|
||||
root = ./.;
|
||||
})) // {
|
||||
})) // rec {
|
||||
dispenser = (naerskForTarget hostTarget).buildPackage {
|
||||
pname = "dispenser";
|
||||
root = ./.;
|
||||
};
|
||||
dockerImage = pkgs.dockerTools.buildImage {
|
||||
name = "spiretf/dispenser";
|
||||
tag = "latest";
|
||||
copyToRoot = [dispenser];
|
||||
config = {
|
||||
Cmd = [ "${dispenser}/bin/dispenser" "/config.toml"];
|
||||
};
|
||||
};
|
||||
default = dispenser;
|
||||
};
|
||||
defaultPackage = packages.dispenser;
|
||||
|
||||
# `nix develop`
|
||||
devShell = pkgs.mkShell {
|
||||
nativeBuildInputs = with pkgs; [pkgs.rust-bin.stable.latest.default bacon];
|
||||
devShells.default = pkgs.mkShell {
|
||||
nativeBuildInputs = with pkgs; [rust-bin.stable.latest.default bacon skopeo];
|
||||
};
|
||||
devShells.default = devShell;
|
||||
})
|
||||
// {
|
||||
nixosModule = {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue