feat: v1.0.0.beta-0 #18
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: E2E | |
| on: | |
| push: | |
| branches: [main, canary] | |
| merge_group: | |
| pull_request: | |
| env: | |
| TURBO_TOKEN: ${{ secrets.TURBO_TOKEN }} | |
| TURBO_TEAM: ${{ vars.TURBO_TEAM || github.repository_owner }} | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.event.merge_group.head_ref || github.ref }} | |
| cancel-in-progress: ${{ github.event_name == 'pull_request' }} | |
| jobs: | |
| smoke: | |
| name: Smoke test (${{ matrix.node-version }}) | |
| timeout-minutes: 30 | |
| runs-on: ${{ (github.event_name == 'pull_request' && github.event.pull_request.head.repo.full_name == 'jslno/node-zugferd' || github.event_name != 'pull_request' && github.repository == 'jslno/node-zugferd') && 'starsling-ubuntu-24.04' || 'ubuntu-24.04'}} | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| node-version: [22.x, 24.x] | |
| permissions: | |
| contents: read | |
| steps: | |
| - uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1 | |
| with: | |
| fetch-depth: 0 | |
| persist-credentials: false | |
| - name: Cache turbo build setup | |
| uses: actions/cache@9255dc7a253b0ccc959486e2bca901246202afeb # v5.0.1 | |
| with: | |
| path: .turbo | |
| key: ${{ runner.os }}-turbo-${{ github.sha }} | |
| restore-keys: | | |
| ${{ runner.os }}-turbo- | |
| - uses: pnpm/action-setup@0e279bb959325dab635dd2c09392533439d90093 # v6.0.8 | |
| - uses: actions/setup-node@395ad3262231945c25e8478fd5baf05154b1d79f # v6.1.0 | |
| with: | |
| node-version: ${{ matrix.node-version }} | |
| # Use the latest patch per major: the smoke specs run `node --test` on .ts, | |
| # which needs native type-stripping (default-on at 22.18+/24), not the cached 22.13.0. | |
| check-latest: true | |
| registry-url: "https://registry.npmjs.org" | |
| cache: pnpm | |
| - name: Install | |
| run: pnpm install | |
| - name: Build | |
| run: pnpm build | |
| # - uses: oven-sh/setup-bun@0c5077e51419868618aeaa5fe8019c62421857d6 # v2.2.0 | |
| # - uses: denoland/setup-deno@e95548e56dfa95d4e1a28d6f422fafe75c4c26fb # v2.0.3 | |
| # with: | |
| # deno-version: 2.6.4 | |
| - name: Smoke | |
| run: pnpm e2e:smoke | |
| integration: | |
| name: Integration test | |
| timeout-minutes: 60 | |
| runs-on: ${{ (github.event_name == 'pull_request' && github.event.pull_request.head.repo.full_name == 'jslno/node-zugferd' || github.event_name != 'pull_request' && github.repository == 'jslno/node-zugferd') && 'starsling-ubuntu-24.04' || 'ubuntu-24.04' }} | |
| permissions: | |
| contents: read | |
| steps: | |
| - uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1 | |
| with: | |
| fetch-depth: 0 | |
| persist-credentials: false | |
| - name: Cache turbo build setup | |
| uses: actions/cache@9255dc7a253b0ccc959486e2bca901246202afeb # v5.0.1 | |
| with: | |
| path: .turbo | |
| key: ${{ runner.os }}-turbo-${{ github.sha }} | |
| restore-keys: | | |
| ${{ runner.os }}-turbo- | |
| - uses: pnpm/action-setup@0e279bb959325dab635dd2c09392533439d90093 # v6.0.8 | |
| - uses: actions/setup-node@395ad3262231945c25e8478fd5baf05154b1d79f # v6.1.0 | |
| with: | |
| node-version-file: ".nvmrc" | |
| registry-url: "https://registry.npmjs.org" | |
| cache: pnpm | |
| - name: Install | |
| run: pnpm install | |
| - name: Integration | |
| run: pnpm e2e:integration --filter=./e2e/integration | |
| profiles-integration: | |
| name: ${{ matrix.packages }} Integration Test | |
| runs-on: ${{ (github.event_name == 'pull_request' && github.event.pull_request.head.repo.full_name == 'jslno/node-zugferd' || github.event_name != 'pull_request' && github.repository == 'jslno/node-zugferd') && 'starsling-ubuntu-24.04' || 'ubuntu-24.04' }} | |
| permissions: | |
| contents: read | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| packages: | |
| [ | |
| "@node-zugferd/minimum", | |
| "@node-zugferd/basic-wl", | |
| "@node-zugferd/basic", | |
| "@node-zugferd/en-16931", | |
| "@node-zugferd/extended", | |
| ] | |
| steps: | |
| - uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1 | |
| with: | |
| fetch-depth: 0 | |
| persist-credentials: false | |
| - name: Cache turbo build setup | |
| uses: actions/cache@9255dc7a253b0ccc959486e2bca901246202afeb # v5.0.1 | |
| with: | |
| path: .turbo | |
| key: ${{ runner.os }}-turbo-${{ github.sha }} | |
| restore-keys: | | |
| ${{ runner.os }}-turbo- | |
| - uses: pnpm/action-setup@0e279bb959325dab635dd2c09392533439d90093 # v6.0.8 | |
| - uses: actions/setup-node@395ad3262231945c25e8478fd5baf05154b1d79f # v6.1.0 | |
| with: | |
| node-version-file: ".nvmrc" | |
| registry-url: "https://registry.npmjs.org" | |
| cache: pnpm | |
| # TODO: Setup jre for mustang validator | |
| - name: Install | |
| run: pnpm install | |
| - name: Profiles Integration | |
| env: | |
| FILTER: ${{ matrix.packages }} | |
| run: pnpm e2e:integration --filter="$FILTER" | |
| e2e: | |
| runs-on: ubuntu-latest | |
| needs: [smoke, integration, profiles-integration] | |
| if: always() | |
| steps: | |
| - uses: re-actors/alls-green@05ac9388f0aebcb5727afa17fcccfecd6f8ec5fe # v1.2.2 | |
| with: | |
| jobs: ${{ toJSON(needs) }} |