|
|
name: "Build release" |
|
|
|
|
|
on: |
|
|
push: |
|
|
tags: |
|
|
- app/v*.*.* |
|
|
|
|
|
jobs: |
|
|
build: |
|
|
name: Build |
|
|
runs-on: ubuntu-latest |
|
|
env: |
|
|
ACTIONS_ALLOW_UNSECURE_COMMANDS: true |
|
|
|
|
|
steps: |
|
|
- name: Check out |
|
|
uses: actions/checkout@v4 |
|
|
|
|
|
- name: Get version |
|
|
id: get_version |
|
|
run: echo "version=$(git describe --tags --always --match 'app/v*' | sed -n 's|app/\([^/-]*\)\(-.*\)\{0,1\}|\1|p')" >> $GITHUB_OUTPUT |
|
|
|
|
|
- name: Setup Go |
|
|
uses: actions/setup-go@v5 |
|
|
with: |
|
|
go-version: "1.23" |
|
|
|
|
|
- name: Setup Python |
|
|
uses: actions/setup-python@v5 |
|
|
with: |
|
|
python-version: "3.11" |
|
|
|
|
|
- uses: nttld/setup-ndk@v1 |
|
|
id: setup-ndk |
|
|
with: |
|
|
ndk-version: r26b |
|
|
add-to-path: false |
|
|
|
|
|
- name: Run build script |
|
|
env: |
|
|
ANDROID_NDK_HOME: ${{ steps.setup-ndk.outputs.ndk-path }} |
|
|
run: | |
|
|
export HY_APP_PLATFORMS=$(sed 's/\r$//' platforms.txt | awk '!/^#/ && !/^$/' | paste -sd ",") |
|
|
python hyperbole.py build -r |
|
|
|
|
|
- name: Generate hashes |
|
|
run: | |
|
|
for file in build/*; do |
|
|
sha256sum $file >> build/hashes.txt |
|
|
done |
|
|
|
|
|
- name: Upload GitHub |
|
|
uses: softprops/action-gh-release@v2 |
|
|
with: |
|
|
files: build/* |
|
|
|
|
|
- name: Upload CF bucket |
|
|
uses: shallwefootball/upload-s3-action@v1.3.3 |
|
|
with: |
|
|
aws_key_id: ${{ secrets.CF_KEY_ID }} |
|
|
aws_secret_access_key: ${{ secrets.CF_KEY }} |
|
|
aws_bucket: "hydownload" |
|
|
endpoint: "https://bea223c61d5a41250d127bd67f51dfec.r2.cloudflarestorage.com/" |
|
|
source_dir: "build" |
|
|
destination_dir: "app/${{ steps.get_version.outputs.version }}" |
|
|
|
|
|
- name: Publish to API |
|
|
run: | |
|
|
export HY_API_POST_KEY=${{ secrets.HY2_API_POST_KEY }} |
|
|
pip install requests |
|
|
python hyperbole.py publish |
|
|
|