Skip to content

feat(email): let administrators add outbound-only custom domains #897

feat(email): let administrators add outbound-only custom domains

feat(email): let administrators add outbound-only custom domains #897

Workflow file for this run

name: Prepublish Test
on:
push:
branches: [main]
pull_request:
branches: [main]
workflow_dispatch:
inputs:
suite:
description: Prepublish Test coverage to run.
type: choice
options: [smoke, full]
default: full
workflow_call:
inputs:
suite:
description: Reusable callers run full release acceptance by default.
type: string
required: false
default: full
include_macos:
description: Also verify packed packages on macOS.
type: boolean
required: false
default: false
permissions: {}
concurrency:
group: prepublish-test-${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: ${{ !startsWith(github.ref, 'refs/tags/') }}
jobs:
scope:
name: Select Prepublish Test coverage
runs-on: ubuntu-latest
timeout-minutes: 3
permissions:
contents: read
pull-requests: read
outputs:
suite: ${{ steps.scope.outputs.suite }}
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
persist-credentials: false
- run: node --test .github/scripts/packed-consumer-scope.test.mjs
- id: scope
run: node .github/scripts/packed-consumer-scope.mjs
env:
GITHUB_TOKEN: ${{ github.token }}
PACKED_REQUESTED_SUITE: ${{ inputs.suite || 'auto' }}
prepublish-test:
needs: scope
if: ${{ needs.scope.outputs.suite != 'skip' }}
name: Prepublish Test (${{ matrix.os }}, ${{ matrix.pm }})
runs-on: ${{ matrix.os }}
timeout-minutes: ${{ needs.scope.outputs.suite == 'full' && 25 || 10 }}
permissions:
contents: read
env:
VOID_PLATFORM_SOURCE_REVISION: ${{ github.sha }}
VOID_PACKED_SUITE: ${{ needs.scope.outputs.suite }}
strategy:
fail-fast: false
matrix:
os: '${{ inputs.include_macos && fromJSON(''["ubuntu-latest","macos-latest"]'') || fromJSON(''["ubuntu-latest"]'') }}'
pm: [npm, pnpm]
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
persist-credentials: false
- uses: voidzero-dev/setup-vp@2dec1e33f4ab2c6d5bce1b0c4607961bb1a3f7a1 # v1.12.0
with:
node-version-file: .node-version
cache: true
# The npm bundled with Node can lag behind fixes that fresh installs need.
- run: npm i -g npm && npm --version
if: ${{ matrix.pm == 'npm' }}
- run: vp exec playwright install --with-deps chromium
if: ${{ needs.scope.outputs.suite == 'full' && runner.os == 'Linux' }}
- run: vp exec playwright install chromium
if: ${{ needs.scope.outputs.suite == 'full' && runner.os != 'Linux' }}
- run: node --test --test-timeout=10000 .github/scripts/packed-init.test.mjs .github/scripts/packed-server.test.mjs .github/scripts/packed-registry.test.mjs
- run: vp run build
- name: Prepublish Test with ${{ matrix.pm }}
env:
VOID_PACKED_PM: ${{ matrix.pm }}
run: node .github/scripts/packed-consumer.mjs
- name: Prepublish Test with Vite+ and ${{ matrix.pm }}
env:
VOID_PACKED_PM: ${{ matrix.pm }}
VOID_PACKED_FRAMEWORK: react
VOID_PACKED_TOOLCHAIN: vite-plus
run: node .github/scripts/packed-consumer.mjs