Skip to content

Commit c6e8a8f

Browse files
committed
add android workflow
1 parent 430dde4 commit c6e8a8f

2 files changed

Lines changed: 73 additions & 0 deletions

File tree

.github/workflows/android.yml

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
name: android-ijkplayer-aar
2+
3+
on:
4+
# push:
5+
# branches: [master]
6+
# pull_request:
7+
# branches: [master]
8+
workflow_dispatch:
9+
inputs:
10+
beta:
11+
type: boolean
12+
description: publish beta edition
13+
default: true
14+
required: false
15+
jobs:
16+
build:
17+
name: build-android-ijk-aar
18+
runs-on: macos-14
19+
20+
steps:
21+
- name: Checkout
22+
uses: actions/checkout@v3
23+
with:
24+
submodules: recursive
25+
- name: Prepare Beta Version
26+
if: ${{ inputs.beta == true }}
27+
run: |
28+
grep -m 1 VERSION_NAME= version.sh | awk -F = '{printf "VERSION=%s",$2}' | xargs > constants.env
29+
echo "RELEAE_DATE=$(TZ=UTC-8 date +'%y%m%d%H%M%S')" >> constants.env
30+
echo "TAG=k"$(grep "VERSION" constants.env | cut -d'=' -f2)"-beta-"$(grep "RELEAE_DATE" constants.env | cut -d'=' -f2) >> constants.env
31+
cat constants.env
32+
- name: Prepare Normal Version
33+
if: ${{ inputs.beta == false }}
34+
run: |
35+
grep -m 1 VERSION_NAME= version.sh | awk -F = '{printf "TAG=k%s",$2}' | xargs > constants.env
36+
cat constants.env
37+
- name: Export Env
38+
uses: cardinalby/export-env-action@v2
39+
with:
40+
envFile: 'constants.env'
41+
- name: Download Pre Compiled Dependencies
42+
run: cd android && ./install-ffmpeg.sh
43+
- name: Build android arr
44+
run: cd android && ./build-aar.sh
45+
- name: Upload Release Asset
46+
env:
47+
GH_TOKEN: ${{ github.token }}
48+
run: |
49+
branch=$(git branch --show-current)
50+
gh release create ${{ env.TAG }} --target $branch -t "👏👏 ijkplayer-cmake-aar ${{ env.TAG }}" android/ijkplayer/ijkplayer-cmake/build/outputs/aar/*.*

android/build-aar.sh

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
#! /usr/bin/env bash
2+
#
3+
# Copyright (C) 2024 Matt Reach<qianlongxu@gmail.com>
4+
5+
# Licensed under the Apache License, Version 2.0 (the "License");
6+
# you may not use this file except in compliance with the License.
7+
# You may obtain a copy of the License at
8+
#
9+
# http://www.apache.org/licenses/LICENSE-2.0
10+
#
11+
# Unless required by applicable law or agreed to in writing, software
12+
# distributed under the License is distributed on an "AS IS" BASIS,
13+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14+
# See the License for the specific language governing permissions and
15+
# limitations under the License.
16+
17+
THIS_DIR=$(DIRNAME=$(dirname "$0"); cd "$DIRNAME"; pwd)
18+
cd "$THIS_DIR"
19+
20+
set -e
21+
cd ijkplayer
22+
23+
./gradlew :ijkplayer-cmake:assemble

0 commit comments

Comments
 (0)