Skip to content

Commit

Permalink
Changed Releases
Browse files Browse the repository at this point in the history
- Added pr-check pipeline
  • Loading branch information
Timothy Dodd committed Aug 22, 2024
1 parent bcfe5c2 commit 336a93e
Show file tree
Hide file tree
Showing 3 changed files with 116 additions and 23 deletions.
28 changes: 28 additions & 0 deletions .github/workflows/pr-check.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
name: PR Build Check

on:
pull_request:
branches:
- main

jobs:
build:
runs-on: ubuntu-latest

steps:
- name: Checkout code
uses: actions/checkout@v3

- name: Set up .NET
uses: actions/setup-dotnet@v3
with:
dotnet-version: "8.x"

- name: Restore dependencies
run: dotnet restore

- name: Build NtunlClient
run: dotnet build src/NtunlClient/NtunlClient.csproj --configuration Release --no-restore --verbosity minimal

- name: Build NtunlHost
run: dotnet build src/NtunlHost/NtunlHost.csproj --configuration Release --no-restore --verbosity minimal
108 changes: 85 additions & 23 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ on:
- "release-*"

jobs:
build:
build_x86:
runs-on: ubuntu-latest

steps:
Expand All @@ -18,50 +18,112 @@ jobs:
with:
dotnet-version: "8.x"

- name: Publish NtunlClient
run: dotnet publish src/NtunlClient/NtunlClient.csproj --configuration Release --output publish/NtunlClient
- name: Publish NtunlClient (x86)
run: dotnet publish src/NtunlClient/NtunlClient.csproj --configuration Release --output publish/x86/NtunlClient -r win-x86 --self-contained

- name: Publish NtunlHost
run: dotnet publish src/NtunlHost/NtunlHost.csproj --configuration Release --output publish/NtunlHost
- name: Publish NtunlHost (x86)
run: dotnet publish src/NtunlHost/NtunlHost.csproj --configuration Release --output publish/x86/NtunlHost -r win-x86 --self-contained

- name: Generate NtunlClient ZIP
- name: Generate NtunlClient ZIP (x86)
run: |
cd publish/NtunlClient
zip -r ../../NtunlClient.zip .
cd publish/x86/NtunlClient
zip -r ../../../NtunlClient_x86.zip .
- name: Generate NtunlHost ZIP
- name: Generate NtunlHost ZIP (x86)
run: |
cd publish/NtunlHost
zip -r ../../NtunlHost.zip .
cd publish/x86/NtunlHost
zip -r ../../../NtunlHost_x86.zip .
- name: Create Release
id: create_release
- name: Create Release (x86)
id: create_release_x86
uses: actions/create-release@v1
with:
tag_name: ${{ github.ref }}
release_name: Release ${{ github.ref }}
release_name: Release ${{ github.ref }} - x86
body: |
Release notes for ${{ github.ref }}
Release notes for ${{ github.ref }} (x86)
draft: false
prerelease: false
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

- name: Upload NtunlClient Release Asset
- name: Upload NtunlClient Release Asset (x86)
uses: actions/upload-release-asset@v1
with:
upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: NtunlClient.zip
asset_name: NtunlClient.zip
upload_url: ${{ steps.create_release_x86.outputs.upload_url }}
asset_path: NtunlClient_x86.zip
asset_name: NtunlClient_x86.zip
asset_content_type: application/zip
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Upload NtunlHost Release Asset

- name: Upload NtunlHost Release Asset (x86)
uses: actions/upload-release-asset@v1
with:
upload_url: ${{ steps.create_release_x86.outputs.upload_url }}
asset_path: NtunlHost_x86.zip
asset_name: NtunlHost_x86.zip
asset_content_type: application/zip
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

build_linux:
runs-on: ubuntu-latest

steps:
- name: Checkout code
uses: actions/checkout@v3

- name: Set up .NET
uses: actions/setup-dotnet@v3
with:
dotnet-version: "8.x"

- name: Publish NtunlClient (Linux)
run: dotnet publish src/NtunlClient/NtunlClient.csproj --configuration Release --output publish/linux/NtunlClient -r linux-x64 --self-contained

- name: Publish NtunlHost (Linux)
run: dotnet publish src/NtunlHost/NtunlHost.csproj --configuration Release --output publish/linux/NtunlHost -r linux-x64 --self-contained

- name: Generate NtunlClient ZIP (Linux)
run: |
cd publish/linux/NtunlClient
zip -r ../../../NtunlClient_linux.zip .
- name: Generate NtunlHost ZIP (Linux)
run: |
cd publish/linux/NtunlHost
zip -r ../../../NtunlHost_linux.zip .
- name: Create Release (Linux)
id: create_release_linux
uses: actions/create-release@v1
with:
tag_name: ${{ github.ref }}
release_name: Release ${{ github.ref }} - Linux
body: |
Release notes for ${{ github.ref }} (Linux)
draft: false
prerelease: false
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

- name: Upload NtunlClient Release Asset (Linux)
uses: actions/upload-release-asset@v1
with:
upload_url: ${{ steps.create_release_linux.outputs.upload_url }}
asset_path: NtunlClient_linux.zip
asset_name: NtunlClient_linux.zip
asset_content_type: application/zip
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

- name: Upload NtunlHost Release Asset (Linux)
uses: actions/upload-release-asset@v1
with:
upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: NtunlHost.zip
asset_name: NtunlHost.zip
upload_url: ${{ steps.create_release_linux.outputs.upload_url }}
asset_path: NtunlHost_linux.zip
asset_name: NtunlHost_linux.zip
asset_content_type: application/zip
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
3 changes: 3 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,9 @@ NTunl is a lightweight and flexible tunneling solution, designed to expose your
- Domain and Subdomain Management: Easily manage custom domains and subdomains.
- Request Inspection: Enable the Inspector to view and monitor HTTP requests through a web interface.

You can Find the docker image for this at
https://hub.docker.com/repository/docker/timdoddcool/ntunl-host/general

## Architecture
NTunl consists of two main components:

Expand Down

0 comments on commit 336a93e

Please sign in to comment.