@@ -14,14 +14,20 @@ concurrency:
1414
1515jobs :
1616 qa :
17- uses : ./.github/workflows/ci.yml
18-
19- integration-tests :
20- uses : ./.github/workflows/ci.shellcode.yml
17+ strategy :
18+ matrix :
19+ os : [ubuntu-latest, macos-latest]
20+ runs-on : ${{ matrix.os }}
21+ steps :
22+ - uses : actions/checkout@v4
23+ - uses : dtolnay/rust-toolchain@stable
24+ - run : cargo test --all-features
25+ env :
26+ RUSTFLAGS : " -D warnings"
2127
2228 attach-srcs :
2329 runs-on : ubuntu-latest
24- needs : [qa, integration-tests]
30+ needs : qa
2531 env :
2632 FILENAME : pkgx-${{ github.event.inputs.version }}
2733 steps :
3036 path : ${{ env.FILENAME }}
3137 - name : clean
3238 run : rm -rf ${{ env.FILENAME }}/.github .gitbook.yml
33- - name : stamp version.ts
34- run : echo "export default function() { return '${{github.event.inputs.version}}' }" > $FILENAME/src/modes/version.ts
3539 - name : include GPG pubkey
3640 run : echo "${{ secrets.GPG_PUBLIC_KEY }}" | base64 -d > $FILENAME/pkgx.dev.pub.asc
3741 - run : tar cJf $FILENAME.tar.xz $FILENAME
@@ -77,32 +81,34 @@ jobs:
7781 name : srcs
7882
7983 - uses : pkgxdev/setup@v2
80- with :
81- + : unzip xz
8284
83- - run : pkgx +xz tar xJf pkgx-${{ github.event.inputs.version }}.tar.xz --strip-components=1
85+ - run : pkgx +xz -- tar xJf pkgx-${{ github.event.inputs.version }}.tar.xz --strip-components=1
8486
85- # we would prefer this, but our pkging is not stable enough :/
86- # - uses: pkgxdev/dev@v0
87- - uses : denoland/setup-deno@v2
88- with :
89- deno-version : ^2.1.4
87+ - uses : dtolnay/rust-toolchain@stable
9088
91- - run : deno task compile
89+ # we don’t get why it’s only linux+aarch64 lacks a linker either
90+ # using brewkit so we get the raw toolnames like `ar`
91+ - run : |
92+ if [ "${{ matrix.platform.build-id }}" = "linux+aarch64" ]; then
93+ eval "$(pkgx +pkgx.sh/brewkit)"
94+ fi
95+ cargo build --release
96+ mv target/release/pkgx .
97+ strip ./pkgx
9298
93- - uses : pkgxdev/brewkit/ actions/setup-codesign@v0
99+ - uses : pkgxdev/pantry/.github/ actions/setup@main
94100 if : startsWith(matrix.platform.build-id, 'darwin+')
95101 with :
96102 p12-file-base64 : ${{ secrets.APPLE_CERTIFICATE_P12 }}
97103 p12-password : ${{ secrets.APPLE_CERTIFICATE_P12_PASSWORD }}
104+ APPLE_IDENTITY : ${{ secrets.APPLE_IDENTITY }}
98105
99- # codesign always fails for deno binaries, even though it
100- # signs fine. See https://github.com/denoland/deno/issues/575
101106 - run : codesign
102107 --sign "$APPLE_IDENTITY" --force
103- --preserve-metadata=entitlements,requirements,flags,runtime ./pkgx || true
108+ --preserve-metadata=entitlements,requirements,flags,runtime ./pkgx
104109 env :
105110 APPLE_IDENTITY : ${{ secrets.APPLE_IDENTITY }}
111+ if : startsWith(matrix.platform.build-id, 'darwin+')
106112
107113 - name : sanity check
108114 run : test "$(./pkgx --version)" = "pkgx ${{ github.event.inputs.version }}"
0 commit comments