automate all the things
This commit is contained in:
parent
5c7188a2bf
commit
a9d7c9b3be
81
.drone.yml
81
.drone.yml
|
@ -10,3 +10,84 @@ steps:
|
|||
when:
|
||||
event:
|
||||
- push
|
||||
|
||||
- name: auto-release
|
||||
image: xena/gitea-release
|
||||
pull: always
|
||||
settings:
|
||||
auth_username: cadey
|
||||
gitea_server: https://tulpa.dev
|
||||
gitea_token:
|
||||
from_secret: GITEA_TOKEN
|
||||
when:
|
||||
event:
|
||||
- push
|
||||
branch:
|
||||
- master
|
||||
|
||||
---
|
||||
|
||||
kind: pipeline
|
||||
name: cargo publish
|
||||
steps:
|
||||
- name: publish maj
|
||||
image: rust:1
|
||||
commands:
|
||||
- cargo login $CARGO_TOKEN
|
||||
- "cargo publish ||:"
|
||||
environment:
|
||||
CARGO_TOKEN:
|
||||
from_secret: CARGO_TOKEN
|
||||
when:
|
||||
event:
|
||||
- tag
|
||||
|
||||
---
|
||||
|
||||
kind: pipeline
|
||||
name: docker
|
||||
steps:
|
||||
- name: build docker image
|
||||
image: "monacoremo/nix:2020-04-05-05f09348-circleci"
|
||||
environment:
|
||||
USER: root
|
||||
commands:
|
||||
- true # cachix use xe
|
||||
- nix-build -A majsite docker.nix
|
||||
- cp $(readlink result) /result/site.tgz
|
||||
- nix-build -A majc docker.nix
|
||||
- cp $(readlink result) /result/majc.tgz
|
||||
volumes:
|
||||
- name: image
|
||||
path: /result
|
||||
when:
|
||||
event:
|
||||
- tag
|
||||
|
||||
- name: push docker image
|
||||
image: docker:dind
|
||||
volumes:
|
||||
- name: image
|
||||
path: /result
|
||||
- name: dockersock
|
||||
path: /var/run/docker.sock
|
||||
commands:
|
||||
- docker load -i /result/site.tgz
|
||||
- docker load -i /result/majc.tgz
|
||||
- echo $DOCKER_PASSWORD | docker login -u $DOCKER_USERNAME --password-stdin
|
||||
- docker push xena/majsite
|
||||
- docker push xena/majc
|
||||
environment:
|
||||
DOCKER_USERNAME: xena
|
||||
DOCKER_PASSWORD:
|
||||
from_secret: DOCKER_PASSWORD
|
||||
when:
|
||||
event:
|
||||
- tag
|
||||
|
||||
volumes:
|
||||
- name: image
|
||||
temp: {}
|
||||
- name: dockersock
|
||||
host:
|
||||
path: /var/run/docker.sock
|
||||
|
|
|
@ -0,0 +1,24 @@
|
|||
{ system ? builtins.currentSystem }:
|
||||
|
||||
let
|
||||
pkgs = import <nixpkgs> { };
|
||||
callPackage = pkgs.lib.callPackageWith pkgs;
|
||||
crates = callPackage ./default.nix { };
|
||||
|
||||
dockerImage = pkg:
|
||||
pkgs.dockerTools.buildLayeredImage {
|
||||
name = "xena/${pkg.name}";
|
||||
tag = "latest";
|
||||
|
||||
contents = [ pkg ];
|
||||
|
||||
config = {
|
||||
Cmd = [ "/bin/${pkg.name}" ];
|
||||
WorkingDir = "/";
|
||||
};
|
||||
};
|
||||
|
||||
in {
|
||||
majc = dockerImage crates.majc;
|
||||
majsite = dockerImage crates.majsite;
|
||||
}
|
Loading…
Reference in New Issue