You've already forked libopenshot-audio
mirror of
https://github.com/OpenShot/libopenshot-audio.git
synced 2026-03-02 08:54:01 -08:00
115 lines
6.1 KiB
YAML
115 lines
6.1 KiB
YAML
stages:
|
|
- init-builders
|
|
- build-libopenshot-audio
|
|
- cleanup-builders
|
|
- trigger-libopenshot
|
|
|
|
variables:
|
|
GIT_LOG_FORMAT: "- %h %ad %s [%aN]"
|
|
|
|
# INIT BUILDERS: Add to both queues in one job
|
|
init_builders:
|
|
stage: init-builders
|
|
except:
|
|
- tags
|
|
tags: [gitlab]
|
|
script:
|
|
- send-ci-sqs linux
|
|
- send-ci-sqs windows
|
|
|
|
# BUILD STAGE: All build jobs depend on init_builders
|
|
linux-builder:
|
|
stage: build-libopenshot-audio
|
|
artifacts:
|
|
expire_in: 6 months
|
|
paths:
|
|
- build/install-x64/*
|
|
script:
|
|
- mkdir -p build
|
|
- cd build
|
|
- cmake -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON -D"CMAKE_INSTALL_PREFIX:PATH=install-x64" -D"CMAKE_BUILD_TYPE:STRING=Release" ../
|
|
- make -j 2
|
|
- make install
|
|
- PROJECT_VERSION=$(grep -E '^set\(PROJECT_VERSION_FULL "(.*)' ../CMakeLists.txt | awk '{print $2}' | tr -d '")')
|
|
- PROJECT_SO=$(grep -E '^set\(PROJECT_SO_VERSION (.*)' ../CMakeLists.txt | awk '{print $2}' | tr -d ')')
|
|
- echo -e "CI_PROJECT_NAME:$CI_PROJECT_NAME\nCI_COMMIT_REF_NAME:$CI_COMMIT_REF_NAME\nCI_COMMIT_SHA:$CI_COMMIT_SHA\nCI_JOB_ID:$CI_JOB_ID\nCI_PIPELINE_ID:$CI_PIPELINE_ID\nVERSION:$PROJECT_VERSION\nSO:$PROJECT_SO" > "install-x64/share/$CI_PROJECT_NAME.env"
|
|
- git log $(git describe --tags --abbrev=0 @^)..@ --oneline --pretty=format:"- %C(auto,yellow)%h%C(auto,magenta)% %C(auto,blue)%>(12,trunc)%ad %C(auto,green)%<(25,trunc)%aN%C(auto,reset)%s%C(auto,red)% gD% D" --date=short > "install-x64/share/$CI_PROJECT_NAME.log"
|
|
except:
|
|
- tags
|
|
tags: [linux-focal]
|
|
|
|
mac-builder:
|
|
stage: build-libopenshot-audio
|
|
artifacts:
|
|
expire_in: 6 months
|
|
paths:
|
|
- build/install-x64/*
|
|
script:
|
|
- mkdir -p build
|
|
- cmake -B build -S . -DCMAKE_EXE_LINKER_FLAGS="-stdlib=libc++" -DCMAKE_SHARED_LINKER_FLAGS="-stdlib=libc++" -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON -D"CMAKE_INSTALL_PREFIX:PATH=build/install-x64" -DCMAKE_CXX_COMPILER=clang++ -DCMAKE_C_COMPILER=clang -D"CMAKE_BUILD_TYPE:STRING=Release" -D"CMAKE_OSX_SYSROOT=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk" -D"CMAKE_OSX_DEPLOYMENT_TARGET=10.9"
|
|
- cmake --build build -j 9
|
|
- cmake --install build
|
|
- PROJECT_VERSION=$(grep -E '^set\(PROJECT_VERSION_FULL "(.*)' CMakeLists.txt | awk '{print $2}' | tr -d '")')
|
|
- PROJECT_SO=$(grep -E '^set\(PROJECT_SO_VERSION (.*)' CMakeLists.txt | awk '{print $2}' | tr -d ')')
|
|
- echo -e "CI_PROJECT_NAME:$CI_PROJECT_NAME\nCI_COMMIT_REF_NAME:$CI_COMMIT_REF_NAME\nCI_COMMIT_SHA:$CI_COMMIT_SHA\nCI_JOB_ID:$CI_JOB_ID\nCI_PIPELINE_ID:$CI_PIPELINE_ID\nVERSION:$PROJECT_VERSION\nSO:$PROJECT_SO" > "build/install-x64/share/$CI_PROJECT_NAME.env"
|
|
- git log $(git describe --tags --abbrev=0 @^)..@ --oneline --pretty=format:"- %C(auto,yellow)%h%C(auto,magenta)% %C(auto,blue)%>(12,trunc)%ad %C(auto,green)%<(25,trunc)%aN%C(auto,reset)%s%C(auto,red)% gD% D" --date=short > "build/install-x64/share/$CI_PROJECT_NAME.log"
|
|
except:
|
|
- tags
|
|
tags: [mac]
|
|
|
|
windows-builder-x64:
|
|
stage: build-libopenshot-audio
|
|
artifacts:
|
|
expire_in: 6 months
|
|
paths:
|
|
- build\install-x64\*
|
|
script:
|
|
- $env:Path = "C:\msys64\mingw64\bin;C:\msys64\usr\bin;" + $env:Path;
|
|
- $env:MSYSTEM = "MINGW64"
|
|
- New-Item -ItemType Directory -Force -Path build
|
|
- cmake -B build -S . -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON -D"CMAKE_INSTALL_PREFIX:PATH=build/install-x64" -G "MinGW Makefiles" -D"CMAKE_BUILD_TYPE:STRING=Release"
|
|
- cmake --build build
|
|
- cmake --install build
|
|
- $PROJECT_VERSION = (Select-String -Path "CMakeLists.txt" -Pattern '^set\(PROJECT_VERSION_FULL "(.*)\"' | %{$_.Matches.Groups[1].value})
|
|
- $PROJECT_SO = (Select-String -Path "CMakeLists.txt" -Pattern '^set\(PROJECT_SO_VERSION (.*)\)' | %{$_.Matches.Groups[1].value})
|
|
- New-Item -path "build/install-x64/share/" -Name "$CI_PROJECT_NAME.env" -Value "CI_PROJECT_NAME:$CI_PROJECT_NAME`nCI_COMMIT_REF_NAME:$CI_COMMIT_REF_NAME`nCI_COMMIT_SHA:$CI_COMMIT_SHA`nCI_JOB_ID:$CI_JOB_ID`nCI_PIPELINE_ID:$CI_PIPELINE_ID`nVERSION:$PROJECT_VERSION`nSO:$PROJECT_SO" -ItemType file -force
|
|
- $PREV_GIT_LABEL=(git describe --tags --abbrev=0 '@^')
|
|
- git log "$PREV_GIT_LABEL..@" --oneline --pretty=format:"- %C(auto,yellow)%h%C(auto,magenta)% %C(auto,blue)%>(12,trunc)%ad %C(auto,green)%<(25,trunc)%aN%C(auto,reset)%s%C(auto,red)% gD% D" --date=short > "build/install-x64/share/$CI_PROJECT_NAME.log"
|
|
except:
|
|
- tags
|
|
tags: [windows]
|
|
|
|
windows-builder-x86:
|
|
stage: build-libopenshot-audio
|
|
artifacts:
|
|
expire_in: 6 months
|
|
paths:
|
|
- build\install-x86\*
|
|
script:
|
|
- $env:Path = "C:\msys64\mingw32\bin;C:\msys64\usr\bin;" + $env:Path;
|
|
- $env:MSYSTEM = "MINGW32"
|
|
- New-Item -ItemType Directory -Force -Path build
|
|
- cmake -B build -S . -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON -D"CMAKE_INSTALL_PREFIX:PATH=build/install-x86" -G "MinGW Makefiles" -D"CMAKE_BUILD_TYPE:STRING=Release" -D"CMAKE_CXX_FLAGS=-m32" -D"CMAKE_C_FLAGS=-m32"
|
|
- cmake --build build
|
|
- cmake --install build
|
|
- $PROJECT_VERSION = (Select-String -Path "CMakeLists.txt" -Pattern '^set\(PROJECT_VERSION_FULL "(.*)\"' | %{$_.Matches.Groups[1].value})
|
|
- $PROJECT_SO = (Select-String -Path "CMakeLists.txt" -Pattern '^set\(PROJECT_SO_VERSION (.*)\)' | %{$_.Matches.Groups[1].value})
|
|
- New-Item -path "build/install-x86/share/" -Name "$CI_PROJECT_NAME.env" -Value "CI_PROJECT_NAME:$CI_PROJECT_NAME`nCI_COMMIT_REF_NAME:$CI_COMMIT_REF_NAME`nCI_COMMIT_SHA:$CI_COMMIT_SHA`nCI_JOB_ID:$CI_JOB_ID`nCI_PIPELINE_ID:$CI_PIPELINE_ID`nVERSION:$PROJECT_VERSION`nSO:$PROJECT_SO" -ItemType file -force
|
|
- $PREV_GIT_LABEL=(git describe --tags --abbrev=0 '@^')
|
|
- git log "$PREV_GIT_LABEL..@" --oneline --pretty=format:"- %C(auto,yellow)%h%C(auto,magenta)% %C(auto,blue)%>(12,trunc)%ad %C(auto,green)%<(25,trunc)%aN%C(auto,reset)%s%C(auto,red)% gD% D" --date=short > "build/install-x86/share/$CI_PROJECT_NAME.log"
|
|
except:
|
|
- tags
|
|
tags:
|
|
- windows
|
|
|
|
# TRIGGER: Only runs if all previous succeeded
|
|
trigger-pipeline:
|
|
stage: trigger-libopenshot
|
|
script:
|
|
- "curl -X POST -F token=$LIBOPENSHOT_PIPELINE_TOKEN -F ref=$CI_COMMIT_REF_NAME http://gitlab.openshot.org/api/v4/projects/1/trigger/pipeline"
|
|
when: on_success
|
|
dependencies: []
|
|
except:
|
|
- tags
|
|
tags: [gitlab]
|