Skip to content

Commit 7a52f5f

Browse files
committed
workflow: improve how packages are built
1 parent d181218 commit 7a52f5f

File tree

2 files changed

+24
-18
lines changed

2 files changed

+24
-18
lines changed

.github/workflows/build.yaml

Lines changed: 6 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -12,24 +12,18 @@ jobs:
1212
steps:
1313
- name: Checkout
1414
uses: actions/checkout@v3
15-
- name: Reset ccache statistics
16-
run: ccache -M 0 -F 0
17-
- name: Build package
18-
run: |
19-
export RELEASE=$(($RELEASE_START+$GITHUB_RUN_NUMBER))
20-
rm -f ../*.deb
21-
make BOARD_TARGET=rock64
22-
make BOARD_TARGET=rockpro64
23-
make BOARD_TARGET=rockpi4b
24-
make BOARD_TARGET=rock5b
25-
make BOARD_TARGET=pinebookpro
15+
- name: Configure version
16+
run: echo "RELEASE=$(($RELEASE_START+$GITHUB_RUN_NUMBER))" >> $GITHUB_ENV
17+
- name: Cleanup old packages
18+
run: rm -f *.deb
19+
- name: Build packages
20+
run: make
2621
- name: Release package
2722
env:
2823
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
2924
run: |
3025
set -x
3126
32-
export RELEASE=$(($RELEASE_START+$GITHUB_RUN_NUMBER))
3327
export RELEASE_NAME="$(make version BOARD_TARGET=rock64)"
3428
export RELEASE_TITLE="$(make version BOARD_TARGET=rock64)"
3529
export DESCRIPTION="$GITHUB_SERVER_URL/$GITHUB_REPOSITORY/actions/runs/$GITHUB_RUN_ID"

Makefile

Lines changed: 18 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,19 +2,27 @@ export RELEASE ?= 1
22
export RELEASE_NAME ?= $(shell cat VERSION)-$(RELEASE)
33
export RELEASE_VERSION ?= $(RELEASE_NAME)-g$(shell git rev-parse --short HEAD)
44

5-
ifeq (,$(wildcard root-$(BOARD_TARGET)))
6-
$(error Unsupported BOARD_TARGET)
7-
endif
8-
9-
all: board-package
5+
all:
106

117
version:
128
@echo $(RELEASE_NAME)
139

1410
release:
1511
@echo $(RELEASE_VERSION)
1612

17-
board-package-$(BOARD_TARGET)-$(RELEASE_NAME)_all.deb:
13+
ifeq (,$(BOARD_TARGET))
14+
15+
all: $(patsubst root-%,%-board,$(wildcard root-*))
16+
17+
boards:
18+
@echo $(patsubst root-%,%,$(wildcard root-*))
19+
20+
%-board:
21+
make BOARD_TARGET=$(patsubst %-board,%,$@)
22+
23+
else
24+
25+
board-package-$(BOARD_TARGET)-$(RELEASE_NAME)_all.deb: root-$(BOARD_TARGET)
1826
fpm -s dir -t deb -n board-package-$(BOARD_TARGET)-$(RELEASE_NAME) -v $(RELEASE_NAME) \
1927
-p $@ \
2028
--deb-priority optional --category admin \
@@ -45,10 +53,14 @@ board-package-$(BOARD_TARGET)-$(RELEASE_NAME)_all.deb:
4553
clean:
4654
rm -f board-package-$(BOARD_TARGET)-$(RELEASE_NAME)_all.deb
4755

56+
all: board-package
57+
4858
.PHONY: board-package # compile board compatibility package
4959
board-package: board-package-$(BOARD_TARGET)-$(RELEASE_NAME)_all.deb
5060

5161
.PHONY: deploy
5262
deploy: clean board-package
5363
scp -4 board-package-$(BOARD_TARGET)-$(RELEASE_NAME)_all.deb root@$(DEPLOY_HOST):/tmp
5464
ssh -4 root@$(DEPLOY_HOST) apt -y --reinstall install /tmp/board-package-$(BOARD_TARGET)-$(RELEASE_NAME)_all.deb
65+
66+
endif

0 commit comments

Comments
 (0)