|
55 | 55 | run: | |
56 | 56 | DESCRIBE=$(git describe --tags | grep -Eo 'v[0-9]+\.[0-9]+\.[0-9]+') |
57 | 57 | QUALIFIER=$(git describe --tags | grep -Eo '[0-9]+\-g[0-9a-f]+$') |
| 58 | + BRANCH=$(echo "${{ github.ref_name }}" | sed 's/[^0-9A-Za-z-]/-/g') |
58 | 59 | yarn version -s --no-git-tag-version --new-version "${DESCRIBE#v}" |
59 | | - if [ -n "${QUALIFIER}" ]; then |
60 | | - yarn version --no-git-tag-version --prepatch --preid "${{ github.ref_name }}${QUALIFIER}" |
61 | | - else |
62 | | - yarn version --no-git-tag-version --prepatch --preid "${{ github.ref_name }}" |
63 | | - fi |
| 60 | + yarn version -s --no-git-tag-version --prepatch --preid "${BRANCH}${QUALIFIER:+-${QUALIFIER}}" |
64 | 61 | VERSION="$(jq -r ".version" < package.json)" |
65 | 62 | sed -i "s/## Unreleased/## ${VERSION}/" CHANGELOG.md |
66 | 63 | echo "Version is ${VERSION}" |
@@ -176,3 +173,56 @@ jobs: |
176 | 173 | name: vsix-package-${{ matrix.target }} |
177 | 174 | path: ./*.vsix |
178 | 175 | retention-days: 1 |
| 176 | + |
| 177 | + validate: |
| 178 | + name: Validate package (${{ matrix.target }}) |
| 179 | + runs-on: ${{ matrix.platform }} |
| 180 | + needs: package |
| 181 | + strategy: |
| 182 | + fail-fast: false |
| 183 | + matrix: |
| 184 | + include: |
| 185 | + - target: win32-x64 |
| 186 | + platform: windows-2022 |
| 187 | + - target: win32-arm64 |
| 188 | + platform: windows-2022 |
| 189 | + - target: linux-x64 |
| 190 | + platform: ubuntu-24.04 |
| 191 | + - target: linux-arm64 |
| 192 | + platform: ubuntu-24.04 |
| 193 | + - target: darwin-arm64 |
| 194 | + platform: macos-14 |
| 195 | + permissions: |
| 196 | + packages: read |
| 197 | + steps: |
| 198 | + - name: Harden the runner (Audit all outbound calls) |
| 199 | + uses: step-security/harden-runner@f4a75cfd619ee5ce8d5b864b0d183aff3c69b55a # v2.13.1 |
| 200 | + with: |
| 201 | + egress-policy: audit |
| 202 | + |
| 203 | + - uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0 |
| 204 | + |
| 205 | + - uses: actions/setup-node@2028fbc5c25fe9cf00d9f06a71cc4710d4507903 # v6.0.0 |
| 206 | + env: |
| 207 | + NODE_AUTH_TOKEN: ${{ secrets.GITHUB_TOKEN }} |
| 208 | + with: |
| 209 | + node-version-file: package.json |
| 210 | + registry-url: https://npm.pkg.github.com |
| 211 | + always-auth: true |
| 212 | + package-manager-cache: false |
| 213 | + |
| 214 | + - name: Install dependencies |
| 215 | + run: | |
| 216 | + yarn --frozen-lockfile --ignore-scripts --prefer-offline |
| 217 | +
|
| 218 | + - name: Download vsix package |
| 219 | + uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0 |
| 220 | + with: |
| 221 | + pattern: vsix-package-${{ matrix.target }} |
| 222 | + |
| 223 | + - name: Validate VSIX contents |
| 224 | + shell: bash |
| 225 | + run: | |
| 226 | + VSIX_FILE=$(ls *.vsix) |
| 227 | + echo "Validating VSIX: $VSIX_FILE" |
| 228 | + yarn validate-tools --target ${{ matrix.target }} --vsix "$VSIX_FILE" |
0 commit comments