-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathmakefile
More file actions
73 lines (61 loc) · 2.45 KB
/
makefile
File metadata and controls
73 lines (61 loc) · 2.45 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
ATCODER_IMAGE := bluexleoxgreen/atcoder:1.0.0
ATCODER_NEW_IMAGE := bluexleoxgreen/atcoder:2.0.0
ATCODER_CONTAINER_NAME := atcoder-old-container
ATCODER_NEW_CONTAINER_NAME := atcoder-container
default: run-atcoder
run: run-new-atcoder
run-old: run-atcoder
build: build-atcoder
stop: stop-atcoder
test: run-test
# requier `docker login` before push
build-atcoder:
docker build --build-arg UID=$(shell id -u) --build-arg UNAME=$(shell whoami) -t $(ATCODER_IMAGE) -f dockerfiles/Dockerfile .
docker push $(ATCODER_IMAGE)
build-new-image:
docker build --build-arg UID=$(shell id -u) --build-arg UNAME=$(shell whoami) -t $(ATCODER_NEW_IMAGE) -f dockerfiles/Dockerfile.new .
docker push $(ATCODER_NEW_IMAGE)
ifeq ($(shell docker ps -a --format '{{.Names}}'| grep $(ATCODER_NEW_CONTAINER_NAME)),)
run-atcoder:
mkdir -p ${PWD}/.tmp/online-judge-tools && \
mkdir -p ${PWD}/.tmp/cargo-compete && \
docker run -t -d --rm \
-v ${PWD}:/work \
-v ${PWD}/.tmp/online-judge-tools:/home/$(shell whoami)/.local/share/online-judge-tools/ \
-v ${PWD}/.tmp/cargo-compete:/home/$(shell whoami)/.local/share/cargo-compete/ \
-e "BROWSER=chrome" --name $(ATCODER_NEW_CONTAINER_NAME) $(ATCODER_NEW_IMAGE) bash && \
clear && \
docker exec -it $(ATCODER_NEW_CONTAINER_NAME) bash
else
run-atcoder:
clear && \
docker exec -it $(ATCODER_NEW_CONTAINER_NAME) bash
endif
ifeq ($(shell docker ps -a --format '{{.Names}}'| grep $(ATCODER_CONTAINER_NAME)),)
run-old-atcoder:
mkdir -p ${PWD}/.tmp/online-judge-tools && \
mkdir -p ${PWD}/.tmp/cargo-compete && \
docker run -t -d --rm \
-v ${PWD}:/work \
-v ${PWD}/.tmp/online-judge-tools:/home/$(shell whoami)/.local/share/online-judge-tools/ \
-v ${PWD}/.tmp/cargo-compete:/home/$(shell whoami)/.local/share/cargo-compete/ \
-e "BROWSER=chrome" --name $(ATCODER_CONTAINER_NAME) $(ATCODER_IMAGE) bash && \
clear && \
docker exec -it $(ATCODER_CONTAINER_NAME) bash
else
run-old-atcoder:
clear && \
docker exec -it $(ATCODER_CONTAINER_NAME) bash
endif
stop-atcoder:
docker stop $(ATCODER_CONTAINER_NAME)
run-test:
docker run --rm -v ${PWD}:/work $(ATCODER_IMAGE) python algorithm_libraries/test/test.py
run-cpp-test:
docker run --rm -v ${PWD}:/work $(ATCODER_IMAGE) python algorithm_libraries/test/test.py --lang=cpp
lint:
docker run --rm -v ${PWD}:/work $(ATCODER_IMAGE) pysen run lint
auto-lint:
docker run --rm -v ${PWD}:/work $(ATCODER_IMAGE) pysen run format
run-lint-generate:
docker run --rm -v ${PWD}:/work $(ATCODER_IMAGE) pysen generate .