mirror of
https://github.com/qgis/QGIS.git
synced 2025-02-23 00:02:38 -05:00
55 lines
1.9 KiB
YAML
55 lines
1.9 KiB
YAML
name: Compare vcpkg install changes
|
|
description: Compares vcpkg install outputs between the base and head refs on pull requests and generates a report.
|
|
|
|
inputs:
|
|
vcpkg-manifest-dir:
|
|
description: 'Directory containing the vcpkg.json manifest'
|
|
required: true
|
|
default: '.'
|
|
type: string
|
|
triplet:
|
|
description: 'Triplet to use for vcpkg installation'
|
|
required: true
|
|
default: 'x64-linux'
|
|
type: string
|
|
features:
|
|
description: 'Comma separated list of features'
|
|
required: false
|
|
default: ''
|
|
type: string
|
|
|
|
outputs:
|
|
report:
|
|
description: 'The report of added and removed packages after vcpkg installation comparison'
|
|
value: ${{ steps.compare.outputs.report }}
|
|
|
|
runs:
|
|
using: "composite"
|
|
steps:
|
|
# Run vcpkg install --dry-run on the head ref
|
|
- name: Run vcpkg install (HEAD)
|
|
shell: bash
|
|
run: |
|
|
vcpkg install --dry-run --triplet ${{ inputs.triplet }} --x-manifest-root=${{ inputs.vcpkg-manifest-dir }} $(awk -v FS=',' '{for(i=1; i<=NF; i++) printf "--x-feature=%s ", $i}' <<< "${{ inputs.features }}") --allow-unsupported > /tmp/vcpkg-head-output.txt
|
|
|
|
# Run vcpkg install --dry-run on the base ref
|
|
- name: Run vcpkg install (BASE)
|
|
shell: bash
|
|
run: |
|
|
git worktree add .base-ref ${{ github.event.pull_request.base.sha }}
|
|
vcpkg install --dry-run --triplet ${{ inputs.triplet }} --x-manifest-root=.base-ref/${{ inputs.vcpkg-manifest-dir }} $(awk -v FS=',' '{for(i=1; i<=NF; i++) printf "--x-feature=%s ", $i}' <<< "${{ inputs.features }}") --allow-unsupported > /tmp/vcpkg-base-output.txt
|
|
|
|
|
|
# Compare the outputs and generate a report
|
|
- name: Compare vcpkg outputs
|
|
shell: bash
|
|
id: compare
|
|
run: |
|
|
python3 ${GITHUB_ACTION_PATH}/vcpkg-diff.py > /tmp/vcpkg-report.txt
|
|
cat /tmp/vcpkg-report.txt
|
|
{
|
|
echo 'report<<EOF'
|
|
cat /tmp/vcpkg-report.txt
|
|
echo EOF
|
|
} >> "$GITHUB_OUTPUT"
|