kind: pipeline name: tests/release steps: - name: rust tests image: "rust:1" pull: always commands: - cargo test --all --all-features 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