@@ -52,28 +52,57 @@ jobs:
5252 tar -C dist/release -czvf "dist/release/strix-${VERSION}-${{ matrix.target }}.tar.gz" "strix-${VERSION}-${{ matrix.target }}"
5353 fi
5454
55- # Test
56- echo "Testing binary..."
57- if [[ "${{ runner.os }}" == "Windows" ]]; then
58- "./dist/release/strix-${VERSION}-${{ matrix.target }}.exe" --help
59- else
60- "./dist/release/strix-${VERSION}-${{ matrix.target }}" --help
61- fi
62-
6355 - uses : actions/upload-artifact@v4
6456 with :
6557 name : strix-${{ matrix.target }}
66- path : dist/release/*.tar.gz
67- if-no-files-found : ignore
58+ path : dist/release/*
59+ if-no-files-found : error
6860
69- - uses : actions/upload-artifact@v4
61+ test-install :
62+ needs : build
63+ strategy :
64+ fail-fast : false
65+ matrix :
66+ include :
67+ - os : macos-latest
68+ target : macos-arm64
69+ - os : ubuntu-latest
70+ target : linux-x86_64
71+ - os : windows-latest
72+ target : windows-x86_64
73+
74+ runs-on : ${{ matrix.os }}
75+
76+ steps :
77+ - uses : actions/checkout@v4
78+
79+ - uses : actions/download-artifact@v4
7080 with :
71- name : strix-${{ matrix.target }}-zip
72- path : dist/release/*.zip
73- if-no-files-found : ignore
81+ name : strix-${{ matrix.target }}
82+ path : dist/release
83+
84+ - name : Get version
85+ id : version
86+ shell : bash
87+ run : |
88+ pip install poetry
89+ echo "version=$(poetry version -s)" >> $GITHUB_OUTPUT
90+
91+ - name : Test install script
92+ shell : bash
93+ run : |
94+ chmod +x scripts/install-test.sh
95+ VERSION=${{ steps.version.outputs.version }} LOCAL_BINARY_DIR=${{ github.workspace }}/dist/release ./scripts/install-test.sh
96+
97+ - name : Verify installation
98+ shell : bash
99+ run : |
100+ export PATH="$HOME/.strix/bin:$PATH"
101+ strix --version
102+ strix --help
74103
75104 release :
76- needs : build
105+ needs : test-install
77106 runs-on : ubuntu-latest
78107 permissions :
79108 contents : write
0 commit comments