mirror of
https://github.com/asdlokj1qpi233/subconverter.git
synced 2025-10-25 18:32:22 +00:00
222 lines
8.3 KiB
YAML
222 lines
8.3 KiB
YAML
name: GitHub CI
|
|
on:
|
|
push:
|
|
branches: [ master ]
|
|
tags:
|
|
- '**'
|
|
workflow_dispatch:
|
|
pull_request:
|
|
|
|
concurrency:
|
|
group: ${{ github.ref }}-${{ github.workflow }}
|
|
cancel-in-progress: true
|
|
|
|
jobs:
|
|
linux32_build:
|
|
name: Linux x86 Build
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v3
|
|
- 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:x86-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@v3
|
|
with:
|
|
name: subconverter_linux32
|
|
path: subconverter/
|
|
- name: Package Release
|
|
if: ${{ github.event_name != 'pull_request' && startsWith(github.ref, 'refs/tags/') }}
|
|
run: tar czf subconverter_linux32.tar.gz subconverter
|
|
- name: Draft Release
|
|
uses: softprops/action-gh-release@v1
|
|
if: ${{ github.event_name != 'pull_request' && startsWith(github.ref, 'refs/tags/') }}
|
|
with:
|
|
files: subconverter_linux32.tar.gz
|
|
draft: true
|
|
|
|
linux64_build:
|
|
name: Linux x86_64 Build
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v3
|
|
- 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:amd64-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@v3
|
|
with:
|
|
name: subconverter_linux64
|
|
path: subconverter/
|
|
- name: Package Release
|
|
if: ${{ github.event_name != 'pull_request' && startsWith(github.ref, 'refs/tags/') }}
|
|
run: tar czf subconverter_linux64.tar.gz subconverter
|
|
- name: Draft Release
|
|
uses: softprops/action-gh-release@v1
|
|
if: ${{ github.event_name != 'pull_request' && startsWith(github.ref, 'refs/tags/') }}
|
|
with:
|
|
files: subconverter_linux64.tar.gz
|
|
draft: true
|
|
|
|
# armv7_build:
|
|
# name: Linux armv7 Build
|
|
# runs-on: [self-hosted, linux, ARM]
|
|
# steps:
|
|
# - uses: actions/checkout@v3
|
|
# - 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:armv7-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@v3
|
|
# with:
|
|
# name: subconverter_armv7
|
|
# path: subconverter/
|
|
# - name: Package Release
|
|
# if: ${{ github.event_name != 'pull_request' && startsWith(github.ref, 'refs/tags/') }}
|
|
# run: tar czf subconverter_armv7.tar.gz subconverter
|
|
# - name: Draft Release
|
|
# uses: softprops/action-gh-release@v1
|
|
# if: ${{ github.event_name != 'pull_request' && startsWith(github.ref, 'refs/tags/') }}
|
|
# with:
|
|
# files: subconverter_armv7.tar.gz
|
|
# draft: true
|
|
#
|
|
# aarch64_build:
|
|
# name: Linux aarch64 Build
|
|
# runs-on: [self-hosted, linux, ARM64]
|
|
# steps:
|
|
# - uses: actions/checkout@v3
|
|
# - 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:aarch64-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@v3
|
|
# with:
|
|
# name: subconverter_aarch64
|
|
# path: subconverter/
|
|
# - name: Package Release
|
|
# if: ${{ github.event_name != 'pull_request' && startsWith(github.ref, 'refs/tags/') }}
|
|
# run: tar czf subconverter_aarch64.tar.gz subconverter
|
|
# - name: Draft Release
|
|
# uses: softprops/action-gh-release@v1
|
|
# if: ${{ github.event_name != 'pull_request' && startsWith(github.ref, 'refs/tags/') }}
|
|
# with:
|
|
# files: subconverter_aarch64.tar.gz
|
|
# draft: true
|
|
|
|
macos_build:
|
|
name: macOS Build
|
|
runs-on: macos-latest
|
|
steps:
|
|
- uses: actions/checkout@v3
|
|
- uses: actions/setup-python@v4
|
|
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@v3
|
|
with:
|
|
name: subconverter_darwin64
|
|
path: subconverter/
|
|
- name: Package Release
|
|
if: ${{ github.event_name != 'pull_request' && startsWith(github.ref, 'refs/tags/') }}
|
|
run: tar czf subconverter_darwin64.tar.gz subconverter
|
|
- name: Draft Release
|
|
uses: softprops/action-gh-release@v1
|
|
if: ${{ github.event_name != 'pull_request' && startsWith(github.ref, 'refs/tags/') }}
|
|
with:
|
|
files: subconverter_darwin64.tar.gz
|
|
draft: true
|
|
|
|
windows64_build:
|
|
name: Windows x86_64 Build
|
|
runs-on: windows-latest
|
|
defaults:
|
|
run:
|
|
shell: msys2 {0}
|
|
steps:
|
|
- uses: actions/checkout@v3
|
|
- uses: actions/setup-python@v4
|
|
with:
|
|
python-version: '3.11'
|
|
- uses: actions/setup-node@v3
|
|
with:
|
|
node-version: '16'
|
|
- uses: msys2/setup-msys2@v2
|
|
with:
|
|
update: true
|
|
install: base-devel git mingw-w64-x86_64-gcc mingw-w64-x86_64-cmake mingw-w64-x86_64-pcre2 patch
|
|
msystem: MINGW64
|
|
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@v3
|
|
with:
|
|
name: subconverter_win64
|
|
path: subconverter/
|
|
- name: Package Release
|
|
if: ${{ github.event_name != 'pull_request' && startsWith(github.ref, 'refs/tags/') }}
|
|
run: 7z a subconverter_win64.7z subconverter/
|
|
- name: Draft Release
|
|
uses: softprops/action-gh-release@v1
|
|
if: ${{ github.event_name != 'pull_request' && startsWith(github.ref, 'refs/tags/') }}
|
|
with:
|
|
files: subconverter_win64.7z
|
|
draft: true
|
|
|
|
windows32_build:
|
|
name: Windows x86 Build
|
|
runs-on: windows-latest
|
|
defaults:
|
|
run:
|
|
shell: msys2 {0}
|
|
steps:
|
|
- uses: actions/checkout@v3
|
|
- uses: actions/setup-python@v4
|
|
with:
|
|
python-version: '3.11'
|
|
- uses: actions/setup-node@v3
|
|
with:
|
|
node-version: '16'
|
|
- uses: msys2/setup-msys2@v2
|
|
with:
|
|
update: true
|
|
install: base-devel git mingw-w64-i686-gcc mingw-w64-i686-cmake mingw-w64-i686-pcre2 patch
|
|
msystem: MINGW32
|
|
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@v3
|
|
with:
|
|
name: subconverter_win32
|
|
path: subconverter/
|
|
- name: Package Release
|
|
if: ${{ github.event_name != 'pull_request' && startsWith(github.ref, 'refs/tags/') }}
|
|
run: 7z a subconverter_win32.7z subconverter/
|
|
- name: Draft Release
|
|
uses: softprops/action-gh-release@v1
|
|
if: ${{ github.event_name != 'pull_request' && startsWith(github.ref, 'refs/tags/') }}
|
|
with:
|
|
files: subconverter_win32.7z
|
|
draft: true
|