| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148 |
- name: GitHub CI
- on:
- push:
- branches: [ master ]
- tags:
- - '**'
- workflow_dispatch:
- pull_request:
- concurrency:
- group: ${{ github.ref }}-${{ github.workflow }}
- cancel-in-progress: true
- jobs:
- linux_build:
- strategy:
- matrix:
- include:
- - arch: x86
- artifact: subconverter_linux32
- os: ubuntu-latest
- - arch: amd64
- artifact: subconverter_linux64
- os: ubuntu-latest
- - arch: armv7
- artifact: subconverter_armv7
- os: ubuntu-24.04-arm
- - arch: aarch64
- artifact: subconverter_aarch64
- os: ubuntu-24.04-arm
- runs-on: ${{ matrix.os }}
- name: Linux ${{ matrix.arch }} Build
- steps:
- - name: Checkout base
- uses: actions/checkout@v4
- - name: Add commit id into version
- if: ${{ !startsWith(github.ref, 'refs/tags/') }}
- run: SHA=$(git rev-parse --short HEAD) && sed -i 's/\(v[0-9]\.[0-9]\.[0-9]\)/\1-'"$SHA"'/' src/version.h
- - name: Build
- run: docker run --rm -v $GITHUB_WORKSPACE:/root/workdir multiarch/alpine:${{ matrix.arch }}-latest-stable /bin/sh -c "apk add bash git nodejs npm && cd /root/workdir && chmod +x scripts/build.alpine.release.sh && bash scripts/build.alpine.release.sh"
- - name: Upload
- uses: actions/upload-artifact@v4
- with:
- name: ${{ matrix.artifact }}
- path: subconverter/
- - name: Package Release
- if: ${{ github.event_name != 'pull_request' && startsWith(github.ref, 'refs/tags/') }}
- run: tar czf ${{ matrix.artifact }}.tar.gz subconverter
- - name: Draft Release
- if: ${{ github.event_name != 'pull_request' && startsWith(github.ref, 'refs/tags/') }}
- uses: softprops/action-gh-release@v2
- with:
- files: ${{ matrix.artifact }}.tar.gz
- draft: true
- macos_build:
- strategy:
- matrix:
- include:
- - arch: x86
- artifact: subconverter_darwin64
- os: macos-15-intel
- - arch: arm
- artifact: subconverter_darwinarm
- os: macos-latest
- runs-on: ${{ matrix.os }}
- name: macOS ${{ matrix.arch }} Build
- steps:
- - name: Checkout base
- uses: actions/checkout@v4
- - name: Setup Python
- uses: actions/setup-python@v5
- with:
- python-version: '3.11'
- - name: Add commit id into version
- if: ${{ !startsWith(github.ref, 'refs/tags/') }}
- run: SHA=$(git rev-parse --short HEAD) && sed -i -e 's/\(v[0-9]\.[0-9]\.[0-9]\)/\1-'"$SHA"'/' src/version.h
- - name: Build
- run: bash scripts/build.macos.release.sh
- - name: Upload
- uses: actions/upload-artifact@v4
- with:
- name: ${{ matrix.artifact }}
- path: subconverter/
- - name: Package Release
- if: ${{ github.event_name != 'pull_request' && startsWith(github.ref, 'refs/tags/') }}
- run: tar czf ${{ matrix.artifact }}.tar.gz subconverter
- - name: Draft Release
- if: ${{ github.event_name != 'pull_request' && startsWith(github.ref, 'refs/tags/') }}
- uses: softprops/action-gh-release@v2
- with:
- files: ${{ matrix.artifact }}.tar.gz
- draft: true
-
- windows_build:
- strategy:
- matrix:
- include:
- - arch: x86
- artifact: subconverter_win32
- env: i686
- msystem: MINGW32
- - arch: amd64
- artifact: subconverter_win64
- env: x86_64
- msystem: MINGW64
- runs-on: windows-latest
- name: Windows ${{ matrix.arch }} Build
- defaults:
- run:
- shell: msys2 {0}
- steps:
- - name: Checkout base
- uses: actions/checkout@v4
- - name: Setup Python
- uses: actions/setup-python@v5
- with:
- python-version: '3.11'
- - name: Setup Node.js
- uses: actions/setup-node@v4
- with:
- node-version: '16'
- - name: Setup MSYS2
- uses: msys2/setup-msys2@v2
- with:
- update: true
- install: base-devel git mingw-w64-${{ matrix.env }}-gcc mingw-w64-${{ matrix.env }}-cmake mingw-w64-${{ matrix.env }}-pcre2 patch
- msystem: ${{ matrix.msystem }}
- path-type: inherit
- - name: Add commit id into version
- if: ${{ !startsWith(github.ref, 'refs/tags/') }}
- run: SHA=$(git rev-parse --short HEAD) && sed -i 's/\(v[0-9]\.[0-9]\.[0-9]\)/\1-'"$SHA"'/' src/version.h
- - name: Build
- run: bash scripts/build.windows.release.sh
- - name: Upload
- uses: actions/upload-artifact@v4
- with:
- name: ${{ matrix.artifact }}
- path: subconverter/
- - name: Package Release
- if: ${{ github.event_name != 'pull_request' && startsWith(github.ref, 'refs/tags/') }}
- run: 7z a ${{ matrix.artifact }}.7z subconverter/
- - name: Draft Release
- if: ${{ github.event_name != 'pull_request' && startsWith(github.ref, 'refs/tags/') }}
- uses: softprops/action-gh-release@v2
- with:
- files: ${{ matrix.artifact }}.7z
- draft: true
|