Skip to content

stefled is testing out GitHub Actions 🚀 #247

stefled is testing out GitHub Actions 🚀

stefled is testing out GitHub Actions 🚀 #247

Workflow file for this run

name: XPCF CI
run-name: ${{ github.actor }} is testing out GitHub Actions 🚀
on:
push:
branches:
- develop
- feature/test_new_remotes
- feature/boost_1.84.0
tags:
- '[0-9]+\.[0-9]+\.[0-9]+'
env:
tag_version: ${{ github.ref_name == 'feature/boost_1.84.0' && '0.0.0' || github.ref_name }}
jobs:
windows-ci:
# disable Windows CI - issue with boost fiber : error in shared in boost https://github.com/boostorg/fiber/issues/314 , boost fiber disabled in conan (https://github.com/conan-io/conan-center-index/commit/a73631858a3ee5911cab99e69bac9bcccd2b84fe)
if: false
runs-on: windows-2019
steps:
# Xpcf
- name: Xpcf code download
uses: actions/checkout@v3
with:
submodules: 'recursive'
# Generate xpcf files
- name: Generate xpcf files
run: ./scripts/win/update_version.bat -v ${{ env.tag_version }}
# Pkgconfig
- name: Pkgconfig
run: choco install -yr --acceptlicense --no-progress --allow-empty-checksums pkgconfiglite
# Visual Studio 2019 Enterprise comes with the github image windows-2019
# Conan v2.2.2
# - Install
- run: pip install --upgrade conan==2.2.2
- run: echo "C:\Program Files\Conan\conan" | Out-File -Append -FilePath $Env:GITHUB_PATH -Encoding utf8
- run: conan --version
# - run: conan --version
# - Configuration
- run: conan remote add --index 0 conan-solar https://repository.solarframework.org/conan
- run: copy ${{ github.workspace }}/.github/resources/default-windows ./default
- name: conan profile configuration
run: conan config install ./default -tf profiles
# - run: conan profile show default
# Remaken v1.10.0
# - Install
- uses: suisei-cn/actions-download-file@v1.3.0
id: downloadfile # Remember to give an ID if you need the output filename
name: Download the file
with:
url: "https://github.com/b-com-software-basis/remaken/releases/download/1.10.0%2Fwin/Setup_Remaken.exe"
target: ./
- run: .\Setup_Remaken.exe /S
# - configuration
- run: echo "c:\Program Files\Remaken\" | Out-File -Append -FilePath $Env:GITHUB_PATH -Encoding utf8
# - run: remaken.exe profile display
# Qt tools: qmake and jom
- name: install aqt
run: choco install aqt
- name: install Qt kit 5.15.2 msvc2019 64b
run: aqt install-qt windows desktop 5.15.2 win64_msvc2019_64 -O ${{ github.workspace }}/tools/Qt
- name: install jom
uses: suisei-cn/actions-download-file@v1.3.0
id: downloadJom
with:
url: "http://download.qt.io/official_releases/jom/jom.zip"
target: ./
- name: install QtCreator
run: aqt install-tool windows desktop tools_qtcreator -O ${{ github.workspace }}/tools/Qt
- run: echo "${{ github.workspace }}/tools/Qt/5.15.2/msvc2019_64/bin" | Out-File -Append -FilePath $Env:GITHUB_PATH -Encoding utf8
# Delete previous latest version
- name: delete previous latest version
uses: dev-drprasad/delete-tag-and-release@v1.0
with:
tag_name: xpcf/${{ env.tag_version }}/win
github_token: ${{ secrets.GITHUB_TOKEN }}
delete_release: true
- name: delete previous latest version
uses: dev-drprasad/delete-tag-and-release@v1.0
with:
tag_name: xpcf_static_deps/${{ env.tag_version }}/win
github_token: ${{ secrets.GITHUB_TOKEN }}
delete_release: true
# Build solution
# - run: dir "${{ github.workspace }}\tools\Qt\Tools\qtcreator\bin\jom"
# - working-directory: ./scripts/win
# run: .\build_remaken_project_package.bat xpcf shared ..\.. 5.15.2 "${{ github.workspace }}\tools\Qt\5.15.2\msvc2019_64\bin" "${{ github.workspace }}\tools\Qt\Tools\qtcreator\bin\jom"
- working-directory: ./scripts/win
run: .\build_remaken_project_package.bat xpcf static ..\.. 5.15.2 "${{ github.workspace }}\tools\Qt\5.15.2\msvc2019_64\bin" "${{ github.workspace }}\tools\Qt\Tools\qtcreator\bin\jom"
- working-directory: ./scripts/win
run: .\build_remaken_project_package.bat xpcf_static_deps shared ..\.. 5.15.2 "${{ github.workspace }}\tools\Qt\5.15.2\msvc2019_64\bin" "${{ github.workspace }}\tools\Qt\Tools\qtcreator\bin\jom"
# zip results
- name: compress archives
run: |
7z a -tzip xpcf_${{ env.tag_version }}_x86_64_static_release.zip $env:USERPROFILE\.remaken\packages\win-cl-14.1\static\release\xpcf_${{ env.tag_version }}\xpcf >NUL
7z a -tzip xpcf_static_deps_${{ env.tag_version }}_x86_64_shared_release.zip $env:USERPROFILE\.remaken\packages\win-cl-14.1\shared\release\xpcf_static_deps_${{ env.tag_version }}\xpcf_static_deps >NUL
7z a -tzip xpcf_${{ env.tag_version }}_x86_64_static_debug.zip $env:USERPROFILE\.remaken\packages\win-cl-14.1\static\debug\xpcf_${{ env.tag_version }}\xpcf >NUL
7z a -tzip xpcf_static_deps_${{ env.tag_version }}_x86_64_shared_debug.zip $env:USERPROFILE\.remaken\packages\win-cl-14.1\shared\debug\xpcf_static_deps_${{ env.tag_version }}\xpcf_static_deps >NUL
# 7z a -tzip xpcf_${{ env.tag_version }}_x86_64_shared_release.zip $env:USERPROFILE\.remaken\packages\win-cl-14.1\shared\release\xpcf_${{ env.tag_version }}\xpcf >NUL
# 7z a -tzip xpcf_${{ env.tag_version }}_x86_64_shared_debug.zip $env:USERPROFILE\.remaken\packages\win-cl-14.1\shared\debug\xpcf_${{ env.tag_version }}\xpcf >NUL
- uses: "marvinpinto/action-automatic-releases@latest"
with:
repo_token: ${{ secrets.GITHUB_TOKEN }}
automatic_release_tag: xpcf/${{ env.tag_version }}/win
prerelease: true
title: xpcf/${{ env.tag_version }}/win
files: |
xpcf_${{ env.tag_version }}_*
- uses: "marvinpinto/action-automatic-releases@latest"
with:
repo_token: "${{ secrets.GITHUB_TOKEN }}"
automatic_release_tag: xpcf_static_deps/${{ env.tag_version }}/win
prerelease: true
title: xpcf_static_deps/${{ env.tag_version }}/win
files: |
xpcf_static_deps_${{ env.tag_version }}_*
linux-ci:
runs-on: ubuntu-22.04
steps:
# Xpcf
- name: Xpcf code download
uses: actions/checkout@v3
with:
submodules: 'recursive'
# xpcf
####################################################
# Generate xpcf files
- name: Generate xpcf files
run: ./scripts/unixes/update_version.sh -v ${{ env.tag_version }}
# Pkgconfig
- name: Pkgconfig
run: pip install pkgconfig
# - run: pkg-config --version
# Remaken
- uses: suisei-cn/actions-download-file@v1.3.0
id: downloadfile # Remember to give an ID if you need the output filename
name: Download Linux setup
with:
url: "https://github.com/b-com-software-basis/remaken/releases/download/1.10.0%2Funixes/remaken-ubuntu22.04"
target: .
# - run: echo "./remaken" >> $GITHUB_PATH
- run: mv ./remaken-ubuntu22.04 ./remaken
- run: chmod +x ./remaken
- run: ls -al .
# Conan
- name: Conan
run: pip install --upgrade conan==2.2.2
- run: conan --version
# Qt tools: qmake and jom
- run: sudo apt-get update
- run: sudo apt-get install qtbase5-dev
# - run: qmake --help
# Conan v2.2.2
# - Configuration
- run: conan remote add --index 0 conan-solar https://repository.solarframework.org/conan
- run: cp ${{ github.workspace }}/.github/resources/default-linux ./default
- name: conan profile configuration
run: conan config install ./default -tf profiles
- run: conan profile show
# Delete previous latest version xpcf
- name: delete previous latest version
uses: dev-drprasad/delete-tag-and-release@v1.0
with:
tag_name: xpcf/${{ env.tag_version }}/linux
github_token: ${{ secrets.GITHUB_TOKEN }}
delete_release: true
# Delete previous latest version xpcf_static_deps
- name: delete previous latest version
uses: dev-drprasad/delete-tag-and-release@v1.0
with:
tag_name: xpcf_static_deps/${{ env.tag_version }}/linux
github_token: ${{ secrets.GITHUB_TOKEN }}
delete_release: true
# Install dependencies
- run: ./remaken init
- run: ./remaken profile init --cpp-std 17 -b gcc -o linux -a x86_64
- run: ./remaken profile init --cpp-std 17 -b gcc -o linux -a x86_64 -c debug
- run: ./remaken install -c debug -m static --cpp-std 17 -b gcc -o linux -a x86_64
- run: ./remaken install -m static --cpp-std 17 -b gcc -o linux -a x86_64
# Build solution
- working-directory: ./scripts/unixes
run: ./build_remaken_project_package.sh xpcf static ../.. 5.15.2 /usr/bin
- working-directory: ./scripts/unixes
run: ./build_remaken_project_package.sh xpcf shared ../.. 5.15.2 /usr/bin
- working-directory: ./scripts/unixes
run: ./build_remaken_project_package.sh xpcf_static_deps shared ../.. 5.15.2 /usr/bin
# Zip results
- run: ls -al ../../../.remaken/packages/linux-gcc/shared/release/xpcf_${{ env.tag_version }}
- name: compress xpcf shared release
working-directory: ../../../.remaken/packages/linux-gcc/shared/release/xpcf_${{ env.tag_version }}
run: zip -r -y xpcf_${{ env.tag_version }}_x86_64_shared_release.zip xpcf
- run: ls -al ../../../.remaken/packages/linux-gcc/static/release/xpcf_${{ env.tag_version }}
- name: compress xpcf static release
working-directory: ../../../.remaken/packages/linux-gcc/static/release/xpcf_${{ env.tag_version }}
run: zip -r -y xpcf_${{ env.tag_version }}_x86_64_static_release.zip xpcf
- name: compress xpcf_static_deps shared release
working-directory: ../../../.remaken/packages/linux-gcc/shared/release/xpcf_static_deps_${{ env.tag_version }}
run: zip -r -y xpcf_static_deps_${{ env.tag_version }}_x86_64_shared_release.zip xpcf_static_deps
- run: ls -al ../../../.remaken/packages/linux-gcc/shared/debug/xpcf_${{ env.tag_version }}
- name: compress xpcf shared debug
working-directory: ../../../.remaken/packages/linux-gcc/shared/debug/xpcf_${{ env.tag_version }}
run: zip -r -y xpcf_${{ env.tag_version }}_x86_64_shared_debug.zip xpcf
- run: ls -al ../../../.remaken/packages/linux-gcc/static/debug/xpcf_${{ env.tag_version }}
- name: compress xpcf static debug
working-directory: ../../../.remaken/packages/linux-gcc/static/debug/xpcf_${{ env.tag_version }}
run: zip -r -y xpcf_${{ env.tag_version }}_x86_64_static_debug.zip xpcf
- name: compress xpcf_static_deps shared debug
working-directory: ../../../.remaken/packages/linux-gcc/shared/debug/xpcf_static_deps_${{ env.tag_version }}
run: zip -r -y xpcf_static_deps_${{ env.tag_version }}_x86_64_shared_debug.zip xpcf_static_deps
# Create release for xpcf
- run: ls -al ../../../.remaken/packages/linux-gcc/shared/release/xpcf_${{ env.tag_version }}
- run: ls -al ../../../.remaken/packages/linux-gcc/static/release/xpcf_${{ env.tag_version }}
- run: ls -al ../../../.remaken/packages/linux-gcc/shared/debug/xpcf_${{ env.tag_version }}
- run: ls -al ../../../.remaken/packages/linux-gcc/static/debug/xpcf_${{ env.tag_version }}
- uses: "marvinpinto/action-automatic-releases@latest"
with:
repo_token: ${{ secrets.GITHUB_TOKEN }}
automatic_release_tag: xpcf/${{ env.tag_version }}/linux
prerelease: true
title: xpcf/${{ env.tag_version }}/linux
files: |
../../../.remaken/packages/linux-gcc/shared/release/xpcf_${{ env.tag_version }}/xpcf_${{ env.tag_version }}_x86_64_*
../../../.remaken/packages/linux-gcc/static/release/xpcf_${{ env.tag_version }}/xpcf_${{ env.tag_version }}_x86_64_*
../../../.remaken/packages/linux-gcc/shared/debug/xpcf_${{ env.tag_version }}/xpcf_${{ env.tag_version }}_x86_64_*
../../../.remaken/packages/linux-gcc/static/debug/xpcf_${{ env.tag_version }}/xpcf_${{ env.tag_version }}_x86_64_*
# Create release for xpcf_static_deps
- uses: "marvinpinto/action-automatic-releases@latest"
with:
repo_token: "${{ secrets.GITHUB_TOKEN }}"
automatic_release_tag: xpcf_static_deps/${{ env.tag_version }}/linux
prerelease: true
title: xpcf_static_deps/${{ env.tag_version }}/linux
files: |
../../../.remaken/packages/linux-gcc/shared/release/xpcf_static_deps_${{ env.tag_version }}/xpcf_static_deps_${{ env.tag_version }}_*
../../../.remaken/packages/linux-gcc/shared/debug/xpcf_static_deps_${{ env.tag_version }}/xpcf_static_deps_${{ env.tag_version }}_*
# xpcf_grpc_gen
####################################################
# Build cppast
- working-directory: ./libs
run: ./build_cppast.sh
# Install dependencies
# - run: ./remaken init
# - run: ./remaken profile init --cpp-std 17 -b gcc -o linux -a x86_64
# - run: ./remaken profile init --cpp-std 17 -b gcc -o linux -a x86_64 -c debug
- run: ./remaken install -v -m static --cpp-std 17 -b gcc -o linux -a x86_64 ./tools/generators/grpc/packagedependencies.txt
- run: ./remaken install -v -m static --cpp-std 17 -b gcc -o linux -a x86_64 -c debug ./tools/generators/grpc/packagedependencies.txt
# Build xpcf_grpc_gen
- working-directory: ./scripts/unixes
run: ./build_remaken_project_package.sh xpcf_grpc_gen static ../../tools/generators/grpc 5.15.2 /usr/bin
# Delete previous latest version
- name: delete previous latest version
uses: dev-drprasad/delete-tag-and-release@v1.0
with:
tag_name: xpcf_grpc_gen/${{ env.tag_version }}/linux
github_token: ${{ secrets.GITHUB_TOKEN }}
delete_release: true
# Compress result
- name: compress xpcf_grpc static release
working-directory: ../../../.remaken/packages/linux-gcc/static/release/xpcf_grpc_gen_${{ env.tag_version }}
run: zip -r -y xpcf_grpc_gen_${{ env.tag_version }}_x86_64_static_release.zip xpcf_grpc_gen
# Create release for xpcf_static_deps
- uses: "marvinpinto/action-automatic-releases@latest"
with:
repo_token: "${{ secrets.GITHUB_TOKEN }}"
automatic_release_tag: xpcf_grpc_gen/${{ env.tag_version }}/linux
prerelease: true
title: xpcf_grpc_gen/${{ env.tag_version }}/linux
files: |
../../../.remaken/packages/linux-gcc/static/release/xpcf_grpc_gen_${{ env.tag_version }}/xpcf_grpc_gen_${{ env.tag_version }}_*