-
Notifications
You must be signed in to change notification settings - Fork 0
66 lines (63 loc) · 1.89 KB
/
_ffmpeg.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
name: cc_ffmpeg
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
CARGO_TERM_COLOR: always
on:
workflow_call:
inputs:
pushed_tag:
default: '0'
required: true
type: string
platform:
default: 'ubuntu-latest'
required: true
type: string
target:
default: 'x86_64-unknown-linux-gnu'
required: true
type: string
binary:
default: 'bin'
required: true
type: string
jobs:
cross-release:
name: publish - ${{ inputs.target }}
runs-on: ${{ inputs.platform }}
steps:
- uses: actions/checkout@v4
- name: Install dependencies (Unix)
if: ${{ inputs.platform != 'windows-latest' }}
run: |
if [ "${{ inputs.platform }}" = "ubuntu-latest" ]; then
sudo apt update
sudo apt install -y --no-install-recommends clang llvm curl pkg-config yasm nasm tree
elif [ "${{ inputs.platform }}" = "macos-latest" ]; then
brew install llvm yasm nasm tree
fi
- name: Install dependencies (Windows)
if: ${{ inputs.platform == 'windows-latest' }}
run: |
choco install llvm
choco install yasm
choco install nasm
choco install tree
- name: Cargo Build
if: ${{ inputs.platform != 'windows-latest' }}
run: |
curl -fsSL https://sh.rustup.rs | sh -s -- -y
rustup update nightly && rustup default nightly
cargo build --release
- name: Publish
run: |
echo $BIN
echo $BIN_PATH
echo $RELEASE_TAG
mv $BIN_PATH $BIN
gh release upload $RELEASE_TAG $BIN
env:
BIN: ${{ inputs.binary }}-${{ inputs.target }}
BIN_PATH: "target/release/${{ inputs.binary }}"
RELEASE_TAG: ${{ inputs.pushed_tag }}
TOKEN: ${{ secrets.GITHUB_TOKEN }}