Skip to content

adding logger + simplifying TV emulation #83

adding logger + simplifying TV emulation

adding logger + simplifying TV emulation #83

Workflow file for this run

name: cdp
env:
VERCEL_ORG_ID: ${{secrets.VERCEL_ORG_ID}}
VERCEL_PROJECT_ID: ${{secrets.VERCEL_PROJECT_ID}}
on:
push:
branches: [master]
pull_request:
branches: [master]
types: [opened, synchronize, reopened]
workflow_dispatch:
branches: [master]
jobs:
createbuildvars:
name: Create build variables
runs-on: ubuntu-latest
outputs:
buildversion: ${{steps.createbuildversion.outputs.buildversion}}
buildcommit: ${{steps.createbuildcommit.outputs.buildcommit}}
steps:
- id: createbuildversion
run: echo "buildversion=$(date +'%y.%m%d').${{github.run_number}}" >> "$GITHUB_OUTPUT"
- id: createbuildcommit
run: echo "buildcommit=${{github.sha}}" >> "$GITHUB_OUTPUT"
build-test-rust:
name: Build & test rust
needs: createbuildvars
strategy:
matrix:
os:
- windows-latest
- ubuntu-latest
runs-on: ${{ matrix.os }}
steps:
- name: Checkout sources
uses: actions/checkout@v2
- name: Install nightly toolchain
uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: nightly
override: true
- name: Run cargo build
continue-on-error: false
run: |
cargo build --release --examples
- name: Run cargo test
if: always()
continue-on-error: true
run: |
cargo test --release --all-features --all-targets --no-fail-fast -- -Z unstable-options --format junit --report-time --include-ignored --shuffle | tee results.raw
shell: pwsh
- name: Split test results
if: always()
continue-on-error: true
run: |
Remove-Item -Recurse -Force -Path ./test-results -ErrorAction SilentlyContinue
New-Item -Force -ItemType Directory -Path ./test-results
$n = 0
Get-Content ./results.raw | % { $_ | Out-File -FilePath "./test-results/testsuite.$n.xml" -Encoding utf8 -Force; $n++ }
shell: pwsh
- name: Publish test results
if: always()
uses: dorny/test-reporter@v1
with:
name: Test results
path: test-results/**/*.xml
reporter: java-junit
fail-on-error: 'true'
fail-on-empty: 'true'
list-tests: 'failed'
lint-rust:
name: Lint rust
needs: createbuildvars
strategy:
matrix:
os:
- windows-latest
- ubuntu-latest
runs-on: ${{ matrix.os }}
steps:
- name: Checkout sources
uses: actions/checkout@v2
- name: Install stable toolchain
uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: stable
override: true
components: rustfmt, clippy
- name: Run cargo fmt
continue-on-error: false
run: |
cargo fmt --all -- --check
- name: Run cargo clippy
continue-on-error: false
run: |
cargo clippy --all-targets --all-features -- -D warnings
build-lint-test-web:
name: Build, lint, test, web
needs: createbuildvars
strategy:
matrix:
os:
- windows-latest
- ubuntu-latest
runs-on: ${{matrix.os}}
steps:
- uses: actions/checkout@v1
- name: Install stable toolchain
uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: stable
override: true
- uses: pnpm/action-setup@v4
name: Install pnpm
with:
version: 9
run_install: false
- name: Install Rust tools
continue-on-error: false
run: |
cd web
cargo install wasm-pack rsw
- name: Install pnpm packages
run: |
cd web
pnpm install --frozen-lockfile --strict-peer-dependencies
- name: rsw build
run: |
cd web
pnpm build
- name: Check code format
continue-on-error: true # TODO: Remove this once we figure out the failures
run: |
cd web
pnpm format
- name: Lint code
run: |
cd web
pnpm lint
- name: Test
run: |
cd web
pnpm test
deploy-web:
name: Deploy web
needs:
- createbuildvars
- build-lint-test-web
strategy:
matrix:
os:
- windows-latest
runs-on: ${{matrix.os}}
steps:
- uses: actions/checkout@v1
- name: Install stable toolchain
uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: stable
override: true
- uses: pnpm/action-setup@v4
name: Install pnpm
with:
version: 9
run_install: false
- name: Install Vercel CLI
run: npm install --global vercel@latest
- name: Install Rust tools
continue-on-error: false
run: |
cd web
cargo install wasm-pack rsw
- name: Install pnpm packages
run: |
cd web
pnpm install --frozen-lockfile --strict-peer-dependencies
- name: Build & deploy
run: |
cd web
cmd /c set VITE_
vercel pull --yes --environment=production --token=${{secrets.VERCEL_TOKEN}}
vercel build --prod --token=${{secrets.VERCEL_TOKEN}}
vercel deploy --prebuilt --prod --token=${{secrets.VERCEL_TOKEN}}
env:
VITE_APP_VERSION: ${{needs.createbuildvars.outputs.buildversion}}
VITE_APP_COMMIT_ID: ${{needs.createbuildvars.outputs.buildcommit}}
VITE_APP_AI_INSTRUMENTATION_KEY: ${{secrets.AZURE_CREDENTIALS_KSAPPLICATIONS_AI_KEY}}
finish:
name: Finish
needs: [build-test-rust, lint-rust, deploy-web]
runs-on: ubuntu-latest
steps:
- run: echo "Done..."