recpt1のバージョンを更新 #19
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: release | |
on: | |
push: | |
tags: | |
- 'v*.*.*' | |
workflow_dispatch: | |
jobs: | |
build: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
# コンパイラーをインストールする | |
# 参照:https://github.com/macaron/recpt1-static-build | |
- name: Install Compiler | |
working-directory: /usr/local/bin | |
run: | | |
wget https://musl.libc.org/releases/musl-1.2.5.tar.gz | |
tar -xvf musl-1.2.5.tar.gz | |
cd musl-1.2.5 | |
./configure --prefix=$HOME/musl --exec-prefix=$HOME --syslibdir=$HOME/musl/lib | |
make -j$(nproc) | |
make install | |
echo "$HOME/bin" >> $GITHUB_PATH | |
- name: Show Version for musl-gcc | |
run: musl-gcc -v | |
# recpt1をビルドする前に、仮想TVチューナデバイスを作成する(PT3×2台分) | |
- name: Create a temporary device file | |
run: | | |
sudo mknod /dev/pt3video0 c 235 0 | |
sudo mknod /dev/pt3video1 c 235 1 | |
sudo mknod /dev/pt3video2 c 235 2 | |
sudo mknod /dev/pt3video3 c 235 3 | |
sudo mknod /dev/pt3video4 c 235 4 | |
sudo mknod /dev/pt3video5 c 235 5 | |
sudo mknod /dev/pt3video6 c 235 6 | |
sudo mknod /dev/pt3video7 c 235 7 | |
sudo chmod a+rw /dev/pt3video0 | |
sudo chmod a+rw /dev/pt3video1 | |
sudo chmod a+rw /dev/pt3video2 | |
sudo chmod a+rw /dev/pt3video3 | |
sudo chmod a+rw /dev/pt3video4 | |
sudo chmod a+rw /dev/pt3video5 | |
sudo chmod a+rw /dev/pt3video6 | |
sudo chmod a+rw /dev/pt3video7 | |
# タグ名を取得し、バージョン番号を設定する | |
- name: Set_version | |
id: set_version | |
if: startsWith(github.ref, 'refs/tags/') | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
run: | | |
VERSION=${GITHUB_REF/refs\/tags\//} | |
echo "version=${VERSION}" >> $GITHUB_OUTPUT | |
echo "archive_path=recpt1_${VERSION}.zip" >> $ENV:GITHUB_OUTPUT | |
# recpt1をスタティックビルドし、バイナリファイルを作成する | |
- name: Build for recpt1 | |
working-directory: recpt1 | |
run: | | |
sudo apt-get install -y --no-install-recommends autoconf automake | |
sed -i 's/CFLAGS = -O2 -g -pthread/CFLAGS = -static -O2 -g -pthread/g' Makefile.in | |
sed -i 's/LDFLAGS =/LDFLAGS = -static/g' Makefile.in | |
./autogen.sh | |
./configure CC=musl-gcc --enable-b25 | |
make | |
- name: Show Version for recpt1 | |
working-directory: recpt1 | |
run: | | |
file recpt1 | |
./recpt1 -v | |
# バイナリファイルを、ZIP形式で圧縮する | |
- name: Compress binary files into a zip file | |
run: | | |
mkdir recpt1_bin | |
Copy-Item -Path "./recpt1/recpt1" -Destination "./recpt1_bin/recpt1" -Force | |
Copy-Item -Path "./recpt1/recpt1ctl" -Destination "./recpt1_bin/recpt1ctl" -Force | |
Copy-Item -Path "./recpt1/checksignal" -Destination "./recpt1_bin/checksignal" -Force | |
7z a -tzip ${{ steps.set_version.outputs.archive_path }} recpt1_bin | |
# バイナリファイルをアップする | |
- name: upload_release_asset | |
uses: actions/upload-artifact@v4 | |
# タグが push された場合のみ実行される | |
if: startsWith(github.ref, 'refs/tags/') | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
with: | |
# リリースするバイナリファイル | |
files: | | |
name: ${{ steps.set_version.outputs.archive_path }} | |
path: ${{ steps.set_version.outputs.archive_path }} | |
# リリース文書を作成する | |
- name: create_release | |
uses: shogo82148/actions-create-release@v1 | |
id: create_release | |
# タグが push された場合のみ実行され | |
if: startsWith(github.ref, 'refs/tags/') | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
with: | |
tag_name: ${{ steps.set_version.outputs.version }} | |
release_name: recpt1 ${{ steps.set_version.outputs.version }} Release | |
body: | | |
リリースの作成テストです。 | |
下書きかつプレリリースの状態で作成されます。 | |
draft: true # 下書き状態で作成する場合は true (省略時 false) | |
prerelease: true # プレリリース表示を付ける場合は true (省略時 false) |