Skip to content

Commit

Permalink
CI update for 2024 3Q releases (#229)
Browse files Browse the repository at this point in the history
* Test feature: `vulkan`
* Deprecate check with vcpkg 2024.04.26
* Test Android build in CircleCI
* Remove Triplet test in Azure Pipelines
* ci: exclude onnxruntime arm64-windows
* disable VCPKG_ENABLE_METRICS, cache only VCPKG_DOWNLOADS
* change vcpkg.json, self-hosted.json
  • Loading branch information
luncliff authored Aug 10, 2024
1 parent 18acf49 commit d17d9e2
Show file tree
Hide file tree
Showing 9 changed files with 285 additions and 226 deletions.
76 changes: 57 additions & 19 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,52 +2,49 @@
version: 2.1

orbs:
# win: circleci/windows@5.0
aws-cli: circleci/aws-cli@4.1.2 # https://circleci.com/developer/orbs/orb/circleci/aws-cli
aws-s3: circleci/aws-s3@4.0
aws-cli: circleci/aws-cli@4.1.3 # https://circleci.com/developer/orbs/orb/circleci/aws-cli
android: circleci/android@2.5.0

workflows:
overlay:
jobs:
- x64_linux_gcc:
- x64_linux:
filters:
branches:
ignore:
- gh-pages
- docs
- arm64_android

jobs:
x64_linux_gcc:
# docker:
# - image: gcc:13.2
x64_linux:
machine:
image: ubuntu-2204:current
resource_class: large
environment:
VCPKG_DOWNLOADS: /tmp/vcpkg-caches
VCPKG_DEFAULT_BINARY_CACHE: /tmp/vcpkg-caches
VCPKG_DEFAULT_TRIPLET: x64-linux
steps:
- checkout
- aws-cli/setup
- aws-cli/setup # check project variables
- run:
name: "Setup: microsoft/vcpkg(2024.05.24)"
name: "Setup: microsoft/vcpkg(2024.07.12)"
command: |
sudo apt-get update -y -q
sudo apt-get install -y -q curl zip unzip tar
mkdir -p $VCPKG_DOWNLOADS
mkdir -p $VCPKG_DEFAULT_BINARY_CACHE
git clone --branch=2024.05.24 --depth=1 https://github.com/microsoft/vcpkg
git clone --branch=2024.07.12 --depth=1 https://github.com/microsoft/vcpkg
pushd vcpkg
./bootstrap-vcpkg.sh
./vcpkg --version
popd
pwd
- restore_cache:
keys:
- v2430-linux-{{ checksum ".circleci/config.yml" }}
- v2430-linux-{{ .Branch }}
- v2430-linux-main
- v2432-linux-{{ checksum ".circleci/config.yml" }}
- v2432-linux-{{ .Branch }}
- v2432-linux-main
- run:
name: "Install APT packages"
command: |
Expand All @@ -62,19 +59,60 @@ jobs:
--clean-packages-after-build \
--overlay-ports "$(pwd)/../ports" \
$(cat "$(pwd)/../.circleci/port-linux.txt")
# environment:
# CC: gcc-12
# CXX: g++-12
environment:
VCPKG_DEFAULT_TRIPLET: x64-linux
# CC: gcc-12
# CXX: g++-12
working_directory: vcpkg
no_output_timeout: 1h
- save_cache:
key: v2430-linux-{{ .Branch }}
key: v2432-linux-{{ .Branch }}
paths:
- /tmp/vcpkg-caches
- save_cache:
key: v2430-linux-{{ checksum ".circleci/config.yml" }}
key: v2432-linux-{{ checksum ".circleci/config.yml" }}
paths:
- /tmp/vcpkg-caches
- store_artifacts:
path: vcpkg/buildtrees/
destination: "build-logs"

arm64_android:
docker:
- image: cimg/android:2024.08.1-ndk
environment:
VCPKG_DOWNLOADS: /tmp/vcpkg-caches
VCPKG_DEFAULT_BINARY_CACHE: /tmp/vcpkg-caches
steps:
- checkout
- aws-cli/setup # check project variables
- android/accept-licenses
- run:
name: "Setup: microsoft/vcpkg(2024.07.12)"
command: |
sudo apt-get update -y -q
sudo apt-get install -y -q curl zip unzip tar
mkdir -p $VCPKG_DOWNLOADS
mkdir -p $VCPKG_DEFAULT_BINARY_CACHE
git clone --branch=2024.07.12 --depth=1 https://github.com/microsoft/vcpkg
pushd vcpkg
./bootstrap-vcpkg.sh
./vcpkg --version
popd
pwd
- run:
name: "Install: azure-port-android.txt"
command: |
./vcpkg install \
--keep-going --recurse \
--clean-buildtrees-after-build \
--clean-packages-after-build \
--overlay-ports "$(pwd)/../ports" \
--overlay-ports "$(pwd)/../triplets" \
$(cat "$(pwd)/../test/azure-port-android.txt")
working_directory: vcpkg
environment:
VCPKG_DEFAULT_TRIPLET: arm64-android
- store_artifacts:
path: vcpkg/buildtrees/
destination: "build-logs"
44 changes: 25 additions & 19 deletions .github/workflows/build-macos.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,66 +7,72 @@ concurrency:
cancel-in-progress: true

env:
VCPKG_FEATURE_FLAGS: "registries,binarycaching,manifests,versions"
VCPKG_ENABLE_METRICS: 0

jobs:
overlay:
runs-on: "macos-13"
strategy:
matrix:
include:
- vcpkg_tag: "2024.04.26"
vcpkg_commit: "943c5ef1c8f6b5e6ced092b242c8299caae2ff01"
- vcpkg_tag: "2024.05.24"
vcpkg_commit: "01f602195983451bc83e72f4214af2cbc495aa94"
- vcpkg_tag: "2024.06.15"
vcpkg_commit: "f7423ee180c4b7f40d43402c2feb3859161ef625"
- vcpkg_tag: "2024.07.12"
vcpkg_commit: "1de2026f28ead93ff1773e6e680387643e914ea1"
fail-fast: false
env:
VCPKG_DOWNLOADS: "/usr/local/share/vcpkg-downloads"
VCPKG_DEFAULT_BINARY_CACHE: "/usr/local/share/vcpkg-archives"
VCPKG_FEATURE_FLAGS: "registries,binarycaching,manifests,versions"
VCPKG_OVERLAY_PORTS: "${{ github.workspace }}/ports"
VCPKG_OVERLAY_TRIPLETS: ${{ github.workspace }}/triplets
steps:
- uses: actions/checkout@v4.1.6
- uses: ConorMacBride/install-package@v1.1.0
with:
brew: ninja autoconf automake libtool
brew: autoconf automake libtool

# - uses: mobiledevops/xcode-select-version-action@v1.0.0
# with:
# xcode-select-version: "15.2"

- name: "create cache folders"
run: |
mkdir -p ${VCPKG_DOWNLOADS}
mkdir -p ${VCPKG_DEFAULT_BINARY_CACHE}
- uses: mobiledevops/xcode-select-version-action@v1.0.0
with:
xcode-select-version: "15.2"

- uses: actions/cache@v4.0.2
with:
key: "v2426-${{ runner.os }}-${{ matrix.vcpkg_tag }}"
key: "v2432-${{ runner.os }}-${{ matrix.vcpkg_tag }}"
path: |
/usr/local/share/vcpkg-downloads
/usr/local/share/vcpkg-archives
${{ runner.temp }}/vcpkg-downloads
- name: "Create cache folders"
shell: bash
run: |
mkdir -p ${VCPKG_DOWNLOADS}
env:
VCPKG_DOWNLOADS: "${{ runner.temp }}/vcpkg-downloads"

- uses: lukka/run-vcpkg@v11.5
name: "Run vcpkg(x64-osx)"
with:
vcpkgDirectory: "/usr/local/share/vcpkg" # see VCPKG_INSTALLATION_ROOT
vcpkgGitCommitId: "${{ matrix.vcpkg_commit }}"
vcpkgJsonGlob: "test/vcpkg.json"
vcpkgConfigurationJsonGlob: "test/vcpkg-configuration.json"
runVcpkgInstall: true
runVcpkgFormatString: '[`install`, `--keep-going`, `--clean-buildtrees-after-build`, `--clean-packages-after-build`, `--triplet`, `$[env.VCPKG_DEFAULT_TRIPLET]`]'
runVcpkgFormatString: '[`install`, `--keep-going`, `--clean-buildtrees-after-build`, `--clean-packages-after-build`, `--triplet`, `$[env.VCPKG_DEFAULT_TRIPLET]`, `--x-feature`, `test`]'
env:
VCPKG_DEFAULT_TRIPLET: "x64-osx"
VCPKG_BINARY_SOURCES: ${{ secrets.VCPKG_BINARY_SOURCES }}
VCPKG_DOWNLOADS: "${{ runner.temp }}/vcpkg-downloads"

- uses: lukka/run-vcpkg@v11.5
name: "Run vcpkg(arm64-osx)"
with:
vcpkgDirectory: "/usr/local/share/vcpkg" # see VCPKG_INSTALLATION_ROOT
vcpkgGitCommitId: "${{ matrix.vcpkg_commit }}"
vcpkgJsonGlob: "test/vcpkg.json"
vcpkgConfigurationJsonGlob: "test/vcpkg-configuration.json"
runVcpkgInstall: true
runVcpkgFormatString: '[`install`, `--keep-going`, `--clean-buildtrees-after-build`, `--clean-packages-after-build`, `--triplet`, `$[env.VCPKG_DEFAULT_TRIPLET]`]'
runVcpkgFormatString: '[`install`, `--keep-going`, `--clean-buildtrees-after-build`, `--clean-packages-after-build`, `--triplet`, `$[env.VCPKG_DEFAULT_TRIPLET]`, `--x-feature`, `test`]'
env:
VCPKG_DEFAULT_TRIPLET: "arm64-osx"
VCPKG_BINARY_SOURCES: ${{ secrets.VCPKG_BINARY_SOURCES }}
VCPKG_DOWNLOADS: "${{ runner.temp }}/vcpkg-downloads"
46 changes: 30 additions & 16 deletions .github/workflows/build-ubuntu.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,23 +7,23 @@ concurrency:
cancel-in-progress: true

env:
VCPKG_FEATURE_FLAGS: "registries,binarycaching,manifests,versions"
VCPKG_ENABLE_METRICS: 0

jobs:
overlay:
# check https://github.com/actions/runner-images/blob/main/images/ubuntu/Ubuntu2404-Readme.md
runs-on: "ubuntu-22.04"
runs-on: "ubuntu-latest" # check https://github.com/actions/runner-images/blob/main/images/ubuntu
strategy:
matrix:
include:
- vcpkg_tag: "2024.04.26"
vcpkg_commit: "943c5ef1c8f6b5e6ced092b242c8299caae2ff01"
- vcpkg_tag: "2024.05.24"
vcpkg_commit: "01f602195983451bc83e72f4214af2cbc495aa94"
- vcpkg_tag: "2024.06.15"
vcpkg_commit: "f7423ee180c4b7f40d43402c2feb3859161ef625"
- vcpkg_tag: "2024.07.12"
vcpkg_commit: "1de2026f28ead93ff1773e6e680387643e914ea1"
fail-fast: false
env:
VCPKG_FEATURE_FLAGS: "registries,binarycaching,manifests,versions"
VCPKG_OVERLAY_PORTS: "${{ github.workspace }}/ports"
VCPKG_OVERLAY_TRIPLETS: "${{ github.workspace }}/triplets"
steps:
Expand All @@ -32,30 +32,44 @@ jobs:
with:
apt: nuget nasm libnuma-dev libopenmpi-dev libx11-dev libxi-dev libxext-dev libx11-xcb-dev

- name: "create cache folders"
- uses: actions/cache@v4.0.2
with:
key: "v2432-${{ runner.os }}-${{ matrix.vcpkg_tag }}"
path: |
${{ runner.temp }}/vcpkg-downloads
- name: "Create cache folders"
shell: bash
run: |
mkdir -p ${VCPKG_DOWNLOADS}
mkdir -p ${VCPKG_DEFAULT_BINARY_CACHE}
env:
VCPKG_DOWNLOADS: "${{ runner.temp }}/vcpkg-downloads"
VCPKG_DEFAULT_BINARY_CACHE: "${{ runner.temp }}/vcpkg-archives"

- uses: actions/cache@v4.0.2
- uses: lukka/run-vcpkg@v11.5
name: "Run vcpkg(x64-linux)"
with:
key: "v2426-x64-linux-${{ matrix.vcpkg_tag }}"
path: |
${{ runner.temp }}/vcpkg-downloads
${{ runner.temp }}/vcpkg-archives
vcpkgDirectory: "${{ runner.temp }}/vcpkg" # ignore VCPKG_INSTALLATION_ROOT
vcpkgGitCommitId: "${{ matrix.vcpkg_commit }}"
vcpkgJsonGlob: "test/vcpkg.json"
vcpkgConfigurationJsonGlob: "test/vcpkg-configuration.json"
runVcpkgInstall: true
runVcpkgFormatString: '[`install`, `--keep-going`, `--clean-buildtrees-after-build`, `--clean-packages-after-build`, `--triplet`, `$[env.VCPKG_DEFAULT_TRIPLET]`, `--x-feature`, `test`]'
env:
VCPKG_DEFAULT_TRIPLET: "x64-linux"
VCPKG_BINARY_SOURCES: ${{ secrets.VCPKG_BINARY_SOURCES }}
VCPKG_DOWNLOADS: "${{ runner.temp }}/vcpkg-downloads"

- uses: lukka/run-vcpkg@v11.5
name: "Run vcpkg(arm64-linux)" # It's for future works. Not ready yet...
if: ${{ false }}
with:
vcpkgDirectory: "${{ runner.temp }}/vcpkg" # ignore VCPKG_INSTALLATION_ROOT
vcpkgGitCommitId: "${{ matrix.vcpkg_commit }}"
vcpkgJsonGlob: "test/vcpkg.json"
vcpkgConfigurationJsonGlob: "test/vcpkg-configuration.json"
runVcpkgInstall: true
runVcpkgFormatString: '[`install`, `--keep-going`, `--clean-buildtrees-after-build`, `--clean-packages-after-build`, `--triplet`, `$[env.VCPKG_DEFAULT_TRIPLET]`]'
runVcpkgFormatString: '[`install`, `--keep-going`, `--clean-buildtrees-after-build`, `--clean-packages-after-build`, `--triplet`, `$[env.VCPKG_DEFAULT_TRIPLET]`, `--x-feature`, `test`]'
env:
VCPKG_DEFAULT_TRIPLET: "x64-linux"
VCPKG_DEFAULT_TRIPLET: "arm64-linux"
VCPKG_BINARY_SOURCES: ${{ secrets.VCPKG_BINARY_SOURCES }}
VCPKG_DOWNLOADS: "${{ runner.temp }}/vcpkg-downloads"
VCPKG_DEFAULT_BINARY_CACHE: "${{ runner.temp }}/vcpkg-archives"
Loading

0 comments on commit d17d9e2

Please sign in to comment.