forked from cory/tildefriends
		
	
		
			
				
	
	
		
			72 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
			
		
		
	
	
			72 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
| name: Build Tilde Friends
 | |
| run-name: ${{ gitea.actor }} running 🚀
 | |
| on: [push]
 | |
| 
 | |
| jobs:
 | |
|   Build-All:
 | |
|     runs-on: ubuntu-latest
 | |
|     container:
 | |
|       image: node:23-bookworm-slim
 | |
|       valid_volumes:
 | |
|         - '/opt/keys'
 | |
|         - '/opt/deps'
 | |
|       volumes:
 | |
|         - /opt/keys:/opt/keys
 | |
|         - /opt/deps:/opt/deps
 | |
|     steps:
 | |
|       - name: Install build dependencies
 | |
|         run: >
 | |
|           apt update && apt install -y \
 | |
|             build-essential \
 | |
|             clang-19 \
 | |
|             cmake \
 | |
|             curl \
 | |
|             docker.io \
 | |
|             doxygen \
 | |
|             file \
 | |
|             gcc-aarch64-linux-gnu \
 | |
|             git \
 | |
|             graphviz \
 | |
|             libgpgme11 \
 | |
|             libssl-dev \
 | |
|             mingw-w64 \
 | |
|             rsync \
 | |
|             unzip \
 | |
|             zip \
 | |
|             zlib1g-dev
 | |
|       - name: Get code
 | |
|         uses: actions/checkout@v4
 | |
|         with:
 | |
|           submodules: true
 | |
|       - name: Setup environment
 | |
|         run: |
 | |
|           update-alternatives --install /usr/bin/clang clang /usr/bin/clang-19 100
 | |
|           update-alternatives --install /usr/bin/clang++ clang++ /usr/bin/clang++-19 100
 | |
|           ln -s /opt/keys .keys
 | |
|           ln -sf /opt/deps/ios_toolchain deps/
 | |
|           ln -sf /opt/deps/macos_toolchain deps/
 | |
|       - name: Build documentation
 | |
|         run: |
 | |
|           mkdir -p out/html/ ~/.ssh/
 | |
|           make -j`nproc` docs
 | |
|           echo 'pildefriends ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKD3Kde5vDO0TrMBDK0IGGeNGe/XinWAZkSQ/rXxwUjt' >> ~/.ssh/known_hosts
 | |
|           rsync -avP --delete -e "ssh -i /opt/keys/ssh.ed25519" out/html/ tfdocs@pildefriends:docs/html/
 | |
|       - name: Setup JDK
 | |
|         uses: actions/setup-java@v3
 | |
|         with:
 | |
|           java-version: '17'
 | |
|           distribution: 'temurin'
 | |
|       - name: Setup Android SDK
 | |
|         uses: android-actions/setup-android@v3
 | |
|         with:
 | |
|           packages: 'tools platform-tools build-tools;35.0.0 platforms;android-35 ndk;27.2.12479018'
 | |
|       - name: Docker build
 | |
|         run: DOCKER_BUILDKIT=1 docker build .
 | |
|       - name: Build
 | |
|         run: ANDROID_SDK=$HOME/.android/sdk make -j`nproc` all dist
 | |
|       - name: Upload artifacts
 | |
|         uses: actions/upload-artifact@v3
 | |
|         with:
 | |
|           name: dist
 | |
|           path: dist/*
 |