fix(start-os): map ports over TCP and UDP #1796
Workflow file for this run
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: start-tunnel | |
| on: | |
| workflow_call: | |
| workflow_dispatch: | |
| inputs: | |
| environment: | |
| type: choice | |
| description: Environment | |
| options: | |
| - NONE | |
| - dev | |
| - unstable | |
| - dev-unstable | |
| runner: | |
| type: choice | |
| description: Runner | |
| options: | |
| - standard | |
| - fast | |
| arch: | |
| type: choice | |
| description: Architecture | |
| options: | |
| - ALL | |
| - x86_64 | |
| - aarch64 | |
| - riscv64 | |
| # `paths:` below mirror projects/start-tunnel/build.mk's build inputs — keep | |
| # both in sync (see root AGENTS.md "Coupled changes"). | |
| push: | |
| branches: | |
| - master | |
| - next/* | |
| paths: | |
| - 'projects/start-tunnel/**' | |
| - 'shared-libs/crates/**' | |
| - 'shared-libs/ts-modules/**' | |
| - 'Cargo.toml' | |
| - 'Cargo.lock' | |
| - 'angular.json' | |
| - 'package.json' | |
| - 'package-lock.json' | |
| - 'tsconfig.json' | |
| - 'tsconfig.lib.json' | |
| - 'build/**' | |
| - 'debian/**' | |
| - 'apt/**' | |
| - '.github/workflows/start-tunnel.yaml' | |
| - '.github/actions/setup-build/**' | |
| # Doc-only edits under the allowlisted project trees (e.g. | |
| # projects/start-tunnel/docs/**) shouldn't trigger a build. | |
| - '!**/*.md' | |
| pull_request: | |
| branches: | |
| - master | |
| - next/* | |
| paths: | |
| - 'projects/start-tunnel/**' | |
| - 'shared-libs/crates/**' | |
| - 'shared-libs/ts-modules/**' | |
| - 'Cargo.toml' | |
| - 'Cargo.lock' | |
| - 'angular.json' | |
| - 'package.json' | |
| - 'package-lock.json' | |
| - 'tsconfig.json' | |
| - 'tsconfig.lib.json' | |
| - 'build/**' | |
| - 'debian/**' | |
| - 'apt/**' | |
| - '.github/workflows/start-tunnel.yaml' | |
| - '.github/actions/setup-build/**' | |
| # Doc-only edits under the allowlisted project trees (e.g. | |
| # projects/start-tunnel/docs/**) shouldn't trigger a build. | |
| - '!**/*.md' | |
| # The group is scoped by event so a master push can't cancel an in-flight | |
| # dispatched release build; dispatches queue behind each other, never cancel. | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.event_name }}-${{ github.head_ref || github.ref }} | |
| cancel-in-progress: ${{ github.event_name != 'workflow_dispatch' }} | |
| env: | |
| NODEJS_VERSION: '24.17.0' | |
| ENVIRONMENT: '${{ fromJson(format(''["{0}", ""]'', github.event.inputs.environment || ''dev''))[github.event.inputs.environment == ''NONE''] }}' | |
| jobs: | |
| compile: | |
| name: Build Debian Package | |
| if: github.event.pull_request.draft != true | |
| strategy: | |
| fail-fast: true | |
| matrix: | |
| arch: >- | |
| ${{ | |
| fromJson('{ | |
| "x86_64": ["x86_64"], | |
| "aarch64": ["aarch64"], | |
| "riscv64": ["riscv64"], | |
| "ALL": ["x86_64", "aarch64", "riscv64"] | |
| }')[github.event.inputs.platform || 'ALL'] | |
| }} | |
| runs-on: ${{ fromJson('["ubuntu-latest", "ubuntu-24.04-32-cores"]')[github.event.inputs.runner == 'fast'] }} | |
| steps: | |
| - name: Mount tmpfs | |
| if: ${{ github.event.inputs.runner == 'fast' }} | |
| run: sudo mount -t tmpfs tmpfs . | |
| - uses: actions/checkout@v6 | |
| - uses: ./.github/actions/setup-build | |
| with: | |
| nodejs-version: ${{ env.NODEJS_VERSION }} | |
| - name: Make | |
| run: make start-tunnel-deb | |
| env: | |
| PLATFORM: ${{ matrix.arch }} | |
| SCCACHE_GHA_ENABLED: on | |
| SCCACHE_GHA_VERSION: 0 | |
| - uses: actions/upload-artifact@v7 | |
| with: | |
| name: start-tunnel_${{ matrix.arch }}.deb | |
| path: results/start-tunnel-*_${{ matrix.arch }}.deb | |
| retention-days: 14 |