summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormo khan <mo@mokhan.ca>2025-07-10 15:20:48 -0600
committermo khan <mo@mokhan.ca>2025-07-10 15:20:48 -0600
commita6da9d3ad69cc996947d533c413bd43f489a7bd6 (patch)
treef340ba855184f749cd4df3f31780679c9c6e7931
parent88d397e9c9a68d597074baa050c104399f192b6c (diff)
chore: update makefile to add targets for building binaries and checking env
-rw-r--r--Makefile37
1 files changed, 26 insertions, 11 deletions
diff --git a/Makefile b/Makefile
index 83392788..deaff94c 100644
--- a/Makefile
+++ b/Makefile
@@ -1,10 +1,13 @@
-PROJECT_NAME := $(shell basename $(shell pwd))# {{{}}}
+AUTHZD_BIN := bin/authzd
+CLI_BIN := bin/cli
GIT_BRANCH := $(shell git rev-parse --abbrev-ref HEAD | sed 's/\//_/g')
IMAGE_TAG := $(PROJECT_NAME):$(GIT_BRANCH)
+PROJECT_NAME := $(shell basename $(shell pwd))
.PHONY: build check test run clean fmt lint doc vendor
.PHONY: build-image run-image
.PHONY: health-check list-services
+.PHONY: staging-entities production-entities
setup:
mise install
@@ -12,13 +15,17 @@ setup:
mise exec rust -- rustup component add clippy rustfmt rust-analyzer
mise exec rust -- cargo install --locked cedar-policy-cli
-# Cargo targets
-build:
- @cargo build --offline
+$(AUTHZD_BIN): $(shell find src -name "*.rs" 2>/dev/null) Cargo.toml
+ @cargo build --bin authzd --offline
@cp target/debug/authzd bin/authzd
+
+$(CLI_BIN): $(shell find src -name "*.rs" 2>/dev/null) Cargo.toml
@cargo build --bin cli --offline
@cp target/debug/cli bin/cli
+# Cargo targets
+build: $(AUTHZD_BIN) $(CLI_BIN)
+
check:
@cargo check
@@ -29,6 +36,7 @@ run: build
@minit
clean:
+ @rm -f $(AUTHZD_BIN) $(CLI_BIN)
@cargo clean
fmt:
@@ -61,10 +69,17 @@ list-services:
@grpcurl -plaintext localhost:20000 list
# entities targets
-staging-entities:
- @cargo run --bin cli -- generate --host https://staging.gitlab.com --project authorization/sparkle/team --output etc/authzd/staging.gitlab.com/authorization/sparkle/team/entities.json
-
-production-entities:
- @cargo run --bin cli -- generate --project gitlab-org/gitlab --output etc/authzd/gitlab.com/gitlab-org/gitlab/entities.json
- @cargo run --bin cli -- generate --project gitlab-org/software-supply-chain-security/authorization/authzd --output etc/authzd/gitlab.com/gitlab-org/software-supply-chain-security/authorization/authzd/entities.json
- @cargo run --bin cli -- generate --project gitlab-org/software-supply-chain-security/authorization/sparkled --output etc/authzd/gitlab.com/gitlab-org/software-supply-chain-security/authorization/sparkled/entities.json
+check-gitlab-token:
+ @if [ -z "$$GITLAB_TOKEN" ]; then \
+ echo "Error: GITLAB_TOKEN environment variable is required"; \
+ echo "Set it with: export GITLAB_TOKEN=your_token"; \
+ exit 1; \
+ fi
+
+staging-entities: $(CLI_BIN) check-gitlab-token
+ @$(CLI_BIN) generate --host https://staging.gitlab.com --project authorization/sparkle/team --output etc/authzd/staging.gitlab.com/authorization/sparkle/team/entities.json
+
+production-entities: $(CLI_BIN) check-gitlab-token
+ @$(CLI_BIN) generate --project gitlab-org/gitlab --output etc/authzd/gitlab.com/gitlab-org/gitlab/entities.json
+ @$(CLI_BIN) generate --project gitlab-org/software-supply-chain-security/authorization/authzd --output etc/authzd/gitlab.com/gitlab-org/software-supply-chain-security/authorization/authzd/entities.json
+ @$(CLI_BIN) generate --project gitlab-org/software-supply-chain-security/authorization/sparkled --output etc/authzd/gitlab.com/gitlab-org/software-supply-chain-security/authorization/sparkled/entities.json