@@ -29,35 +29,63 @@ jobs:
2929 strategy :
3030 matrix :
3131 include :
32- - { name: "linux-x86_64", runson: "ubuntu-latest" }
33- - { name: "linux-arm64", runson: "ubuntu-24.04-arm" }
34- - { name: "macos-x86_64", runson: "macos-26-intel" }
35- - { name: "macos-arm64", runson: "macos-26" }
36- name : ${{ matrix.name }}
32+ - { os: "linux", arch: "x86_64", runson: "ubuntu-latest" }
33+ - { os: "linux", arch: "arm64", runson: "ubuntu-24.04-arm" }
34+ - { os: "macos", arch: "x86_64", runson: "macos-26-intel" }
35+ - { os: "macos", arch: "arm64", runson: "macos-26" }
36+ - { os: "freebsd", arch: "x86_64", runson: "ubuntu-latest" }
37+ - { os: "freebsd", arch: "aarch64", runson: "ubuntu-latest" }
38+ name : ${{ matrix.os }}-${{ matrix.arch }}
3739 runs-on : ${{ matrix.runson }}
3840 steps :
3941 - name : " Checkout"
4042 uses : actions/checkout@main
43+
44+ - name : " Start VM"
45+ if : ${{ matrix.os == 'freebsd' }}
46+ uses : vmactions/freebsd-vm@v1
47+ with :
48+ arch : ${{ matrix.arch }}
49+ usesh : true
50+ custom-shell-name : vmsh
51+
4152 - name : " Bootstrap"
53+ if : ${{ matrix.os != 'freebsd' }}
54+ run : |
55+ uname -a
56+ ./bootstrap.sh
57+ - name : " Bootstrap (VM)"
58+ if : ${{ matrix.os == 'freebsd' }}
59+ shell : vmsh {0}
4260 run : |
4361 uname -a
4462 ./bootstrap.sh
63+
4564 - name : " Build"
65+ if : ${{ matrix.os != 'freebsd' }}
66+ run : |
67+ ./b2 --debug-configuration -d+2 b2-release
68+ - name : " Build (VM)"
69+ if : ${{ matrix.os == 'freebsd' }}
70+ shell : vmsh {0}
4671 run : |
4772 ./b2 --debug-configuration -d+2 b2-release
73+
4874 - name : " Package"
4975 run : |
5076 cd "${{github.workspace}}/.build"
5177 name=`ls -d1 b2-*`
52- archive_bz2="${{github.workspace}}/${name}-${{ matrix.name }}.bz2"
78+ archive_bz2="${{github.workspace}}/${name}-${{ matrix.os }}-${{ matrix.arch }}.bz2"
5379 tar -cv -j -f "${archive_bz2}" "${name}"
5480 sha256sum -b "${archive_bz2}" > "${archive_bz2}.sha256sum.txt"
5581 ls -laF "${{github.workspace}}"
82+
5683 - name : " Upload"
5784 uses : actions/upload-artifact@main
5885 with :
59- name : portable-${{ matrix.name }}
86+ name : portable-${{ matrix.os }}-${{ matrix.arch }}
6087 path : " ${{github.workspace}}/b2-*"
88+
6189 - name : " Publish"
6290 uses : softprops/action-gh-release@master
6391 if : ${{ github.event_name == 'release' && github.event.action == 'published' }}
0 commit comments