Repository navigation
104 lines (94 loc) · 3.29 KB
/
Copy pathcache_libs.yml
File metadata and controls
104 lines (94 loc) · 3.29 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
name: Cache library dependencies
on:
workflow_call:
inputs:
ZLIB_VERSION:
default: "1.3.2"
required: false
type: string
LIBICONV_VERSION:
default: "1.18"
required: false
type: string
LIBXML2_VERSION:
default: "2.14.6"
required: false
type: string
LIBXSLT_VERSION:
default: "1.1.43"
required: false
type: string
WIN_ZLIB_VERSION:
default: "1.3.2"
required: false
type: string
WIN_LIBICONV_VERSION:
default: "1.17.1"
required: false
type: string
WIN_LIBXML2_VERSION:
default: "2.11.9"
required: false
type: string
WIN_LIBXSLT_VERSION:
default: "1.1.45"
required: false
type: string
outputs:
ZLIB_VERSION:
value: ${{ inputs.ZLIB_VERSION }}
LIBICONV_VERSION:
value: ${{ inputs.LIBICONV_VERSION }}
LIBXML2_VERSION:
value: ${{ inputs.LIBXML2_VERSION }}
LIBXSLT_VERSION:
value: ${{ inputs.LIBXSLT_VERSION }}
WIN_ZLIB_VERSION:
value: ${{ inputs.WIN_ZLIB_VERSION }}
WIN_LIBICONV_VERSION:
value: ${{ inputs.WIN_LIBICONV_VERSION }}
WIN_LIBXML2_VERSION:
value: ${{ inputs.WIN_LIBXML2_VERSION }}
WIN_LIBXSLT_VERSION:
value: ${{ inputs.WIN_LIBXSLT_VERSION }}
jobs:
cache_libs:
strategy:
fail-fast: false
matrix:
os:
- "ubuntu-22.04"
- "ubuntu-22.04-arm"
- "macos-latest"
- "windows-2022" # win32
- "windows-latest" # win_amd64
- "windows-11-arm"
runs-on: ${{ matrix.os }}
env:
ZLIB_VERSION: ${{ contains(matrix.os, 'windows-') && inputs.WIN_ZLIB_VERSION || inputs.ZLIB_VERSION }}
LIBICONV_VERSION: ${{ contains(matrix.os, 'windows-') && inputs.WIN_LIBICONV_VERSION || inputs.LIBICONV_VERSION }}
LIBXML2_VERSION: ${{ contains(matrix.os, 'windows-') && inputs.WIN_LIBXML2_VERSION || inputs.LIBXML2_VERSION }}
LIBXSLT_VERSION: ${{ contains(matrix.os, 'windows-') && inputs.WIN_LIBXSLT_VERSION || inputs.LIBXSLT_VERSION }}
steps:
- name: Check out the repo
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
- name: Cache [libs]
uses: actions/cache@55cc8345863c7cc4c66a329aec7e433d2d1c52a9 # v6.1.0
with:
path: |
libs/*.xz
libs/*.gz
libs/*.zip
key: libs-${{ runner.os }}-${{ matrix.os == 'windows-2022' && 'i686' || runner.arch }}-${{ env.LIBXML2_VERSION }}-${{ env.LIBXSLT_VERSION }}-${{ env.LIBICONV_VERSION }}-${{ env.ZLIB_VERSION }}
- name: Download latest libraries
env:
GITHUB_API_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: python3 buildlibxml.py --download-only ${{ matrix.os == 'windows-2022' && 'win32' || '' }}
- name: Check Windows library versions
if: ${{ contains(matrix.os, 'windows-') }}
run: |
bash -c '
for file in libs/zlib-${{ inputs.WIN_ZLIB_VERSION }}.*.zip libs/iconv-${{ inputs.WIN_LIBICONV_VERSION }}.*.zip libs/libxml2-${{ inputs.WIN_LIBXML2_VERSION }}.*.zip libs/libxslt-${{ inputs.WIN_LIBXSLT_VERSION }}.*.zip; do
[[ -f "$file" ]] || { echo "MISSING: $file" ; exit 1; }
done
'