Skip to content
Closed
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
21 changes: 6 additions & 15 deletions .github/workflows/build-test-distribute.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ jobs:
# use the ${{ needs.config.outputs.bool-param == 'true' }} construction to check boolean values
config:
uses: ./.github/workflows/config.yml
secrets: inherit

debug-config:
needs: config
Expand All @@ -30,16 +31,6 @@ jobs:
${{ toJSON( needs.config.outputs ) }}
EOF

prepare-image:
needs: config
uses: ./.github/workflows/prepare-images.yml
with:
docker_image_tag: ${{ needs.config.outputs.docker_image_tag }}
need_linux_image_rebuild: ${{ needs.config.outputs.need_linux_image_rebuild == 'true' }}
need_windows_vcpkg_rebuild: ${{ needs.config.outputs.need_windows_vcpkg_rebuild == 'true' }}
vcpkg_version: ${{ needs.config.outputs.vcpkg_version }}
secrets: inherit

versioning-and-release-url:
needs: config
uses: ./.github/workflows/versioning-release.yml
Expand All @@ -52,7 +43,7 @@ jobs:

windows-build-test:
if: ${{ needs.config.outputs.build_enable_windows == 'true' }}
needs: [ config, prepare-image ]
needs: [ config ]
uses: ./.github/workflows/build-test-windows.yml
with:
full_config_build: ${{ needs.config.outputs.full_config_build == 'true' }}
Expand All @@ -64,7 +55,7 @@ jobs:

ubuntu-arm64-build-test:
if: ${{ needs.config.outputs.build_enable_ubuntu_arm64 == 'true' }}
needs: [ config, prepare-image ]
needs: [ config ]
uses: ./.github/workflows/build-test-ubuntu-arm64.yml
with:
app_version: ${{ needs.config.outputs.app_version }}
Expand All @@ -77,7 +68,7 @@ jobs:

ubuntu-x64-build-test:
if: ${{ needs.config.outputs.build_enable_ubuntu_x64 == 'true' }}
needs: [ config, prepare-image ]
needs: [ config ]
uses: ./.github/workflows/build-test-ubuntu-x64.yml
with:
app_version: ${{ needs.config.outputs.app_version }}
Expand All @@ -91,7 +82,7 @@ jobs:

fedora-build-test:
if: ${{ needs.config.outputs.build_enable_fedora == 'true' }}
needs: [ config, prepare-image ]
needs: [ config ]
uses: ./.github/workflows/build-test-fedora.yml
with:
app_version: ${{ needs.config.outputs.app_version }}
Expand All @@ -104,7 +95,7 @@ jobs:

emscripten-build-test:
if: ${{ needs.config.outputs.build_enable_emscripten == 'true' }}
needs: [ config, prepare-image ]
needs: [ config ]
uses: ./.github/workflows/build-test-emscripten.yml
with:
docker_image_tag: ${{ needs.config.outputs.docker_image_tag }}
Expand Down
79 changes: 79 additions & 0 deletions .github/workflows/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -179,3 +179,82 @@ jobs:
else
echo "matrix=$(jq -c . < .github/workflows/matrix/ubuntu-x64-minimal-config.json)" >> $GITHUB_OUTPUT
fi

linux-image-build-upload:
needs: [prepare-config]
if: ${{ needs.prepare-config.outputs.linux-changes == 'true' && !contains( github.event.pull_request.labels.*.name, 'skip-image-rebuild' ) }}
timeout-minutes: 75
strategy:
fail-fast: false
matrix:
distro: [ ubuntu20, ubuntu22, ubuntu24, fedora39, emscripten ]
arch: [ x64, arm64 ]
exclude:
- distro: fedora39
arch: arm64
- distro: emscripten
arch: x64
include:
- arch: x64
image-suffix: ''
os: ubuntu-latest
- arch: arm64
image-suffix: '-arm64'
os: [ self-hosted, linux-arm64 ]
runs-on: ${{ matrix.os }}
env:
dockerfile: ${{ matrix.distro }}Dockerfile
image: meshlib/meshlib-${{ matrix.distro }}${{ matrix.image-suffix }}:${{ needs.prepare-config.outputs.docker-image-tag }}
steps:
- name: Remove unused Docker data
run: docker system prune --force --all --volumes

- name: Checkout
uses: actions/checkout@v4
with:
submodules: true

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

- name: Build Linux image
run: docker build -f ./docker/${{ env.dockerfile }} -t ${{ env.image }} . --progress=plain

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

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

windows-vcpkg-build-upload:
needs: [prepare-config]
if: ${{ needs.prepare-config.outputs.windows-changes == 'true' && !contains( github.event.pull_request.labels.*.name, 'skip-image-rebuild' )}}
timeout-minutes: 240
runs-on: windows-2022
steps:
- name: Setup vcpkg
working-directory: C:\vcpkg
run: |
git fetch
git checkout ${{ inputs.vcpkg_version }}
bootstrap-vcpkg.bat
vcpkg.exe integrate install

- name: Checkout
uses: actions/checkout@v4
with:
submodules: true

- name: Configure AWS Credentials
uses: aws-actions/configure-aws-credentials@v4
with:
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
aws-region: us-east-1

- name: Build and cache vcpkg
run: .\thirdparty\install.bat --write-s3

103 changes: 0 additions & 103 deletions .github/workflows/prepare-images.yml

This file was deleted.

Loading