Skip to content

build: add libcurl to build containers #847

build: add libcurl to build containers

build: add libcurl to build containers #847

Workflow file for this run

name: "CI Build"
on:
push:
branches: [ master ]
paths-ignore:
- 'website/**'
- BUILD.md
- CODE_OF_CONDUCT.md
- CONTRIBUTING.md
- README.md
- latest.json
- .gitignore
pull_request:
branches: [ master ]
paths-ignore:
- 'website/**'
- BUILD.md
- CODE_OF_CONDUCT.md
- CONTRIBUTING.md
- README.md
- latest.json
- .gitignore
workflow_dispatch:
jobs:
SaveVersion:
if: "!contains(github.event.head_commit.message, '[skip ci]')"
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v3
- uses: ./.github/actions/klogg-version
- name: Save version
run: echo $KLOGG_VERSION > klogg_version.txt
- uses: actions/upload-artifact@v3
with:
name: klogg_version
path: 'klogg_version.txt'
if-no-files-found: error
Linux:
if: "!contains(github.event.head_commit.message, '[skip ci]')"
strategy:
fail-fast: false
matrix:
config:
#- os: oraclelinux
# os_version: 7
# arch: x64
# check_command: yum install -y --setopt tsflags=test /usr/local/klogg*.rpm
# cpack_gen: RPM
# artifacts_id: oracle7
# package_suffix: rpm
# check_container: oraclelinux:7
# container_root: docker/oracle7
# container: variar/klogg_oracle7
# cmake_opts: -DKLOGG_USE_SENTRY=OFF -DKLOGG_USE_LTO=OFF -DKLOGG_USE_HYPERSCAN=OFF
- os: oraclelinux
os_version: 8
arch: x64
check_command: yum install -y --setopt tsflags=test /usr/local/klogg*.rpm
cpack_gen: RPM
artifacts_id: oracle
package_suffix: rpm
check_container: oraclelinux:8
container_root: docker/oracle8
container: variar/klogg_oracle8
cmake_opts: -DCMAKE_BUILD_WITH_INSTALL_RPATH=on
- os: ubuntu_bionic
os_version: 18.04
arch: x64
check_command: apt-get update && apt install --dry-run /usr/local/klogg*.deb
cpack_gen: DEB
artifacts_id: bionic
package_suffix: deb
check_container: ubuntu:18.04
container_root: docker/ubuntu18.04
container: variar/klogg_ubuntu18.04
cmake_opts: -DKLOGG_USE_LTO=OFF
- os: ubuntu_focal
os_version: 20.04
arch: x64
check_command: apt-get update && apt install --dry-run /usr/local/klogg*.deb
cpack_gen: DEB
artifacts_id: focal
package_suffix: deb
check_container: ubuntu:20.04
container_root: docker/ubuntu20.04
container: variar/klogg_ubuntu20.04
cmake_opts:
- os: ubuntu_jammy
os_version: 22.04
arch: x64
check_command: apt-get update && apt install --dry-run /usr/local/klogg*.deb
cpack_gen: DEB
artifacts_id: jammy
package_suffix: deb
check_container: ubuntu:22.04
container_root: docker/ubuntu22.04
container: variar/klogg_ubuntu22.04
cmake_opts:
- os: ubuntu_appimage
os_version: 18.04
arch: x64
#check_command: apt-get update && apt install --dry-run /usr/local/klogg*.deb
#cpack_gen: DEB
artifacts_id: appimage
package_suffix: AppImage
#check_container: ubuntu:18.04
container_root: docker/ubuntu18.04_qt5.15
container: variar/klogg_ubuntu18.04_qt5.15
cmake_opts: -DKLOGG_USE_LTO=OFF -DCMAKE_PREFIX_PATH=/opt/qt515/
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v3
#- uses: satackey/[email protected]
# # Ignore the failure of a step and avoid terminating the job.
# continue-on-error: true
- name: Build container
run: |
cd ${{ matrix.config.container_root }}
docker build -t ${{ matrix.config.container }} .
- uses: ./.github/actions/klogg-version
- uses: ./.github/actions/prepare-workspace-env
- uses: ./.github/actions/docker-build
- uses: ./.github/actions/docker-run-tests
- uses: ./.github/actions/docker-package
# Final upload of all packages
- uses: actions/upload-artifact@v3
with:
name: packages-${{ matrix.config.artifacts_id }}
path: '${{ env.KLOGG_BUILD_ROOT }}/packages/*'
if-no-files-found: error
Mac:
if: "!contains(github.event.head_commit.message, '[skip ci]')"
strategy:
fail-fast: false
matrix:
config:
- os: macos
os_version: 11
qt_version: 5.15.2
qt_modules:
arch: x64
artifacts_id: macos-qt5
cmake_opts: -DKLOGG_OSX_DEPLOYMENT_TARGET=10.14
- os: macos
os_version: 11
qt_version: 6.5.1
qt_modules: qt5compat
arch: x64
artifacts_id: macos-qt6
cmake_opts: -DKLOGG_OSX_DEPLOYMENT_TARGET=10.15
runs-on: ${{ matrix.config.os }}-${{ matrix.config.os_version }}
steps:
- uses: actions/checkout@v3
#Install build deps
- name: Set brew env
run: |
echo "HOMEBREW_NO_ANALYTICS=1" >> $GITHUB_ENV
echo "HOMEBREW_NO_AUTO_UPDATE=1" >> $GITHUB_ENV
echo "HOMEBREW_NO_INSTALL_CLEANUP=1" >> $GITHUB_ENV
- name: Brew deps
run: |
brew install ragel
- uses: ./.github/actions/agent-setup
- uses: ./.github/actions/klogg-version
- uses: ./.github/actions/prepare-workspace-env
- uses: ./.github/actions/agent-build
- uses: ./.github/actions/agent-run-tests
- uses: ./.github/actions/agent-package-mac
with:
p12-file-base64: ${{ secrets.CODESIGN_BASE64 }}
p12-password: ${{ secrets.CODESIGN_PASSWORD }}
appstore-connect-username: ${{ secrets.NOTARIZATION_USERNAME }}
appstore-connect-password: ${{ secrets.NOTARIZATION_PASSWORD }}
- uses: actions/upload-artifact@v3
with:
name: packages-${{ matrix.config.artifacts_id }}
path: '${{ env.KLOGG_BUILD_ROOT }}/packages/*'
if-no-files-found: error
Windows:
if: "!contains(github.event.head_commit.message, '[skip ci]')"
strategy:
fail-fast: false
matrix:
config:
- os: windows
os_version: 2022
qt_version: 5.15.2
arch: x64
ssl_arch: -x64
cmake_opts:
artifacts_id: windows-x64-qt5
- os: windows
os_version: 2022
qt_version: 6.5.1
qt_modules: qt5compat
arch: x64
ssl_arch: -x64
cmake_opts:
artifacts_id: windows-x64-qt6
- os: windows
os_version: 2022
qt_version: 5.15.2
arch: x86
qt_arch: win32_msvc2019
cmake_opts:
artifacts_id: windows-x86-qt5
runs-on: ${{ matrix.config.os }}-${{ matrix.config.os_version }}
steps:
- uses: actions/checkout@v3
- name: Cache openssl
id: cache-openssl
uses: actions/cache@v2
with:
path: ${{ github.workspace }}\openssl-1.1
key: OpensslCache-1-1-1n
- name: Download openssl
if: ${{ steps.cache-openssl.outputs.cache-hit != 'true' }}
run: |
Invoke-WebRequest -Uri "https://www.firedaemon.com/download-firedaemon-openssl-1-zip" -OutFile openssl.zip
7z x openssl.zip
- name: Set openssl paths
shell: sh
run: |
echo "SSL_DIR=${{ github.workspace }}\openssl-1.1\${{ matrix.config.arch }}\bin" >> $GITHUB_ENV
echo "SSL_ARCH=${{ matrix.config.ssl_arch }}" >> $GITHUB_ENV
- uses: ./.github/actions/agent-setup
- uses: ./.github/actions/klogg-version
- uses: ./.github/actions/prepare-workspace-env
- name: Prepare dev cmd
uses: ilammy/msvc-dev-cmd@v1
with:
arch: ${{ matrix.config.arch }}
- uses: ./.github/actions/agent-build
- uses: ./.github/actions/agent-run-tests
- uses: ./.github/actions/agent-package-win
with:
s3-key-id: ${{ secrets.WIN_CS_KEY_ID }}
s3-secret: ${{ secrets.WIN_CS_SECRET }}
s3-bucket: ${{ secrets.WIN_CS_BUCKET }}
# Final upload of all packages
- uses: actions/upload-artifact@v3
with:
name: packages-${{ matrix.config.artifacts_id }}
path: '${{ env.KLOGG_BUILD_ROOT }}/packages/*'
if-no-files-found: error