Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
27161afe9e | ||
|
|
27ab8fb543 | ||
|
|
f25a43d5f8 | ||
|
|
7f0a1917d8 |
1 changed files with 29 additions and 1 deletions
30
.github/workflows/portable-contracts.yml
vendored
30
.github/workflows/portable-contracts.yml
vendored
|
|
@ -16,7 +16,10 @@ jobs:
|
||||||
strategy:
|
strategy:
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
os: [windows-latest, ubuntu-latest]
|
# No Windows runner exists: the windows-latest leg runs on workflow_dispatch only (GitHub or a
|
||||||
|
# Windows runner), the ubuntu-latest leg gates push and PR. Windows push/PR triggers return in the PR
|
||||||
|
# that registers a Windows runner.
|
||||||
|
os: ${{ fromJSON(github.event_name == 'workflow_dispatch' && '["windows-latest", "ubuntu-latest"]' || '["ubuntu-latest"]') }}
|
||||||
package: [eve-contracts, eve-browser-lowering]
|
package: [eve-contracts, eve-browser-lowering]
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
|
|
@ -30,6 +33,14 @@ jobs:
|
||||||
cache: npm
|
cache: npm
|
||||||
cache-dependency-path: packages/${{ matrix.package }}/package-lock.json
|
cache-dependency-path: packages/${{ matrix.package }}/package-lock.json
|
||||||
|
|
||||||
|
# eve-browser-lowering links eve-contracts as file:../eve-contracts; npm installs none of the
|
||||||
|
# linked package's dependencies, and tsc resolves its declarations from the real path, so
|
||||||
|
# ajv must be installed in eve-contracts itself.
|
||||||
|
- name: Install eve-contracts dependencies
|
||||||
|
if: matrix.package != 'eve-contracts'
|
||||||
|
working-directory: packages/eve-contracts
|
||||||
|
run: npm ci
|
||||||
|
|
||||||
- name: Install package dependencies
|
- name: Install package dependencies
|
||||||
working-directory: packages/${{ matrix.package }}
|
working-directory: packages/${{ matrix.package }}
|
||||||
run: npm ci
|
run: npm ci
|
||||||
|
|
@ -38,6 +49,23 @@ jobs:
|
||||||
working-directory: packages/${{ matrix.package }}
|
working-directory: packages/${{ matrix.package }}
|
||||||
run: npm test
|
run: npm test
|
||||||
|
|
||||||
|
# The forge runner images carry no pwsh; GitHub's Windows and hosted images do.
|
||||||
|
- name: Install PowerShell
|
||||||
|
if: runner.os == 'Linux'
|
||||||
|
shell: bash
|
||||||
|
run: |
|
||||||
|
set -euo pipefail
|
||||||
|
if command -v pwsh >/dev/null; then pwsh -Version; exit 0; fi
|
||||||
|
SUDO=""; [ "$(id -u)" -eq 0 ] || SUDO="sudo"
|
||||||
|
PWSH_VERSION=7.4.6
|
||||||
|
curl -fsSL "https://github.com/PowerShell/PowerShell/releases/download/v${PWSH_VERSION}/powershell-${PWSH_VERSION}-linux-x64.tar.gz" -o "${RUNNER_TEMP:-/tmp}/powershell.tar.gz"
|
||||||
|
$SUDO mkdir -p /opt/microsoft/powershell/7
|
||||||
|
$SUDO tar -xzf "${RUNNER_TEMP:-/tmp}/powershell.tar.gz" -C /opt/microsoft/powershell/7
|
||||||
|
$SUDO chmod +x /opt/microsoft/powershell/7/pwsh
|
||||||
|
$SUDO ln -sf /opt/microsoft/powershell/7/pwsh /usr/local/bin/pwsh
|
||||||
|
echo "DOTNET_SYSTEM_GLOBALIZATION_INVARIANT=1" >> "$GITHUB_ENV"
|
||||||
|
DOTNET_SYSTEM_GLOBALIZATION_INVARIANT=1 pwsh -Version
|
||||||
|
|
||||||
- name: Reject stale generated output
|
- name: Reject stale generated output
|
||||||
shell: pwsh
|
shell: pwsh
|
||||||
run: |
|
run: |
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue