Skip to content

fix(start-os): map ports over TCP and UDP #1796

fix(start-os): map ports over TCP and UDP

fix(start-os): map ports over TCP and UDP #1796

Workflow file for this run

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