2021-01-27 02:19:09 +13:00
|
|
|
name: Tahoma2D Linux Build
|
2020-11-27 02:38:11 +13:00
|
|
|
|
|
|
|
on: [push, pull_request]
|
|
|
|
|
|
|
|
jobs:
|
|
|
|
Linux:
|
2021-09-06 05:32:21 +12:00
|
|
|
runs-on: ubuntu-18.04
|
2020-11-27 02:38:11 +13:00
|
|
|
strategy:
|
|
|
|
matrix:
|
2021-03-20 11:13:35 +13:00
|
|
|
compiler: [ gcc, clang ]
|
2020-11-27 02:38:11 +13:00
|
|
|
include:
|
2021-03-20 11:13:35 +13:00
|
|
|
- compiler: gcc
|
|
|
|
cc: gcc
|
|
|
|
cxx: g++
|
2020-11-27 02:38:11 +13:00
|
|
|
- compiler: clang
|
|
|
|
cc: clang
|
|
|
|
cxx: clang++
|
|
|
|
steps:
|
|
|
|
- uses: actions/checkout@v2
|
|
|
|
- name: Install Dependencies
|
2021-03-20 11:13:35 +13:00
|
|
|
run: |
|
|
|
|
ci-scripts/linux/tahoma-install.sh
|
|
|
|
sudo apt-get install ccache
|
|
|
|
- uses: actions/cache@v2
|
|
|
|
with:
|
|
|
|
path: |
|
|
|
|
/home/runner/.ccache
|
2021-03-20 14:01:07 +13:00
|
|
|
/home/runner/work/tahoma2d/taoma2d/thirdparty/openh264
|
2021-03-20 11:13:35 +13:00
|
|
|
/home/runner/work/tahoma2d/taoma2d/thirdparty/ffmpeg
|
|
|
|
/home/runner/work/tahoma2d/taoma2d/thirdparty/opencv
|
|
|
|
key: ${{ runner.os }}-${{ matrix.compiler }}-${{ github.sha }}
|
|
|
|
restore-keys: |
|
|
|
|
${{ runner.os }}-${{ matrix.compiler }}-
|
|
|
|
${{ runner.os }}-
|
2020-11-27 02:38:11 +13:00
|
|
|
- name: Build ffmpeg
|
2021-03-20 11:13:35 +13:00
|
|
|
run: |
|
|
|
|
export CC="ccache ${{ matrix.cc }}"
|
|
|
|
export CXX="ccache ${{ matrix.cxx }}"
|
|
|
|
ci-scripts/linux/tahoma-buildffmpeg.sh
|
2020-11-27 02:38:11 +13:00
|
|
|
- name: Build OpenCV
|
2021-03-20 11:13:35 +13:00
|
|
|
run: |
|
|
|
|
export CC="ccache ${{ matrix.cc }}"
|
|
|
|
export CXX="ccache ${{ matrix.cxx }}"
|
|
|
|
ci-scripts/linux/tahoma-buildopencv.sh
|
2021-03-23 14:47:00 +13:00
|
|
|
- name: Build libmypaint
|
|
|
|
run: |
|
2021-04-19 07:46:28 +12:00
|
|
|
export CC="ccache ${{ matrix.cc }}"
|
|
|
|
export CXX="ccache ${{ matrix.cxx }}"
|
2021-03-23 14:47:00 +13:00
|
|
|
ci-scripts/linux/tahoma-buildlibmypaint.sh
|
2020-11-27 02:38:11 +13:00
|
|
|
- name: Build Tahoma2D
|
2021-03-20 11:13:35 +13:00
|
|
|
run: |
|
|
|
|
export CC="ccache ${{ matrix.cc }}"
|
|
|
|
export CXX="ccache ${{ matrix.cxx }}"
|
|
|
|
ci-scripts/linux/tahoma-build.sh
|
2021-03-22 13:53:20 +13:00
|
|
|
- name: Get 3rd Party Apps
|
|
|
|
run: |
|
|
|
|
ci-scripts/linux/tahoma-get3rdpartyapps.sh
|
2020-11-27 02:38:11 +13:00
|
|
|
- name: Create Package
|
2021-03-20 11:13:35 +13:00
|
|
|
run: |
|
|
|
|
ci-scripts/linux/tahoma-buildpkg.sh
|
|
|
|
mv toonz/build/Tahoma2D-linux.tar.gz toonz/build/Tahoma2D-linux-${{ matrix.compiler }}.tar.gz
|
2020-11-27 02:38:11 +13:00
|
|
|
- uses: actions/upload-artifact@v1
|
|
|
|
with:
|
2021-03-20 11:13:35 +13:00
|
|
|
name: Tahoma2D-linux-${{ matrix.compiler }}.tar.gz
|
|
|
|
path: toonz/build/Tahoma2D-linux-${{ matrix.compiler }}.tar.gz
|
2021-04-25 00:20:49 +12:00
|
|
|
- name: Get Nightly Release Date
|
2021-12-04 07:15:06 +13:00
|
|
|
if: ${{ github.repository_owner == 'tahoma2d' && github.event_name == 'push' && github.ref == 'refs/heads/master' }}
|
2021-04-25 00:20:49 +12:00
|
|
|
run: |
|
|
|
|
echo "NIGHTLYDATE=$(date '+%Y-%m-%d')" >> $GITHUB_ENV
|
|
|
|
echo "NIGHTLYDATETIME=$(date '+%Y-%m-%d %H:%M:%S %Z')" >> $GITHUB_ENV
|
2021-05-29 08:20:57 +12:00
|
|
|
- name: Create/Update Nightlies Tag
|
2021-12-04 07:15:06 +13:00
|
|
|
if: ${{ github.repository_owner == 'tahoma2d' && github.event_name == 'push' && github.ref == 'refs/heads/master' }}
|
2021-05-29 08:20:57 +12:00
|
|
|
run: |
|
|
|
|
git remote add nightly_repo https://tahoma2d:${{ secrets.TAHOMA2D_TOKEN }}@github.com/tahoma2d/tahoma2d_nightlies.git
|
|
|
|
git config lfs.https://tahoma2d:${{ secrets.TAHOMA2D_TOKEN }}@github.com/tahoma2d/tahoma2d_nightlies.git.lfs.locksverify false
|
|
|
|
git fetch --unshallow
|
|
|
|
git tag -f nightly
|
|
|
|
git push -f origin nightly
|
|
|
|
git tag -f nightly-${{ github.sha }}
|
|
|
|
git config --unset-all http.https://github.com/.extraheader
|
|
|
|
git push -f nightly_repo nightly-${{ github.sha }}
|
|
|
|
git remote rm nightly_repo
|
2021-04-25 00:20:49 +12:00
|
|
|
- name: Update Latest Nightly Release
|
2021-12-04 07:15:06 +13:00
|
|
|
if: ${{ github.repository_owner == 'tahoma2d' && github.event_name == 'push' && github.ref == 'refs/heads/master' }}
|
2021-04-25 00:20:49 +12:00
|
|
|
uses: ncipollo/release-action@v1
|
|
|
|
with:
|
|
|
|
allowUpdates: true
|
|
|
|
artifactErrorsFailBuild: false
|
|
|
|
artifacts: toonz/build/Tahoma2D-linux-${{ matrix.compiler }}.tar.gz
|
|
|
|
artifactContentType: "raw"
|
|
|
|
body: ${{ github.event.head_commit.message }}
|
2022-01-16 13:47:13 +13:00
|
|
|
name: Latest Nightly ${{ env.NIGHTLYDATE }}
|
2021-04-25 00:20:49 +12:00
|
|
|
prerelease: true
|
|
|
|
replacesArtifacts: true
|
|
|
|
tag: nightly
|
|
|
|
token: ${{ secrets.GITHUB_TOKEN }}
|
|
|
|
- name: Create Nightlies Release
|
2021-12-04 07:15:06 +13:00
|
|
|
if: ${{ github.repository_owner == 'tahoma2d' && github.event_name == 'push' && github.ref == 'refs/heads/master' }}
|
2021-04-25 00:20:49 +12:00
|
|
|
uses: ncipollo/release-action@v1
|
|
|
|
with:
|
|
|
|
allowUpdates: true
|
|
|
|
artifactErrorsFailBuild: false
|
|
|
|
artifacts: toonz/build/Tahoma2D-linux-${{ matrix.compiler }}.tar.gz
|
|
|
|
artifactContentType: "raw"
|
|
|
|
body: ${{ github.event.head_commit.message }}
|
|
|
|
name: ${{ env.NIGHTLYDATETIME }}
|
2021-04-25 02:49:12 +12:00
|
|
|
omitBodyDuringUpdate: true
|
|
|
|
omitNameDuringUpdate: true
|
2021-04-25 00:20:49 +12:00
|
|
|
owner: tahoma2d
|
|
|
|
prerelease: true
|
|
|
|
replacesArtifacts: true
|
|
|
|
repo: tahoma2d_nightlies
|
|
|
|
tag: nightly-${{ github.sha }}
|
|
|
|
token: ${{ secrets.TAHOMA2D_TOKEN }}
|