build: added git tasks to Makefile

This commit is contained in:
Andrew Rioux 2023-05-07 00:39:22 -04:00
parent 52e458296c
commit 813dc104e8
Signed by: andrew.rioux
GPG Key ID: 9B8BAC47C17ABB94
5 changed files with 49 additions and 16 deletions

View File

@ -20,7 +20,9 @@ ARG USERNAME=vscode
ENV DEBIAN_FRONTEND=noninteractive \ ENV DEBIAN_FRONTEND=noninteractive \
RUSTUP_HOME=/usr/local/rustup \ RUSTUP_HOME=/usr/local/rustup \
CARGO_HOME=/usr/local/cargo \ CARGO_HOME=/usr/local/cargo \
PATH=/usr/local/cargo/bin:$PATH:/home/vscode/.cargo/bin PATH=/usr/local/cargo/bin:$PATH:/home/vscode/.cargo/bin \
EDITOR='code -w' \
VISUAL='code -w'
RUN apt-get update && \ RUN apt-get update && \
apt install -y cmake git libtool valgrind docker-compose lldb sudo zsh wget && \ apt install -y cmake git libtool valgrind docker-compose lldb sudo zsh wget && \

View File

@ -7,15 +7,46 @@ skip_core_tasks = true
[tasks.default] [tasks.default]
dependencies = ["build"] dependencies = ["build"]
[tasks.check]
workspace = false
command = "docker-compose"
args = ["run", "build", "check", "${@}"]
[tasks.build] [tasks.build]
workspace = false workspace = false
command = "docker-compose" command = "docker-compose"
args = ["run", "build", "${@}"] args = ["run", "build", "build", "${@}"]
[tasks.fmt] [tasks.fmt]
command = "cargo" command = "cargo"
args = ["fmt"] args = ["fmt"]
[tasks.test]
workspace = false
command = "docker-compose"
args = ["run", "build", "test", "${@}"]
#-----------------------
#
# Git tasks
#
#-----------------------
[tasks.git-pre-commit]
workspace = false
dependencies = ["build", "test", "fmt"]
[tasks.git-add]
workspace = false
command = "git"
args = ["add", "."]
[tasks.git-commit]
workspace = false
command = "convco"
args = ["commit", "-i"]
dependencies = ["git-pre-commit", "git-add"]
#--------------------------------- #---------------------------------
# #
# Project setup tasks # Project setup tasks
@ -24,13 +55,13 @@ args = ["fmt"]
[tasks.setup] [tasks.setup]
workspace = false workspace = false
dependencies = ["pull-rust-image", "update-submodules"] dependencies = ["setup-pull-rust-image", "setup-update-submodules"]
[tasks.pull-rust-image] [tasks.setup-pull-rust-image]
workspace = false workspace = false
script = "docker pull rust:1-alpine" script = "docker pull rust:1-alpine"
[tasks.update-submodules] [tasks.setup-update-submodules]
workspace = false workspace = false
script = "git submodule update --init" script = "git submodule update --init"
@ -42,8 +73,8 @@ script = "git submodule update --init"
[tasks.ci] [tasks.ci]
workspace = false workspace = false
dependencies = ["setup", "build"] dependencies = ["setup", "build", "ci-convco-check"]
[tasks.convco-check] [tasks.ci-convco-check]
command = "convco" command = "convco"
args = ["check"] args = ["check"]

View File

@ -8,7 +8,7 @@ services:
- ${CARGO_HOME}/registry:${CARGO_HOME}/registry - ${CARGO_HOME}/registry:${CARGO_HOME}/registry
- ${PWD}:/sparse - ${PWD}:/sparse
working_dir: /sparse working_dir: /sparse
entrypoint: "/usr/local/cargo/bin/cargo build" entrypoint: /usr/local/cargo/bin/cargo
tty: true tty: true
examples_bindshell_target: examples_bindshell_target:

View File

@ -1,15 +1,15 @@
// Copyright (C) 2023 Andrew Rioux // Copyright (C) 2023 Andrew Rioux
// //
// This program is free software: you can redistribute it and/or modify // This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as // it under the terms of the GNU Affero General Public License as
// published by the Free Software Foundation, either version 3 of the // published by the Free Software Foundation, either version 3 of the
// License, or (at your option) any later version. // License, or (at your option) any later version.
// //
// This program is distributed in the hope that it will be useful, // This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of // but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU Affero General Public License for more details. // GNU Affero General Public License for more details.
// //
// You should have received a copy of the GNU Affero General Public License // You should have received a copy of the GNU Affero General Public License
// along with this program. If not, see <http://www.gnu.org/licenses/>. // along with this program. If not, see <http://www.gnu.org/licenses/>.
@ -28,4 +28,4 @@ fn main() -> io::Result<()> {
fs::write(path.join("pubkey"), keypair.public)?; fs::write(path.join("pubkey"), keypair.public)?;
Ok(()) Ok(())
} }

View File

@ -1,17 +1,17 @@
// Copyright (C) 2023 Andrew Rioux // Copyright (C) 2023 Andrew Rioux
// //
// This program is free software: you can redistribute it and/or modify // This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as // it under the terms of the GNU Affero General Public License as
// published by the Free Software Foundation, either version 3 of the // published by the Free Software Foundation, either version 3 of the
// License, or (at your option) any later version. // License, or (at your option) any later version.
// //
// This program is distributed in the hope that it will be useful, // This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of // but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU Affero General Public License for more details. // GNU Affero General Public License for more details.
// //
// You should have received a copy of the GNU Affero General Public License // You should have received a copy of the GNU Affero General Public License
// along with this program. If not, see <http://www.gnu.org/licenses/>. // along with this program. If not, see <http://www.gnu.org/licenses/>.
pub const PUBKEY: &[u8] = include_bytes!(concat!(env!("OUT_DIR"), "/pubkey")); pub const PUBKEY: &[u8] = include_bytes!(concat!(env!("OUT_DIR"), "/pubkey"));
pub const PRIVKEY: &[u8] = include_bytes!(concat!(env!("OUT_DIR"), "/pubkey")); pub const PRIVKEY: &[u8] = include_bytes!(concat!(env!("OUT_DIR"), "/pubkey"));