Browse Source

(#4) use test-third-party-build in production build steps

rexim 5 years ago
parent
commit
ca525a2eab
1 changed files with 23 additions and 21 deletions
  1. 23 21
      .github/workflows/ci.yml

+ 23 - 21
.github/workflows/ci.yml

@@ -3,7 +3,7 @@ on: [push, pull_request]
 
 jobs:
 # TODO(#4): Linux build doesn't render the video sample
-  test-third-party-build:
+  build-linux-gcc:
     runs-on: ubuntu-18.04
     steps:
       - uses: actions/checkout@v1
@@ -27,31 +27,15 @@ jobs:
         run: |
           make -B
           ./emote_downloader
-          cat mapping.csv
           make render
         env:
-          CC: clang
-          CXX: clang++
+          CC: gcc
+          CXX: g++
       - uses: actions/upload-artifact@v2
         with:
           name: output.mpeg
           path: ./output.mpeg
 
-  build-linux-gcc:
-    runs-on: ubuntu-18.04
-    steps:
-      - uses: actions/checkout@v1
-      - name: install dependencies
-        run: |
-          sudo apt-get update
-          sudo apt-get install -qq libfreetype6-dev libgif-dev libavutil-dev libavcodec-dev libcurl4-openssl-dev
-      - name: build the application
-        run: |
-          make -B
-        env:
-          CC: gcc
-          CXX: g++
-
   build-linux-clang:
     runs-on: ubuntu-18.04
     steps:
@@ -59,13 +43,31 @@ jobs:
       - name: install dependencies
         run: |
           sudo apt-get update
-          sudo apt-get install -qq libfreetype6-dev libgif-dev libavutil-dev libavcodec-dev libcurl4-openssl-dev
-      - name: build the application
+          sudo apt-get install -qq nasm libfreetype6-dev libcurl4-openssl-dev
+      - uses: actions/cache@v2
+        with:
+          # TODO: centralize third party versions in the build
+          path: |
+            ./third_party/ffmpeg-4.3-dist/
+            ./third_party/giflib-5.2.1-dist/
+          key: ${{ runner.os }}-ffmpeg-4.3-giflib-5.2.1
+      - name: build third-party things
+        run: |
+          cd third_party
+          ./build_third_party.sh
+          cd ..
+      - name: build vodus
         run: |
           make -B
+          ./emote_downloader
+          make render
         env:
           CC: clang
           CXX: clang++
+      - uses: actions/upload-artifact@v2
+        with:
+          name: output.mpeg
+          path: ./output.mpeg
 
 # TODO(#5): no MacOS build
 # TODO(#8): no Windows build