Skip to content

Interop: an index on a wrapped host collection is one property, and a… #1790

Interop: an index on a wrapped host collection is one property, and a…

Interop: an index on a wrapped host collection is one property, and a… #1790

Workflow file for this run

name: Build
on:
push:
branches: [ main, 4.x, 3.x ]
paths-ignore:
- 'doc/**'
- '**.md'
env:
DOTNET_NOLOGO: true
DOTNET_CLI_TELEMETRY_OPTOUT: 1
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Setup NET
uses: actions/setup-dotnet@v6
with:
dotnet-version: 10.0
- name: Checkout source code
uses: actions/checkout@v7
# This job (push to main) is the only one that seeds a cache the PR workflow can read: PR jobs
# can restore caches from the base branch, but a cache saved inside a PR is scoped to that PR
# and invisible to other PRs. Restore/save are split (rather than the combined actions/cache)
# so the suite is cached even when a later step fails. The combined action saves in a post-step
# gated on success(); the "Push with dotnet" publish can fail (e.g. MyGet quota) and would then
# skip the save, leaving the main-scoped cache empty so no PR ever gets a hit. The explicit save
# below runs right after the suite is generated, before publishing.
- name: Restore Test262 generated suite
id: cache-test262
uses: actions/cache/restore@v6
with:
path: Jint.Tests.Test262/Generated
key: test262-generated-${{ hashFiles('Jint.Tests.Test262/Test262Harness.settings.json') }}
# Seed a cross-OS cache so the PR workflow's Windows/macOS/ARM jobs can restore it too.
enableCrossOsArchive: true
- name: Test
run: dotnet test --configuration Release --logger "console;verbosity=quiet" --logger "GitHubActions;summary-include-passed=false;summary-include-skipped=false"
- name: Save Test262 generated suite
if: steps.cache-test262.outputs.cache-hit != 'true'
uses: actions/cache/save@v6
with:
path: Jint.Tests.Test262/Generated
key: test262-generated-${{ hashFiles('Jint.Tests.Test262/Test262Harness.settings.json') }}
enableCrossOsArchive: true
- name: Pack with dotnet
run: dotnet pack Jint/Jint.csproj --output artifacts --configuration Release -p:VersionSuffix=preview-$GITHUB_RUN_NUMBER -p:ContinuousIntegrationBuild=True
- name: Push with dotnet
run: dotnet nuget push artifacts/*.nupkg --api-key ${{ secrets.MYGET_API_KEY }} --skip-duplicate --source https://www.myget.org/F/jint/api/v2/package