Skip to content

Commit e17d3a8

Browse files
authored
Merge branch 'master' into xcode-flag-fix
2 parents 3d8f36b + b4201d8 commit e17d3a8

File tree

8 files changed

+248
-98
lines changed

8 files changed

+248
-98
lines changed

.github/dependabot.yml

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,10 @@
1-
# https://docs.github.com/github/administering-a-repository/configuration-options-for-dependency-updates
21
version: 2
32
updates:
43
- package-ecosystem: "github-actions"
5-
directory: "/" # Location of package manifests
4+
directory: "/"
65
schedule:
76
interval: "monthly"
7+
open-pull-requests-limit: 100
8+
labels:
9+
- "dependencies"
10+
- "github-actions"

.github/workflows/MyLib.yml

Lines changed: 0 additions & 31 deletions
This file was deleted.

.github/workflows/ci.yml

Lines changed: 79 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,41 @@
11
name: CI
2+
23
on:
34
pull_request:
4-
branches:
5-
- 'master'
6-
- 'release-*'
75
push:
86
branches:
97
- 'master'
108
- 'release-*'
119
tags: '*'
10+
merge_group: # GitHub Merge Queue
11+
1212
concurrency:
13-
group: ${{ github.head_ref || github.ref_name || github.run_id }}
14-
cancel-in-progress: true
13+
# Skip intermediate builds: all builds except for builds on the `master` branch
14+
# Cancel intermediate builds: only pull request builds
15+
group: ${{ github.workflow }}-${{ github.ref }}-${{ github.ref != 'refs/heads/master' || github.run_number }}
16+
cancel-in-progress: ${{ startsWith(github.ref, 'refs/pull/') }}
17+
1518
jobs:
19+
finalize:
20+
if: always() # this line is important to keep the `finalize` job from being marked as skipped; do not change or delete this line
21+
runs-on: ubuntu-latest
22+
timeout-minutes: 10
23+
needs:
24+
- ci_started
25+
- test
26+
- docs
27+
- build-mylib
28+
steps:
29+
- run: |
30+
echo ci_started: ${{ needs.ci_started.result }}
31+
echo test: ${{ needs.test.result }}
32+
echo docs: ${{ needs.docs.result }}
33+
echo build-mylib: ${{ needs.build-mylib.result }}
34+
- run: exit 1
35+
if: ${{ contains(needs.*.result, 'failure') || contains(needs.*.result, 'cancelled') || contains(needs.*.result, 'skipped') }}
1636
ci_started:
17-
timeout-minutes: 3
1837
runs-on: ubuntu-latest
38+
timeout-minutes: 10
1939
steps:
2040
- run: exit 0
2141
test:
@@ -26,40 +46,56 @@ jobs:
2646
fail-fast: false
2747
matrix:
2848
julia-version:
29-
- '1.6'
30-
- '1.9'
31-
- '1.10'
32-
- 'nightly'
49+
- '1.6' # previous LTS
50+
# - '1.9' # TODO: uncomment this line once we fix the tests on 1.9
51+
- '1.10' # current LTS
52+
# - '1.11' # TODO: uncomment this line once we fix the tests on 1.11
53+
# - 'nightly' # TODO: decide whether we want to run any CI jobs on nightly.
3354
julia-arch:
34-
- 'x64'
35-
- 'x86'
55+
- 'x64' # 32-bit Julia
56+
- 'x86' # 64-bit Julia
3657
os:
3758
- ubuntu-latest
38-
- macOS-latest
3959
- windows-latest
60+
- macos-13 # macos-13 = Intel.
61+
# TODO: uncomment the next line, so that we can start testing on macos-14:
62+
# - macos-14 # macos-14 = Apple Silicon.
4063
coverage:
4164
- 'true'
42-
- 'false' # needed for 1.9+ to test from a session using pkgimages
65+
- 'false' # needed for Julia 1.9+ to test from a session using pkgimages
4366
exclude:
44-
- os: macOS-latest
67+
# For now, we'll disable testing 32-bit Julia 1.9 on Windows.
68+
# TODO: remove the following once we fix the tests for 32-bit Julia 1.9 on Windows.
69+
- os: windows-latest
70+
julia-arch: x86
71+
julia-version: '1.9'
72+
#
73+
# We don't have 32-bit builds of Julia for macOS:
74+
- os: macos-latest
75+
julia-arch: x86
76+
#
77+
# We don't have 32-bit builds of Julia for macOS:
78+
- os: macos-latest
4579
julia-arch: x86
80+
#
81+
# We don't need to run the coverage=false job for Julia < 1.9:
4682
- julia-version: '1.6'
4783
coverage: 'false'
4884
- julia-version: '1.7'
4985
coverage: 'false'
5086
- julia-version: '1.8'
5187
coverage: 'false'
5288
steps:
53-
- uses: actions/checkout@v4
54-
- uses: julia-actions/setup-julia@latest
89+
- uses: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 # v4.2.1
90+
- uses: julia-actions/setup-julia@9b79636afcfb07ab02c256cede01fe2db6ba808c # v2.6.0
5591
with:
5692
version: ${{ matrix.julia-version }}
57-
- uses: julia-actions/cache@v2
58-
- uses: julia-actions/julia-runtest@latest
93+
- uses: julia-actions/cache@824243901fb567ccb490b0d0e2483ccecde46834 # v2.0.5
94+
- uses: julia-actions/julia-runtest@d0c4f093badade621cd041bba567d1e832480ac2 # v1.10.0
5995
with:
6096
coverage: ${{ matrix.coverage }}
61-
- uses: julia-actions/julia-processcoverage@latest
62-
- uses: codecov/codecov-action@v4
97+
- uses: julia-actions/julia-processcoverage@03114f09f119417c3242a9fb6e0b722676aedf38 # v1.2.2
98+
- uses: codecov/codecov-action@b9fd7d16f6d7d1b5d2bec1a2887e65ceed900238 # v4.6.0
6399
with:
64100
file: lcov.info
65101
env:
@@ -68,12 +104,32 @@ jobs:
68104
runs-on: ubuntu-latest
69105
timeout-minutes: 30
70106
steps:
71-
- uses: actions/checkout@v4
72-
- uses: julia-actions/setup-julia@latest
107+
- uses: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 # v4.2.1
108+
- uses: julia-actions/setup-julia@9b79636afcfb07ab02c256cede01fe2db6ba808c # v2.6.0
73109
with:
74110
version: '1'
75111
- name: Build and deploy docs
76112
env:
77113
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # If authenticating with GitHub Actions token
78114
DOCUMENTER_KEY: ${{ secrets.DOCUMENTER_KEY }} # If authenticating with SSH deploy key
79115
run: julia --project=docs/ -e 'using Pkg; Pkg.instantiate(); include("docs/make.jl")'
116+
build-mylib:
117+
runs-on: ubuntu-latest
118+
timeout-minutes: 60
119+
steps:
120+
- uses: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 # v4.2.1
121+
- uses: julia-actions/setup-julia@9b79636afcfb07ab02c256cede01fe2db6ba808c # v2.6.0
122+
with:
123+
version: '1'
124+
- uses: julia-actions/julia-buildpkg@90dd6f23eb49626e4e6612cb9d64d456f86e6a1c # v1.6.0
125+
with:
126+
project: 'examples/MyLib'
127+
- uses: julia-actions/julia-buildpkg@90dd6f23eb49626e4e6612cb9d64d456f86e6a1c # v1.6.0
128+
with:
129+
project: 'examples/MyLib/build'
130+
- run: |
131+
cd examples/MyLib
132+
make
133+
- run: ./examples/MyLib/my_application.out
134+
env:
135+
LD_LIBRARY_PATH: 'examples/MyLib/MyLibCompiled/lib'

Project.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
name = "PackageCompiler"
22
uuid = "9b87118b-4619-50d2-8e1e-99f35a4d4d9d"
3-
version = "2.1.18"
3+
version = "2.1.19"
44

55
[deps]
66
Artifacts = "56f22d72-fd6d-98f1-02f0-08ddc0907c33"

examples/MyApp/Artifacts.toml

Lines changed: 126 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -1,46 +1,143 @@
1-
[[fooifier]]
2-
arch = "x86_64"
3-
git-tree-sha1 = "98d93024ca384050c59d554415b75d61e467fd8c"
1+
[[HelloWorldC]]
2+
arch = "aarch64"
3+
git-tree-sha1 = "d4036700fbbf29b31f5d1d5d948547edd3b70e11"
4+
os = "macos"
5+
6+
[[HelloWorldC.download]]
7+
sha256 = "1fd55f038a73c89f4e22b437a9182421e0d31c50bd4912c719215f6a736d50f1"
8+
url = "https://github.com/JuliaBinaryWrappers/HelloWorldC_jll.jl/releases/download/HelloWorldC-v1.3.0+0/HelloWorldC.v1.3.0.aarch64-apple-darwin.tar.gz"
9+
[[HelloWorldC]]
10+
arch = "aarch64"
11+
git-tree-sha1 = "c82465bd6d0aa1369ff2fd961b73884d1f5de49a"
12+
libc = "glibc"
13+
os = "linux"
14+
15+
[[HelloWorldC.download]]
16+
sha256 = "5bfa84332c7ee485ca8e2eee216ad9fa77b2c43d5f261baa823e301b7c789ec4"
17+
url = "https://github.com/JuliaBinaryWrappers/HelloWorldC_jll.jl/releases/download/HelloWorldC-v1.3.0+0/HelloWorldC.v1.3.0.aarch64-linux-gnu.tar.gz"
18+
[[HelloWorldC]]
19+
arch = "aarch64"
20+
git-tree-sha1 = "cb4b8c88778c6cd93b6df38ec5b95a2678434f5d"
21+
libc = "musl"
22+
os = "linux"
23+
24+
[[HelloWorldC.download]]
25+
sha256 = "924df1c2a386f79a2727a2f989393102649a24863214f2e88cb4a677d3d22e14"
26+
url = "https://github.com/JuliaBinaryWrappers/HelloWorldC_jll.jl/releases/download/HelloWorldC-v1.3.0+0/HelloWorldC.v1.3.0.aarch64-linux-musl.tar.gz"
27+
[[HelloWorldC]]
28+
arch = "armv6l"
29+
call_abi = "eabihf"
30+
git-tree-sha1 = "20a32b71145b67e708f63fb5880a7243727aec0f"
431
libc = "glibc"
532
os = "linux"
633

7-
[[fooifier.download]]
8-
sha256 = "5208c63a9d07e592c78f541fc13caa8cd191b11e7e77b31d407237c2b13ec391"
9-
url = "https://github.com/staticfloat/small_bin/raw/master/libfoo/libfoo.x86_64-linux-gnu.tar.gz"
34+
[[HelloWorldC.download]]
35+
sha256 = "6f0997b0aad387ba6e2402530642bb4ded85b0243460d2e4b13d94f2c8340a44"
36+
url = "https://github.com/JuliaBinaryWrappers/HelloWorldC_jll.jl/releases/download/HelloWorldC-v1.3.0+0/HelloWorldC.v1.3.0.armv6l-linux-gnueabihf.tar.gz"
37+
[[HelloWorldC]]
38+
arch = "armv6l"
39+
call_abi = "eabihf"
40+
git-tree-sha1 = "c1179604ea37fa66ee6d5d592c7bbfd1f20292c3"
41+
libc = "musl"
42+
os = "linux"
1043

11-
[[fooifier]]
44+
[[HelloWorldC.download]]
45+
sha256 = "0aca47bce6f09c38a7939277a593deb988123fe59f7992225a1ede8e174f1b06"
46+
url = "https://github.com/JuliaBinaryWrappers/HelloWorldC_jll.jl/releases/download/HelloWorldC-v1.3.0+0/HelloWorldC.v1.3.0.armv6l-linux-musleabihf.tar.gz"
47+
[[HelloWorldC]]
48+
arch = "armv7l"
49+
call_abi = "eabihf"
50+
git-tree-sha1 = "0a8e7b523ef6be31311aefe9983a488616e58201"
51+
libc = "glibc"
52+
os = "linux"
53+
54+
[[HelloWorldC.download]]
55+
sha256 = "f29f4da556d2b4ee9eaff7740aa0f9436406b75b0f1ec428e881a47ab7b7477b"
56+
url = "https://github.com/JuliaBinaryWrappers/HelloWorldC_jll.jl/releases/download/HelloWorldC-v1.3.0+0/HelloWorldC.v1.3.0.armv7l-linux-gnueabihf.tar.gz"
57+
[[HelloWorldC]]
58+
arch = "armv7l"
59+
call_abi = "eabihf"
60+
git-tree-sha1 = "ca94b4d87f1a276066a2994733142e35046c41dd"
61+
libc = "musl"
62+
os = "linux"
63+
64+
[[HelloWorldC.download]]
65+
sha256 = "5fb4019d6d797e5e3860cfec90cab12f6865fa624e87b51c20220a44bb94846a"
66+
url = "https://github.com/JuliaBinaryWrappers/HelloWorldC_jll.jl/releases/download/HelloWorldC-v1.3.0+0/HelloWorldC.v1.3.0.armv7l-linux-musleabihf.tar.gz"
67+
[[HelloWorldC]]
1268
arch = "i686"
13-
git-tree-sha1 = "c3a9f27382862092e064bcf4aeb3cb7190578338"
69+
git-tree-sha1 = "cb1aefe048a6c0395b6b664695c20cb50dbec8e3"
1470
libc = "glibc"
1571
os = "linux"
1672

17-
[[fooifier.download]]
18-
sha256 = "97655b6a218d61284723b6923d7c96e6a256fa68b9419d723c588aa24404b102"
19-
url = "https://github.com/staticfloat/small_bin/raw/master/libfoo/libfoo.i686-linux-gnu.tar.gz"
73+
[[HelloWorldC.download]]
74+
sha256 = "c79def491d702590b9c82599d40c4e755251dbb49669d0290f9a1a7bf1d91a1a"
75+
url = "https://github.com/JuliaBinaryWrappers/HelloWorldC_jll.jl/releases/download/HelloWorldC-v1.3.0+0/HelloWorldC.v1.3.0.i686-linux-gnu.tar.gz"
76+
[[HelloWorldC]]
77+
arch = "i686"
78+
git-tree-sha1 = "b50220be02e9c839749f91a70694ae68c2712c8e"
79+
libc = "musl"
80+
os = "linux"
2081

21-
[[fooifier]]
82+
[[HelloWorldC.download]]
83+
sha256 = "6aecc06cf803ad16703744610deb243a21b39e19ae1951a38977610881698f9e"
84+
url = "https://github.com/JuliaBinaryWrappers/HelloWorldC_jll.jl/releases/download/HelloWorldC-v1.3.0+0/HelloWorldC.v1.3.0.i686-linux-musl.tar.gz"
85+
[[HelloWorldC]]
86+
arch = "i686"
87+
git-tree-sha1 = "0f7597f042d16d438f9684e20ca57ea22e4e15c1"
88+
os = "windows"
89+
90+
[[HelloWorldC.download]]
91+
sha256 = "5f14f5ade1314e777432bd85cd075ae9d31e28352e646f90adf0444a7a54f76b"
92+
url = "https://github.com/JuliaBinaryWrappers/HelloWorldC_jll.jl/releases/download/HelloWorldC-v1.3.0+0/HelloWorldC.v1.3.0.i686-w64-mingw32.tar.gz"
93+
[[HelloWorldC]]
94+
arch = "powerpc64le"
95+
git-tree-sha1 = "5e9c87fc4e3372c27a77061a49d97fa5002df0e4"
96+
libc = "glibc"
97+
os = "linux"
98+
99+
[[HelloWorldC.download]]
100+
sha256 = "e2a728b29124fc7408d6e47cc6fc943d0336d1386e56a3775a0665b34528881b"
101+
url = "https://github.com/JuliaBinaryWrappers/HelloWorldC_jll.jl/releases/download/HelloWorldC-v1.3.0+0/HelloWorldC.v1.3.0.powerpc64le-linux-gnu.tar.gz"
102+
[[HelloWorldC]]
22103
arch = "x86_64"
23-
git-tree-sha1 = "f413ff2438a4e9e9dd69b23c35ca30de6af069cc"
104+
git-tree-sha1 = "09ed293f6f5ebfcaf90eef2b4d45c402d834d33e"
24105
os = "macos"
25106

26-
[[fooifier.download]]
27-
sha256 = "fcc268772d6f21d65b45fcf3854a3142679b78e53c7673dac26c95d6ccc89a24"
28-
url = "https://github.com/staticfloat/small_bin/raw/master/libfoo/libfoo.x86_64-apple-darwin14.tar.gz"
107+
[[HelloWorldC.download]]
108+
sha256 = "9feabdcb8341d37d0c8b1acb5840e1c9d524632c5aff40c05b5e0e1d621a7e30"
109+
url = "https://github.com/JuliaBinaryWrappers/HelloWorldC_jll.jl/releases/download/HelloWorldC-v1.3.0+0/HelloWorldC.v1.3.0.x86_64-apple-darwin.tar.gz"
110+
[[HelloWorldC]]
111+
arch = "x86_64"
112+
git-tree-sha1 = "8c8251b0c21615bce0701995eded26ac7697b5cc"
113+
libc = "glibc"
114+
os = "linux"
29115

30-
[[fooifier]]
116+
[[HelloWorldC.download]]
117+
sha256 = "974f7e1d1cdbebad149e51fed4f1b7c6a0b5ccfa350f7d252dfcf66c2dbf9f63"
118+
url = "https://github.com/JuliaBinaryWrappers/HelloWorldC_jll.jl/releases/download/HelloWorldC-v1.3.0+0/HelloWorldC.v1.3.0.x86_64-linux-gnu.tar.gz"
119+
[[HelloWorldC]]
31120
arch = "x86_64"
32-
git-tree-sha1 = "1351b831192db9091d97e9b4bc84231ade05d210"
33-
os = "windows"
121+
git-tree-sha1 = "cfaaf0517421585561e3b30dd6f53f6c14b2835f"
122+
libc = "musl"
123+
os = "linux"
34124

35-
[[fooifier.download]]
36-
sha256 = "7f8939e9529835b83810d3ae7e2556f6e002d571f619894e54ece42ea5262b7f"
37-
url = "https://github.com/staticfloat/small_bin/raw/master/libfoo/libfoo.x86_64-w64-mingw32.tar.gz"
125+
[[HelloWorldC.download]]
126+
sha256 = "25d3d6ecc753f4dbbcaab0db7b6c20b29b0a79b0c31f7a26a0cf18c365d27809"
127+
url = "https://github.com/JuliaBinaryWrappers/HelloWorldC_jll.jl/releases/download/HelloWorldC-v1.3.0+0/HelloWorldC.v1.3.0.x86_64-linux-musl.tar.gz"
128+
[[HelloWorldC]]
129+
arch = "x86_64"
130+
git-tree-sha1 = "9adaeee1375ffd66613afe71f111dad3a88fb302"
131+
os = "freebsd"
38132

39-
[[fooifier]]
40-
arch = "aarch64"
41-
git-tree-sha1 = "281cbe3dd65aa4bdb887bfb29651da500c81e242"
42-
os = "linux"
133+
[[HelloWorldC.download]]
134+
sha256 = "8e59a00a9238d1605af09ec3a76c8bb5ad012b5621f5ccb7de6cf73f89fbf18f"
135+
url = "https://github.com/JuliaBinaryWrappers/HelloWorldC_jll.jl/releases/download/HelloWorldC-v1.3.0+0/HelloWorldC.v1.3.0.x86_64-unknown-freebsd.tar.gz"
136+
[[HelloWorldC]]
137+
arch = "x86_64"
138+
git-tree-sha1 = "59955b315ce95abd82f71d29389be3b734b14821"
139+
os = "windows"
43140

44-
[[fooifier.download]]
45-
sha256 = "36886ac25cf5678c01fe20630b413f9354b7a3721c6a2c2043162f7ebd147ff5"
46-
url = "https://github.com/staticfloat/small_bin/raw/master/libfoo/libfoo.aarch64-linux-gnu.tar.gz"
141+
[[HelloWorldC.download]]
142+
sha256 = "47bbead5cbdfca1b23544b1b398e8a2194c78ab8a772ca3075084c4a9ab75fb7"
143+
url = "https://github.com/JuliaBinaryWrappers/HelloWorldC_jll.jl/releases/download/HelloWorldC-v1.3.0+0/HelloWorldC.v1.3.0.x86_64-w64-mingw32.tar.gz"

0 commit comments

Comments
 (0)