-
Notifications
You must be signed in to change notification settings - Fork 25
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Branch 8.8: Use vcpkg #2549
Merged
Merged
Branch 8.8: Use vcpkg #2549
Changes from 43 commits
Commits
Show all changes
53 commits
Select commit
Hold shift + click to select a range
16bbe71
add vcpkg json and triplet
payetvin 943422e
ubuntu job
payetvin d40fd98
Merge branch 'release/8.8.x' into feature/8.8-vcpkg
payetvin 6a39a74
add ports, fix cmake error
payetvin bee276a
remove antares deps in main cmakelists, try fix wxwidgets
payetvin eef6444
fix parenthesis
payetvin 0e11e62
remove old vcpkg cache ubuntu
payetvin 3ad2886
sonarcloud jojb
payetvin 28ef39c
remove antares deps from download precompiled job
payetvin 60ee0ef
windows job
payetvin cf69f63
dowload zip action
payetvin 9e86f87
indent windows vcpkg
payetvin caff47f
windows
payetvin 6524892
use windows-vcpkg from develop
payetvin 1f21186
fix windows job
payetvin 77338c0
try previous boost version
payetvin d0a1290
revert boost versin
payetvin c70d9bb
use boost 1.72
payetvin 54bbfc9
revert boost
payetvin 34eded9
remove antares deps from git modules
payetvin 7fe3bee
ubuntu job
payetvin 61013c1
remove deps from download extract
payetvin 6f7dc09
boost test version 1.81
payetvin a7419a5
change cache key
payetvin 7512210
remove vcpkg package from windows job
payetvin b861de4
revert last commit
payetvin 1b48ab2
use develop ubuntu.yml
payetvin b16a593
use develop centos and oracle 8
payetvin e7cedb8
activate centos and oracle jobs on this branch
payetvin 64e785c
solver-8.8 for oracle
payetvin aefa052
solver-8.8 for windows and ubuntu
payetvin 00306cf
add docker/ from develop
payetvin f47de12
remove api tests
payetvin ac8d763
update action version, cmake action
payetvin be64019
remove init test nr from ubuntu
payetvin f56f1bc
solver 8-8 for centos in dockerfile
payetvin bae030d
rm tests related to ts generator exe
payetvin 133f602
type in centos dockerfile
payetvin 64c7b76
centos and oracle8 OK
payetvin 4bee611
sonarcloud versions
payetvin 73bd1dc
use same vcpkg version
payetvin 66617f0
remove 9.1 9.2 tests in windows
payetvin 4a4e919
remove test nr init
payetvin 3fba2e4
Merge, fix conflicts in CI files
payetvin 9d2c018
checkout vcpkg to b322364f, update vcpkg.json
payetvin 5298ef2
update new_release.yml
payetvin 14256a7
remove antares-deps-version.json
payetvin 5863bff
update build-userguide
payetvin 0d01065
rc4
payetvin 32602f6
remove cucumber tests
payetvin aecd5a8
remove antares-deps directory
payetvin 691807b
simtest 8.8.12
payetvin 1e08c60
Change error message for sirius not found
payetvin File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -2,10 +2,11 @@ name: Centos7 CI (push and/or release) | |
|
||
on: | ||
release: | ||
types: [created] | ||
types: [ created ] | ||
push: | ||
branches: | ||
- develop | ||
- dependabot/* | ||
schedule: | ||
- cron: '21 2 * * *' | ||
workflow_call: | ||
|
@@ -28,102 +29,107 @@ jobs: | |
|
||
build: | ||
name: Build | ||
env: | ||
ORTOOLSDIR: ${{ github.workspace }}/or-tools | ||
|
||
runs-on: ubuntu-latest | ||
container: 'antaresrte/rte-antares:centos7-simulator-no-deps' | ||
|
||
steps: | ||
|
||
- name: Checkout | ||
run: | | ||
git clone $GITHUB_SERVER_URL/$GITHUB_REPOSITORY.git -b ${{ env.REF }} . | ||
|
||
- name: Install gcc 11 | ||
run: | | ||
yum install -y centos-release-scl | ||
yum install -y devtoolset-11-gcc* | ||
|
||
- uses: ./.github/workflows/install-cmake-328 | ||
|
||
- name: Init submodule | ||
run: | | ||
git submodule update --init --remote src/antares-deps src/tests/resources/Antares_Simulator_Tests | ||
|
||
- name: Download & extract precompiled deps at root | ||
run: | | ||
ANTARES_DEPS_VERSION=$(cut -d'"' -f4 antares-deps-version.json | grep -Ev '\{|\}') | ||
cd / | ||
wget https://github.com/AntaresSimulatorTeam/antares-deps/releases/download/v${ANTARES_DEPS_VERSION}/rte-antares-deps-centos7-Release.tar.gz | ||
tar -xvf rte-antares-deps-centos7-Release.tar.gz | ||
rm -rf rte-antares-deps-centos7-Release.tar.gz | ||
|
||
- name: Config OR-Tools URL | ||
run: | | ||
echo "URL_ORTOOLS=https://github.com/rte-france/or-tools-rte/releases/download/$(cat ortools_tag)/ortools_cxx_centos7_static_sirius.zip" >> $GITHUB_ENV | ||
|
||
- name: Download OR-Tools | ||
id: ortools | ||
run: | | ||
mkdir -p ${{ env.ORTOOLSDIR }} && cd ${{ env.ORTOOLSDIR }} | ||
wget -q -O ortools.zip ${{ env.URL_ORTOOLS }} | ||
unzip -q ortools.zip | ||
rm ortools.zip | ||
|
||
- name: Install gh if needed | ||
if: ${{ env.IS_RELEASE == 'true' }} | ||
run: | | ||
wget https://github.com/cli/cli/releases/download/v2.52.0/gh_2.52.0_linux_amd64.rpm | ||
rpm -i gh_2.52.0_linux_amd64.rpm | ||
gh --version | ||
|
||
- name: Configure | ||
run: | | ||
source /opt/rh/devtoolset-11/enable | ||
cmake -B _build -S src \ | ||
-DCMAKE_C_COMPILER_LAUNCHER=ccache \ | ||
-DCMAKE_CXX_COMPILER_LAUNCHER=ccache \ | ||
-DDEPS_INSTALL_DIR=/rte-antares-deps-Release \ | ||
-DCMAKE_BUILD_TYPE=Release \ | ||
-DBUILD_TESTING=ON \ | ||
-DBUILD_not_system=OFF \ | ||
-DBUILD_TOOLS=ON \ | ||
-DBUILD_UI=OFF \ | ||
-DCMAKE_PREFIX_PATH=${{ env.ORTOOLSDIR }}/install \ | ||
|
||
- name: Build | ||
run: | | ||
source /opt/rh/devtoolset-11/enable | ||
source /opt/rh/rh-git227/enable | ||
cmake --build _build --config Release -j$(nproc) | ||
ccache -s | ||
|
||
- name: Installer .rpm creation | ||
run: | | ||
cd _build | ||
cpack -G RPM | ||
|
||
- name: Solver archive creation | ||
run: | | ||
cd _build | ||
cmake --install . --prefix install | ||
pushd . | ||
cd install/bin | ||
tar czf ../../antares-solver_centos7.tar.gz antares-*-solver libsirius_solver.so | ||
popd | ||
rm -rf install | ||
|
||
- name: .tar.gz creation | ||
run: | | ||
cd _build | ||
cpack -G TGZ | ||
|
||
- name: Publish assets | ||
if: ${{ env.IS_RELEASE == 'true' }} | ||
env: | ||
GITHUB_TOKEN: ${{ github.token }} | ||
tag: ${{ github.event.inputs.release_tag }} | ||
run: | | ||
gh release upload "$tag" _build/*.tar.gz _build/*.rpm | ||
|
||
#sparse checkout -- only needed files | ||
- uses: actions/checkout@v4 | ||
with: | ||
fetch-depth: 0 | ||
sparse-checkout: | | ||
docker | ||
src/vcpkg.json | ||
ref: ${{ env.REF }} | ||
|
||
- name: set env variables -- DockerFiles | ||
run: | | ||
echo "DOCKERFILE=$(pwd)/docker/Dockerfile" >> $GITHUB_ENV | ||
echo "DOCKERDIR=$(pwd)/docker" >> $GITHUB_ENV | ||
|
||
|
||
|
||
- name: Get changed files | ||
id: changed-files | ||
uses: tj-actions/changed-files@v45 | ||
with: | ||
files: | | ||
docker/AntaresDeps | ||
|
||
- name: Docker file push | ||
id: docker_push | ||
|
||
if: steps.changed-files.outputs.any_changed == 'true' | ||
uses: elgohr/Publish-Docker-Github-Action@main | ||
with: | ||
name: antaresrte/antaressystemdeps | ||
username: ${{ secrets.DOCKER_USERNAME }} | ||
password: ${{ secrets.DOCKER_PASSWORD }} | ||
workdir: ${{ env.DOCKERDIR }} | ||
dockerfile: ${{ env.DOCKERDIR }}/AntaresDeps | ||
cache: false | ||
tags: latest | ||
|
||
- name: create vcpkg cache dir | ||
run: | | ||
echo "VCPKG_CACHE_DIR=$GITHUB_WORKSPACE/vcpkg_cache" >> $GITHUB_ENV | ||
mkdir -p ${{ github.workspace }}/vcpkg_cache | ||
|
||
|
||
- name: Restore vcpkg binary dir from cache | ||
id: cache-vcpkg-binary | ||
uses: actions/cache/restore@v4 | ||
with: | ||
path: ${{ github.workspace }}/vcpkg_cache | ||
key: vcpkg-cache-centos7-${{ hashFiles('src/vcpkg.json', '.git/modules/vcpkg/HEAD') }} | ||
# Allows to restore a cache when deps have only partially changed (like adding a dependency) | ||
restore-keys: vcpkg-cache-centos7- | ||
|
||
- name: Setup ccache | ||
uses: hendrikmuhs/[email protected] | ||
with: | ||
key: centos7-on-${{ runner.os }} | ||
|
||
|
||
- name: Build the image and Antares | ||
run: | | ||
ls -latr .ccache/ && \ | ||
docker build \ | ||
-t antares:centos7 \ | ||
--build-arg="BRANCH=${{ env.REF }}" \ | ||
--build-arg="NPROC=$(nproc)" \ | ||
--build-arg="VCPKG_CACHE_DIR=./vcpkg_cache" \ | ||
--build-arg CCACHE_DIR=./.ccache \ | ||
--build-arg CCACHE_KEY=centos7-on-${{ runner.os }} \ | ||
-f ${{ env.DOCKERFILE }} . | ||
|
||
|
||
- name: create a container without starting it && retrieve the .tgz | ||
run: | | ||
container_id=$(docker create antares:centos7) | ||
docker cp $container_id:/workspace/Antares_Simulator/_build/archive archive | ||
docker cp $container_id:/workspace/vcpkg_cache ${{ env.VCPKG_CACHE_DIR }} | ||
docker cp $container_id:/workspace/.ccache/. .ccache | ||
ls -la .ccache | ||
docker rm $container_id | ||
|
||
|
||
- name: Publish assets | ||
if: ${{ env.IS_RELEASE == 'true' }} | ||
env: | ||
GITHUB_TOKEN: ${{ github.token }} | ||
tag: ${{ github.event.inputs.release_tag }} | ||
run: | | ||
gh release upload "$tag" archive/*.tar.gz archive/*.rpm | ||
|
||
|
||
- name: Cache vcpkg binary dir | ||
if: always() | ||
id: save-cache-vcpkg-binary | ||
uses: actions/cache/save@v4 | ||
with: | ||
path: ${{ github.workspace }}/vcpkg_cache | ||
key: vcpkg-cache-centos7-${{ hashFiles('src/vcpkg.json', '.git/modules/vcpkg/HEAD') }} | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
where this workflow is used?
cmake 3.28 can be installed with pip