mirror of
https://github.com/IfcOpenShell/IfcOpenShell.git
synced 2026-08-05 23:41:44 +00:00
07147f4b7f
Bumps [actions/checkout](https://github.com/actions/checkout) from 2 to 5. - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](https://github.com/actions/checkout/compare/v2...v5) --- updated-dependencies: - dependency-name: actions/checkout dependency-version: '5' dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com>
93 lines
2.8 KiB
YAML
93 lines
2.8 KiB
YAML
name: Build IfcOpenShell Windows
|
|
|
|
on:
|
|
workflow_dispatch:
|
|
|
|
jobs:
|
|
build_ifcopenshell:
|
|
runs-on: windows-2022
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
arch: ['x64']
|
|
steps:
|
|
- name: Checkout Repository
|
|
uses: actions/checkout@v5
|
|
with:
|
|
submodules: recursive
|
|
|
|
- name: Checkout Build Repository
|
|
uses: actions/checkout@v5
|
|
with:
|
|
repository: IfcOpenShell/build-outputs
|
|
path: _deps-vs2022-x64-installed
|
|
ref: windows-${{ matrix.arch }}
|
|
lfs: true
|
|
token: ${{ secrets.BUILD_REPO_TOKEN }}
|
|
|
|
- name: Install Dependencies
|
|
run: |
|
|
choco install -y sed 7zip.install awscli
|
|
|
|
- name: Unpack Dependencies
|
|
run: |
|
|
cd _deps-vs2022-x64-installed
|
|
Get-ChildItem -Path . -Filter 'cache-*.zip' | ForEach-Object {
|
|
7z x $_.FullName
|
|
}
|
|
|
|
- name: ccache
|
|
# TODO: Use tag after 1.2.20 releases.
|
|
uses: hendrikmuhs/ccache-action@5ebbd400eff9e74630f759d94ddd7b6c26299639
|
|
with:
|
|
key: win-${{ matrix.arch }}
|
|
# Windows ccache needs ~1GB
|
|
# and with default 500MB some cache gets deleted, leading to misses.
|
|
max-size: 5000MB
|
|
|
|
- name: Run Build Script And Pack .zip Archives
|
|
shell: cmd
|
|
run: |
|
|
call "C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Auxiliary\Build\vcvars64.bat"
|
|
cd win
|
|
python build-all-win.py
|
|
|
|
- name: Pack Dependencies
|
|
run: |
|
|
cd _deps-vs2022-x64-installed
|
|
Get-ChildItem -Path . -Directory | ForEach-Object {
|
|
$cacheFile = "cache-$($_.Name).zip"
|
|
echo $cacheFile
|
|
if (!(Test-Path $cacheFile)) {
|
|
7z a $cacheFile $_.FullName
|
|
}
|
|
}
|
|
|
|
- name: Commit and Push Changes to Build Repository
|
|
run: |
|
|
cd _deps-vs2022-x64-installed
|
|
git config user.name "IfcOpenBot"
|
|
git config user.email "ifcopenbot@ifcopenshell.org"
|
|
git add *.zip
|
|
git commit -m "Update build artifacts [skip ci]" || echo "No changes to commit"
|
|
git push || echo "Push failed"
|
|
|
|
- name: Configure AWS Credentials
|
|
uses: aws-actions/configure-aws-credentials@v4
|
|
with:
|
|
aws-access-key-id: ${{ secrets.AWS_UPLOAD_ACCESS_KEY_ID }}
|
|
aws-secret-access-key: ${{ secrets.AWS_UPLOAD_SECRET_ACCESS_KEY }}
|
|
aws-region: us-east-1
|
|
|
|
- name: Upload .zip Archives to S3
|
|
env:
|
|
AWS_DEBUG: 1
|
|
AWS_RETRY_MODE: standard
|
|
AWS_MAX_ATTEMPTS: 3
|
|
run: |
|
|
dir "$env:USERPROFILE\output"
|
|
foreach ($zip in Get-ChildItem -Path "$env:USERPROFILE\output" -Filter *.zip) {
|
|
aws s3 cp "$($zip.FullName)" s3://ifcopenshell-builds/ --debug
|
|
Start-Sleep -Seconds 5
|
|
}
|