~rbdr/page

102424ed217c1fc90d7445e5cfcfa2f0b247c6ac — Ruben Beltran del Rio 3 months ago 0209ed0
Add build
2 files changed, 59 insertions(+), 4 deletions(-)

A .build.yml
M Makefile
A .build.yml => .build.yml +22 -0
@@ 0,0 1,22 @@
image: archlinux
packages:
  - make
  - rsync
  - clang
  - lld
  - rustup
  - aarch64-linux-gnu-gcc
  - tar
  - gzip
sources:
  - git@git.sr.ht:~rbdr/page
secrets:
  - 89d3b676-25d6-4942-8231-38b73aa62bf6
  - 0b0d3e5e-fbdc-41d0-97ed-ee654fe797ff
tasks:
  - set_rust: |
      cd page
      make set_rust
  - package: |
      cd page
      make ci

M Makefile => Makefile +37 -4
@@ 1,8 1,41 @@
profile = dev
profile := dev
target = $(shell rustc -vV | grep host | awk '{print $$2}')
architectures := x86_64-unknown-linux-gnu aarch64-unknown-linux-gnu
app_name := page

default: build

build:
	cargo build --profile $(profile)
set_rust:
	rustup default stable

.PHONY: build
prepare:
	rustup target add $(target)

build: prepare
	cargo build --profile $(profile) --target $(target)

release: rpm tar
	rsync -avz $(app_name)-$(target)-$(channel).tar.gz deploy@conchos.unlimited.pizza:/srv/http/build.r.bdr.sh/$(app_name)

$(architectures):
ifneq ($(channel),)
	$(MAKE) -e channel=$(channel) -e target=$@ release
else
	$(MAKE) -e target=$@ build
endif

rpm: build

tar: build
	tar -czvf $(app_name)-$(target)-$(channel).tar.gz -C target/$(target)/$(profile)/ $(app_name)

package: $(architectures)

ci:
ifeq ($(GIT_REF),refs/heads/main)
	$(MAKE) -e profile=release -e channel=unstable package
else ifneq (,$(findstring refs/tags/,$(GIT_REF)))
	$(MAKE) -e profile=release -e channel=$(subst refs/tags/,,$(GIT_REF)) package
endif

.PHONY: default build $(architectures) rpm package prepare set_rust ci release