Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .github/workflows/build-test-distribute.yml
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,7 @@ jobs:
with:
docker_image_tag: ${{ needs.config.outputs.docker_image_tag }}
need_linux_image_rebuild: ${{ needs.config.outputs.need_linux_image_rebuild == 'true' }}
need_linux_vcpkg_rebuild: ${{ needs.config.outputs.need_linux_vcpkg_rebuild == 'true' }}
need_windows_vcpkg_rebuild: ${{ needs.config.outputs.need_windows_vcpkg_rebuild == 'true' }}
vs19_vcpkg_version: ${{ needs.config.outputs.vs19_vcpkg_version }}
vs22_vcpkg_version: ${{ needs.config.outputs.vs22_vcpkg_version }}
Expand Down
18 changes: 16 additions & 2 deletions .github/workflows/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,9 @@ on:
need_linux_image_rebuild:
description:
value: ${{ jobs.prepare-config.outputs.linux-changes == 'true' && github.event_name != 'schedule' && jobs.prepare-config.outputs.tag-skip-image-rebuild != 'true' }}
need_linux_vcpkg_rebuild:
description:
value: ${{ jobs.prepare-config.outputs.linux-vcpkg-changes == 'true' && github.event_name != 'schedule' && jobs.prepare-config.outputs.tag-skip-image-rebuild != 'true' }}
need_windows_vcpkg_rebuild:
description:
value: ${{ ( jobs.prepare-config.outputs.windows-changes == 'true' || jobs.prepare-config.outputs.tag-bump-vcpkg == 'true' ) && jobs.prepare-config.outputs.tag-skip-image-rebuild != 'true' }}
Expand Down Expand Up @@ -80,6 +83,7 @@ jobs:
docker-image-tag: ${{ steps.select-docker-image-tag.outputs.image_tag }}
release_tag: ${{ steps.version-tag.outputs.release_tag }}
linux-changes: ${{ steps.linux-changes.outputs.src }}
linux-vcpkg-changes: ${{ steps.linux-vcpkg-changes.outputs.src }}
ubuntu_x64_config_matrix: ${{ steps.set-ubuntu-x64-matrix.outputs.matrix }}
windows-changes: ${{ steps.windows-changes.outputs.src }}
# please list the required tags here
Expand Down Expand Up @@ -119,14 +123,24 @@ jobs:
with:
filters: |
src:
- 'docker/*Dockerfile'
- 'requirements/!(windows.txt|macos.txt|python.txt|Brewfile)'
- 'docker/(ubuntu20|ubuntu22|ubuntu24|fedora39|emscripten)Dockerfile'
- 'requirements/(ubuntu|fedora|distribution_python).txt'
- 'scripts/build_thirdparty.sh'
- 'scripts/install_apt_requirements.sh'
- 'scripts/install_dnf_requirements.sh'
- 'scripts/mrbind/install_deps_ubuntu.sh'
- 'thirdparty/!(install.bat|vcpkg/**)'

- name: Filter Linux vcpkg paths
uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3
id: linux-vcpkg-changes
with:
filters: |
src:
- 'docker/vcpkgDockerfile'
- 'requirements/vcpkg-linux.txt'
- 'thirdparty/vcpkg/**'

- name: Filter Windows paths
uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3
id: windows-changes
Expand Down
47 changes: 44 additions & 3 deletions .github/workflows/prepare-images.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,9 @@ on:
need_linux_image_rebuild:
required: true
type: boolean
need_linux_vcpkg_rebuild:
required: true
type: boolean
need_windows_vcpkg_rebuild:
required: true
type: boolean
Expand All @@ -35,13 +38,11 @@ jobs:
strategy:
fail-fast: false
matrix:
distro: [ ubuntu20, ubuntu22, ubuntu24, fedora39, vcpkg, emscripten ]
distro: [ ubuntu20, ubuntu22, ubuntu24, fedora39, emscripten ]
arch: [ x64, arm64 ]
exclude:
- distro: fedora39
arch: arm64
- distro: vcpkg
arch: arm64
- distro: emscripten
arch: x64
include:
Expand Down Expand Up @@ -99,6 +100,46 @@ jobs:
- name: Remove unused Docker data
run: docker system prune --force --all --volumes

linux-vcpkg-build-upload:
if: ${{ inputs.need_linux_vcpkg_rebuild }}
timeout-minutes: 75
strategy:
fail-fast: false
matrix:
arch: [ x64 ]
include:
- arch: x64
image-suffix: ''
os: ubuntu-latest
- arch: arm64
image-suffix: '-arm64'
os: [ self-hosted, linux-arm64, on-demand, meshinspector ]
runs-on: ${{ matrix.os }}
env:
image: meshlib/meshlib-vcpkg${{ matrix.image-suffix }}:${{ inputs.docker_image_tag }}
vcpkg_triplet: ${{ matrix.arch }}-linux-meshlib
steps:
- name: Remove unused Docker data
run: docker system prune --force --all --volumes

- name: Checkout
uses: actions/checkout@v4

- name: Login to DockerHub
uses: docker/login-action@74a5d142397b4f367a81961eba4e8cd7edddf772 # v3
with:
username: meshlib
password: ${{ secrets.DOCKERHUB_TOKEN }}

- name: Build Linux vcpkg image
run: docker build -f ./docker/vcpkgDockerfile -t ${{ env.image }} --build-arg VCPKG_TRIPLET=${{ env.vcpkg_triplet }} . --progress=plain

- name: Push Linux vcpkg image
run: docker push ${{ env.image }}

- name: Remove unused Docker data
run: docker system prune --force --all --volumes

windows-vcpkg-build-upload:
if: ${{ inputs.need_windows_vcpkg_rebuild }}
timeout-minutes: 240
Expand Down
Loading