aboutsummaryrefslogtreecommitdiff
path: root/.builds/release.yml
diff options
context:
space:
mode:
Diffstat (limited to '.builds/release.yml')
-rw-r--r--.builds/release.yml66
1 files changed, 66 insertions, 0 deletions
diff --git a/.builds/release.yml b/.builds/release.yml
new file mode 100644
index 0000000..0a72d2d
--- /dev/null
+++ b/.builds/release.yml
@@ -0,0 +1,66 @@
+image: debian/bookworm
+arch: x86_64
+packages:
+ - make
+ - minisign
+ - rsync
+ - coreutils
+ - clang
+ - lld
+ - curl
+ - tar
+ - gzip
+ - gettext
+ - pipx
+ - flatpak
+ - flatpak-builder
+ # x86_64 build dependencies
+ - libgtk-4-dev
+ - libadwaita-1-dev
+ - libgtksourceview-5-dev
+ # aarch64 cross-compilation
+ - gcc-aarch64-linux-gnu
+ - libgtk-4-dev:arm64
+ - libadwaita-1-dev:arm64
+ - libgtksourceview-5-dev:arm64
+sources:
+ - git@git.sr.ht:~rbdr/map-linux
+ - https://github.com/flatpak/flatpak-builder-tools
+environment:
+ GPG_TTY: /dev/pts/0
+secrets:
+ - a1e0e3da-c1ad-473a-ad69-8878f267a628
+ - 0b0d3e5e-fbdc-41d0-97ed-ee654fe797ff
+ - f80356df-eb81-487f-8739-fbf08bf204dc
+ - 05763ec6-2f17-46b5-90f6-963482975b8b
+tasks:
+ - enable_arm64_arch: |
+ sudo dpkg --add-architecture arm64
+ sudo apt-get update
+ sudo apt-get install -y libgtk-4-dev:arm64 libadwaita-1-dev:arm64 libgtksourceview-5-dev:arm64
+ - install_rustup: |
+ curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y
+ echo 'source $HOME/.cargo/env' >> ~/.buildenv
+ - set_rust: |
+ cd map-linux
+ make set_rust
+ - install_binstall: |
+ curl -L --proto '=https' --tlsv1.2 -sSf https://raw.githubusercontent.com/cargo-bins/cargo-binstall/main/install-from-binstall-release.sh | bash
+ - install_builders: |
+ cargo binstall cargo-generate-rpm --no-confirm
+ cargo binstall cargo-deb --no-confirm
+ - setup_flatpak_tools: |
+ pipx install poetry
+ cd flatpak-builder-tools/cargo
+ ~/.local/bin/poetry install
+ - configure_cross_linker: |
+ cd map-linux
+ mkdir -p .cargo
+ cat > .cargo/config.toml << 'EOF'
+ [target.aarch64-unknown-linux-gnu]
+ linker = "aarch64-linux-gnu-gcc"
+ rustflags = ["-C", "link-arg=-fuse-ld=lld"]
+ EOF
+ - release: |
+ cd map-linux
+ make -e flatpak_cargo_generator=/home/build/flatpak-builder-tools/cargo ci