Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
44 changes: 22 additions & 22 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,8 @@ jobs:
core:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-go@v5
- uses: actions/checkout@v7
- uses: actions/setup-go@v7
with:
go-version: '1.27.2'
cache: true
Expand All @@ -27,8 +27,8 @@ jobs:
web:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
- uses: actions/checkout@v7
- uses: actions/setup-node@v7
with:
node-version: '24'
cache: npm
Expand All @@ -40,17 +40,17 @@ jobs:
macos:
runs-on: macos-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-go@v5
- uses: actions/checkout@v7
- uses: actions/setup-go@v7
with:
go-version: '1.27.2'
- run: ./scripts/build.sh
- run: ./apps/macos/build.sh
apple-tunnel:
runs-on: macos-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-go@v5
- uses: actions/checkout@v7
- uses: actions/setup-go@v7
with:
go-version: '1.27.2'
- run: ./scripts/build.sh --all
Expand All @@ -59,8 +59,8 @@ jobs:
linux-vpn:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-go@v5
- uses: actions/checkout@v7
- uses: actions/setup-go@v7
with:
go-version: '1.27.2'
- name: Build disposable signed-distribution lab image
Expand All @@ -70,30 +70,30 @@ jobs:
browser:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-go@v5
- uses: actions/checkout@v7
- uses: actions/setup-go@v7
with:
go-version: '1.27.2'
- uses: actions/setup-node@v4
- uses: actions/setup-node@v7
with:
node-version: '24'
cache: npm
- run: npm ci
- run: npx playwright install --with-deps chromium
- run: npm run test:browser --workspace @meshway/web
- uses: actions/upload-artifact@v4
- uses: actions/upload-artifact@v7
if: failure()
with:
name: browser-failure-evidence
path: apps/web/test-results
windows:
runs-on: windows-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-dotnet@v4
- uses: actions/checkout@v7
- uses: actions/setup-dotnet@v6
with:
dotnet-version: '8.0.x'
- uses: actions/setup-go@v5
- uses: actions/setup-go@v7
with:
go-version: '1.27.2'
- run: dotnet build apps/windows/Meshway/Meshway.csproj -c Release
Expand All @@ -105,7 +105,7 @@ jobs:
- run: ./scripts/windows-tun-lab.ps1 -Package dist/Meshway-win-x64
- if: ${{ !cancelled() && steps.package.outcome == 'success' }}
run: ./scripts/windows-firewall-lab.ps1 -Package dist/Meshway-win-x64
- uses: actions/upload-artifact@v4
- uses: actions/upload-artifact@v7
if: always()
with:
name: windows-runtime-evidence
Expand All @@ -117,15 +117,15 @@ jobs:
android:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-go@v5
- uses: actions/checkout@v7
- uses: actions/setup-go@v7
with:
go-version: '1.27.2'
- uses: actions/setup-java@v4
- uses: actions/setup-java@v5
with:
distribution: temurin
java-version: '17'
- uses: android-actions/setup-android@v3
- uses: android-actions/setup-android@v4
with:
packages: ''
- run: sdkmanager "platforms;android-35" "build-tools;35.0.0" "ndk;27.2.12479018"
Expand Down
16 changes: 8 additions & 8 deletions .github/workflows/container.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ jobs:
publish:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v7
- name: Validate destination and tag
id: release
env:
Expand All @@ -31,20 +31,20 @@ jobs:
fi
image="ghcr.io/$(printf '%s' "$GITHUB_REPOSITORY" | tr '[:upper:]' '[:lower:]')"
printf 'version=%s\nimage=%s\n' "$version" "$image" >> "$GITHUB_OUTPUT"
- uses: actions/setup-go@v5
- uses: actions/setup-go@v7
with:
go-version: '1.27.2'
- run: go test -race ./... -count=1 -timeout=180s
- uses: docker/setup-qemu-action@v3
- uses: docker/setup-qemu-action@v4
with:
platforms: arm64
- uses: docker/setup-buildx-action@v3
- uses: docker/login-action@v3
- uses: docker/setup-buildx-action@v4
- uses: docker/login-action@v4
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- uses: docker/build-push-action@v6
- uses: docker/build-push-action@v7
with:
context: .
file: deploy/Dockerfile
Expand Down Expand Up @@ -77,11 +77,11 @@ jobs:
docker run --rm --platform "linux/$architecture" "$IMAGE:$VERSION-$architecture" version
docker save "$IMAGE:$VERSION-$architecture" | gzip > "container-downloads/meshway-container-linux-$architecture.tar.gz"
done
- uses: actions/upload-artifact@v4
- uses: actions/upload-artifact@v7
with:
name: portable-container-images
path: container-downloads
- uses: actions/upload-artifact@v4
- uses: actions/upload-artifact@v7
with:
name: container-publication-evidence
path: container-manifest.txt
8 changes: 4 additions & 4 deletions .github/workflows/contribution.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,8 @@ jobs:
formatting:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-go@v5
- uses: actions/checkout@v7
- uses: actions/setup-go@v7
with:
go-version: '1.27.2'
- name: Check Go formatting
Expand All @@ -29,8 +29,8 @@ jobs:
if: github.event_name == 'pull_request'
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/dependency-review-action@v4
- uses: actions/checkout@v7
- uses: actions/dependency-review-action@v5
with:
fail-on-severity: high
comment-summary-in-pr: never
6 changes: 3 additions & 3 deletions .github/workflows/linux-packages.yml
Original file line number Diff line number Diff line change
Expand Up @@ -34,10 +34,10 @@ jobs:
MESHWAY_DIST_DIR: .tools/linux-package-lab/dist
MESHWAY_RELEASE_DIR: .tools/linux-package-lab/packages
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v7
with:
ref: ${{ inputs.ref }}
- uses: actions/setup-go@v5
- uses: actions/setup-go@v7
with:
go-version: '1.27.2'
- name: Build native core and real Debian/RPM packages
Expand All @@ -56,7 +56,7 @@ jobs:
rpm_package=$(find "$MESHWAY_RELEASE_DIR" -maxdepth 1 -name "*.$RPM_ARCH.rpm" -print -quit)
test -n "$rpm_package"
python3 scripts/package-install-lab.py --format rpm --image fedora:44 --package "$rpm_package" --version "$PACKAGE_VERSION" --output ".tools/linux-package-lab/rpm-$PACKAGE_ARCH.json"
- uses: actions/upload-artifact@v4
- uses: actions/upload-artifact@v7
if: always()
with:
name: linux-packages-${{ matrix.go_arch }}
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/macos-utun-headers.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,10 +13,10 @@ jobs:
runs-on: macos-14
timeout-minutes: 10
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v7
with:
ref: ${{ inputs.ref }}
- uses: actions/setup-go@v5
- uses: actions/setup-go@v7
with:
go-version: '1.27.2'
- name: Build opt-in isolated real kernel test
Expand All @@ -26,7 +26,7 @@ jobs:
- name: Capture only fixed private UDP header metadata
run: |
sudo -n /usr/bin/env GITHUB_ACTIONS=true MESHWAY_DISPOSABLE_MACOS_VM=1 MESHWAY_UTUN_HEADER_LAB=1 MESHWAY_UTUN_HEADER_OUTPUT="$PWD/.tools/utun-headers" .tools/utun-headers/macvpn.test -test.run '^TestHostedUTUNKernelUDPMetadata$' -test.v -test.timeout=120s
- uses: actions/upload-artifact@v4
- uses: actions/upload-artifact@v7
if: always()
with:
name: macos-utun-header-metadata
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/macos-utun-loopback.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,10 +16,10 @@ jobs:
MESHWAY_DISPOSABLE_MACOS_VM: '1'
MESHWAY_TESTED_REF: ${{ inputs.ref }}
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v7
with:
ref: ${{ inputs.ref }}
- uses: actions/setup-go@v5
- uses: actions/setup-go@v7
with:
go-version: '1.27.2'
- name: Build production helper
Expand All @@ -28,7 +28,7 @@ jobs:
go build -buildvcs=false -trimpath -o .tools/macos-utun-lab/meshway ./cmd/meshway
- name: Actual full helper with local authenticated exit and DNS
run: python3 scripts/macos-utun-loopback-lab.py
- uses: actions/upload-artifact@v4
- uses: actions/upload-artifact@v7
if: always()
with:
name: macos-utun-loopback-runtime
Expand Down
8 changes: 4 additions & 4 deletions .github/workflows/macos-utun.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,18 +23,18 @@ jobs:
env:
MESHWAY_DISPOSABLE_MACOS_VM: '1'
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v7
with:
ref: ${{ inputs.ref }}
- uses: actions/setup-go@v5
- uses: actions/setup-go@v7
with:
go-version: '1.27.2'
- name: Build and publish only the temporary client public peer ID
run: |
mkdir -p .tools/macos-utun-lab
go build -buildvcs=false -trimpath -ldflags='-s -w' -o .tools/macos-utun-lab/meshway ./cmd/meshway
python3 scripts/macos-utun-lab.py --prepare
- uses: actions/upload-artifact@v4
- uses: actions/upload-artifact@v7
with:
name: macos-utun-client-peer
path: .tools/macos-utun-lab/client-peer.json
Expand All @@ -52,7 +52,7 @@ jobs:
if [ -x .tools/macos-utun-lab/meshway ]; then
sudo -n .tools/macos-utun-lab/meshway vpn stop --config "$PWD/.tools/macos-utun-lab/config.json" || true
fi
- uses: actions/upload-artifact@v4
- uses: actions/upload-artifact@v7
if: always()
with:
name: macos-utun-runtime-proof
Expand Down
8 changes: 4 additions & 4 deletions .github/workflows/native-installers.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,13 +22,13 @@ jobs:
runs-on: windows-latest
timeout-minutes: 30
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v7
with:
ref: ${{ inputs.ref }}
- uses: actions/setup-dotnet@v4
- uses: actions/setup-dotnet@v6
with:
dotnet-version: '8.0.x'
- uses: actions/setup-go@v5
- uses: actions/setup-go@v7
with:
go-version: '1.27.2'
- name: Build existing native payloads
Expand Down Expand Up @@ -69,7 +69,7 @@ jobs:
if ($LASTEXITCODE -ne 0 -or $release -ne 'true') { throw 'Only the existing private draft release may receive staged installers.' }
gh release upload $env:DRAFT_TAG .tools/release/installers/Meshway-setup-x64.exe .tools/release/installers/Meshway-setup-arm64.exe artifacts/windows-installer-validation.json --clobber
if ($LASTEXITCODE -ne 0) { throw 'Private draft installer upload failed.' }
- uses: actions/upload-artifact@v4
- uses: actions/upload-artifact@v7
if: always()
with:
name: native-windows-installers
Expand Down
10 changes: 5 additions & 5 deletions .github/workflows/pages.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,17 +17,17 @@ jobs:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
- uses: actions/checkout@v7
- uses: actions/setup-node@v7
with:
node-version: '24'
cache: npm
- run: npm ci
- run: npm run build --workspace @meshway/web -- --base /meshway/
- uses: actions/configure-pages@v5
- uses: actions/upload-pages-artifact@v3
- uses: actions/configure-pages@v6
- uses: actions/upload-pages-artifact@v5
with:
path: apps/web/dist
- name: Publish static website
id: deployment
uses: actions/deploy-pages@v4
uses: actions/deploy-pages@v5
8 changes: 4 additions & 4 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,14 +25,14 @@ jobs:
runs-on: ubuntu-latest
environment: release
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v7
with:
ref: ${{ inputs.tag }}
fetch-depth: 0
- uses: actions/setup-go@v5
- uses: actions/setup-go@v7
with:
go-version: '1.27.2'
- uses: actions/setup-node@v4
- uses: actions/setup-node@v7
with:
node-version: '24'
- run: npm ci
Expand All @@ -44,7 +44,7 @@ jobs:
env:
RELEASE_TAG: ${{ inputs.tag }}
run: MESHWAY_RELEASE_VERSION="${RELEASE_TAG#v}" ./scripts/release.sh
- uses: docker/setup-qemu-action@v3
- uses: docker/setup-qemu-action@v4
with:
platforms: arm64
- name: Package Linux installers
Expand Down
Loading