Merge branch 'main' into dev

This commit is contained in:
Owen
2025-12-24 15:18:11 -05:00
5 changed files with 92 additions and 4 deletions

View File

@@ -11,7 +11,9 @@ permissions:
on: on:
push: push:
tags: tags:
- "*" - "[0-9]+.[0-9]+.[0-9]+"
- "[0-9]+.[0-9]+.[0-9]+-rc.[0-9]+"
workflow_dispatch: workflow_dispatch:
inputs: inputs:
version: version:
@@ -273,7 +275,7 @@ jobs:
tags: | tags: |
type=semver,pattern={{version}},value=${{ env.TAG }} type=semver,pattern={{version}},value=${{ env.TAG }}
type=semver,pattern={{major}}.{{minor}},value=${{ env.TAG }},enable=${{ env.PUBLISH_MINOR == 'true' && env.IS_RC != 'true' }} type=semver,pattern={{major}}.{{minor}},value=${{ env.TAG }},enable=${{ env.PUBLISH_MINOR == 'true' && env.IS_RC != 'true' }}
type=raw,value=latest,enable=${{ env.PUBLISH_LATEST == 'true' && env.IS_RC != 'true' }} type=raw,value=latest,enable=${{ env.IS_RC != 'true' }}
flavor: | flavor: |
latest=false latest=false
labels: | labels: |

23
.github/workflows/nix-build.yml vendored Normal file
View File

@@ -0,0 +1,23 @@
name: Build Nix package
on:
workflow_dispatch:
pull_request:
paths:
- go.mod
- go.sum
jobs:
nix-build:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Install Nix
uses: DeterminateSystems/nix-installer-action@main
- name: Build flake package
run: |
nix build .#pangolin-newt -L

View File

@@ -0,0 +1,48 @@
name: Update Nix Package Hash On Dependabot PRs
on:
pull_request:
types: [opened, synchronize]
branches:
- main
jobs:
nix-update:
if: github.actor == 'dependabot[bot]'
runs-on: ubuntu-latest
permissions:
contents: write
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
ref: ${{ github.head_ref }}
token: ${{ secrets.GITHUB_TOKEN }}
- name: Install Nix
uses: DeterminateSystems/nix-installer-action@main
- name: Run nix-update
run: |
nix run nixpkgs#nix-update -- --flake pangolin-newt --no-src --version skip
- name: Check for changes
id: changes
run: |
if git diff --quiet; then
echo "changed=false" >> "$GITHUB_OUTPUT"
else
echo "changed=true" >> "$GITHUB_OUTPUT"
fi
- name: Commit and push changes
if: steps.changes.outputs.changed == 'true'
run: |
git config user.name "dependabot[bot]"
git config user.email "dependabot[bot]@users.noreply.github.com"
git add .
git commit -m "chore(nix): fix hash for updated go dependencies"
git push

4
.gitignore vendored
View File

@@ -5,4 +5,6 @@ nohup.out
*.iml *.iml
certs/ certs/
newt_arm64 newt_arm64
key key
/.direnv/
/result*

View File

@@ -25,7 +25,7 @@
inherit (pkgs) lib; inherit (pkgs) lib;
# Update version when releasing # Update version when releasing
version = "1.7.0"; version = "1.8.0";
in in
{ {
default = self.packages.${system}.pangolin-newt; default = self.packages.${system}.pangolin-newt;
@@ -37,14 +37,26 @@
vendorHash = "sha256-5Xr6mwPtsqEliKeKv2rhhp6JC7u3coP4nnhIxGMqccU="; vendorHash = "sha256-5Xr6mwPtsqEliKeKv2rhhp6JC7u3coP4nnhIxGMqccU=";
nativeInstallCheckInputs = [ pkgs.versionCheckHook ];
env = { env = {
CGO_ENABLED = 0; CGO_ENABLED = 0;
}; };
ldflags = [ ldflags = [
"-s"
"-w"
"-X main.newtVersion=${version}" "-X main.newtVersion=${version}"
]; ];
# Tests are broken due to a lack of Internet.
# Disable running `go test`, and instead do
# a simple version check instead.
doCheck = false;
doInstallCheck = true;
versionCheckProgramArg = [ "-version" ];
meta = { meta = {
description = "A tunneling client for Pangolin"; description = "A tunneling client for Pangolin";
homepage = "https://github.com/fosrl/newt"; homepage = "https://github.com/fosrl/newt";
@@ -52,6 +64,7 @@
maintainers = [ maintainers = [
lib.maintainers.water-sucks lib.maintainers.water-sucks
]; ];
mainProgram = "newt";
}; };
}; };
} }