Skip to content

chore(deps): lock file maintenance #545

chore(deps): lock file maintenance

chore(deps): lock file maintenance #545

Workflow file for this run

name: CI
on:
push:
branches-ignore:
- 'v*'
paths-ignore:
- '**.md'
pull_request:
branches-ignore:
- 'v*'
paths-ignore:
- '**.md'
permissions:
contents: read
env:
WORKSPACE_ARCHIVE: workspace.tar
WORKSPACE_ARTIFACT: build-results
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6.2.0
with:
node-version-file: "package.json"
cache: "yarn"
- name: Yarn build
run: yarn build
- name: Tar files
run: tar --exclude='.git' --exclude=${{ env.WORKSPACE_ARCHIVE }} -cvf ${{ env.WORKSPACE_ARCHIVE }} .
- uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0
with:
name: ${{ env.WORKSPACE_ARTIFACT }}
path: ${{ env.WORKSPACE_ARCHIVE }}
retention-days: 1
test-vcvarsall-invocation:
name: Test Developer Command Prompt Setup (${{ matrix.arch }}) - ${{ matrix.os }}
needs: build
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [windows-2022, windows-2025]
arch: [x64, x32, x86_arm, x86_arm64]
steps:
- name: Checkout
uses: actions/download-artifact@70fc10c6e5e1ce46ad2ea6f2b72d43f7d47b13c3 # v8.0.0
with:
name: ${{ env.WORKSPACE_ARTIFACT }}
path: .
- name: Untar
run: |
tar -xvf ${{ env.WORKSPACE_ARCHIVE }}
rm ${{ env.WORKSPACE_ARCHIVE }}
- name: setup-msvc-dev
uses: ./
with:
arch: ${{ matrix.arch }}
- name: 'Verify cl.exe'
shell: cmd
run: |
where cl.exe
IF ERRORLEVEL 1 exit ERRORLEVEL
test-path-exports:
name: Test exporting tool paths - ${{ matrix.os }}
needs: build
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [windows-2022, windows-2025]
steps:
- name: Checkout
uses: actions/download-artifact@70fc10c6e5e1ce46ad2ea6f2b72d43f7d47b13c3 # v8.0.0
with:
name: ${{ env.WORKSPACE_ARTIFACT }}
path: .
- name: Untar
run: |
tar -xvf ${{ env.WORKSPACE_ARCHIVE }}
rm ${{ env.WORKSPACE_ARCHIVE }}
- name: setup-msvc-dev
uses: ./
with:
export-path-to-vcvarsall: PATH_TO_VCVARSALL
export-path-to-vs: PATH_TO_VS
- name: 'Verify path to vcvarsall.bat'
shell: cmd
run: IF NOT EXIST "%PATH_TO_VCVARSALL%\vcvarsall.bat" exit 1
- name: 'Verify path to VS'
shell: cmd
run: IF NOT EXIST "%PATH_TO_VS%" exit 1
# So, what's happening here?
#
# Basically, restoring the workspace state between jobs is incredibly annoying.
# We can get reasonable support by using the upload-/download-artifact
# actions, but they suffer from a severe limitation:
# GH Actions has a storage limit and the minimum retention is 24 hours...
#
# Since the storage quota is limited, we have to make sure that the artifact
# is removed. Unfortunately, there is no official way to do this, so we resort
# to a third party action for now.
#
# See also: https://github.com/actions/upload-artifact/issues/290
cleanup:
name: Cleanup
if: ${{ always() }}
needs: [test-vcvarsall-invocation, test-path-exports]
runs-on: ubuntu-latest
steps:
- name: Cleanup
uses: GeekyEggo/delete-artifact@f275313e70c08f6120db482d7a6b98377786765b # v5.1.0
with:
name: ${{ env.workspace_artifact }}