Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
117 commits
Select commit Hold shift + click to select a range
5ee0c6b
derp/derpserver: add a unique sender cardinality estimate
raggi Nov 25, 2025
3f9f0ed
VERSION.txt: this is v1.93.0 (#18074)
barnstar Nov 26, 2025
74ed589
syncs: add means of declare locking assumptions for debug mode valida…
bradfitz Nov 19, 2025
9cc07bf
.github/workflows: skip draft PRs for request review workflows
mpminardi Nov 26, 2025
9500689
build(deps): bump js-yaml from 4.1.0 to 4.1.1 in /client/web
dependabot[bot] Nov 15, 2025
3e2476e
build(deps-dev): bump vite from 5.1.7 to 5.4.21 in /client/web
dependabot[bot] Oct 28, 2025
c0c0d45
build(deps-dev): bump vitest from 1.3.1 to 1.6.1 in /client/web
dependabot[bot] Nov 27, 2025
22bdf34
build(deps): bump cross-spawn from 7.0.3 to 7.0.6 in /client/web
dependabot[bot] Nov 27, 2025
b40272e
build(deps): bump braces from 3.0.2 to 3.0.3 in /client/web
dependabot[bot] Nov 27, 2025
411cee0
.github/workflows: only run golang ci lint when go files have changed
mpminardi Nov 27, 2025
7c5c02b
cmd/k8s-operator: add support for taiscale.com/http-redirect (#17596)
fserb Nov 28, 2025
f36eb81
cmd/k8s-operator fix populateTLSSecret on tests (#18088)
fserb Nov 28, 2025
34dff57
feature/posture: log method and full URL for posture identity requests
knyar Nov 27, 2025
bd12d8f
cmd/tailscale/cli: soften the warning on `--force-reauth` for seamless
alexwlchan Oct 9, 2025
37b4dd0
k8s-operator: Fix typos in egress-pod-readiness.go
ShaikhNaasir Dec 1, 2025
97f1fd6
.github: only save cache on main
tomhjp Dec 1, 2025
ece6e27
.github,cmd/cigocacher: use cigocacher for windows
tomhjp Nov 25, 2025
77dcdc2
cleanup: fix typos across multiple files
ShaikhNaasir Dec 2, 2025
8976b34
licenses: update license notices
Dec 1, 2025
22a815b
tool: bump binaryen wasm optimiser version 111 -> 125
tomhjp Dec 2, 2025
bd5c509
scripts/installer: add TAILSCALE_VERSION environment variable (#18014)
rajsinghtech Dec 2, 2025
957a443
cmd/netlogfmt: allow empty --resolve-addrs flag (#18103)
dsnet Dec 2, 2025
536188c
tsnet: enable node registration via federated identity
neinkeinkaffee Nov 25, 2025
b8c58ca
wgengine: fix TSMP/ICMP callback leak
bradfitz Dec 2, 2025
f8cd07f
.github: make cigocacher script more robust
tomhjp Dec 2, 2025
e33f6aa
go.mod: bump the version of setec
alexwlchan Dec 3, 2025
6a44990
net/udprelay: bind multiple sockets per af on Linux
jwhited Dec 2, 2025
7bc25f7
go.toolchain.rev: update to Go 1.25.5 (#18123)
awly Dec 3, 2025
d199eca
ipn/ipnlocal: shut down old control client synchronously on reset
nickkhyl Dec 4, 2025
557457f
ipn/ipnlocal: fix LocalBackend deadlock when packet arrives during pr…
nickkhyl Dec 4, 2025
f4d34f3
cmd/tailscale,ipn: add Unix socket support for serve
ink-splatters Nov 28, 2025
cf40cf5
ipn/ipnlocal: add peer API endpoints to Hostinfo on initial client cr…
zofrex Dec 5, 2025
d349370
client/systray: change systray to start after graphical.target (#18138)
cmol Dec 5, 2025
d5c8931
cmd/k8s-operator: don't log errors on not found objects. (#18142)
irbekrm Dec 8, 2025
2a0ddb7
cmd/k8s-operator: warn if users attempt to expose a headless Service …
irbekrm Dec 8, 2025
7d3097d
tka: add some more tests for Bootstrap()
alexwlchan Dec 8, 2025
c7b10cb
scripts/installer.sh: add SteamOS handling (#18159)
Erisa Dec 8, 2025
da0ea8e
Revert "ipn/ipnlocal: shut down old control client synchronously on r…
nickkhyl Dec 8, 2025
378ee20
cmd/tailscale/cli: stabilise the output of `tailscale lock status --j…
alexwlchan Nov 20, 2025
dd1bb8e
.github: add cigocacher release workflow
tomhjp Dec 8, 2025
076d5c7
appc,feature: add the start of new conn25 app connector
franbull Dec 8, 2025
363d882
net/udprelay: use `mono.Time` instead of `time.Time`
simar7 Nov 25, 2025
a9b37c5
net/udprelay: re-use mono.Time in control packet handling
jwhited Dec 9, 2025
1dfdee8
net/dns: retrample resolve.conf when another process has trampled it …
cmol Dec 9, 2025
8eda947
cmd/derper: add GCP Certificate Manager support (#18161)
rajsinghtech Dec 9, 2025
723b9af
Dockerfile,Dockerfile.base: link iptables to legacy binary (#18177)
irbekrm Dec 10, 2025
c870d38
net/{packet,tstun},wgengine: update disco key when receiving via TSMP…
cmol Dec 10, 2025
6428ba0
logtail/filch: rewrite the package (#18143)
dsnet Dec 10, 2025
6ace399
portlist: skip tests on Linux 6.14.x with /proc/net/tcp bug (#18185)
sfllaw Dec 11, 2025
0df4631
ipn/ipnlocal: avoid ResetAndStop panic
bradfitz Dec 11, 2025
9613b4e
logtail: add metrics (#18184)
dsnet Dec 11, 2025
65182f2
ipn/ipnlocal: add ProxyProtocol support to VIP service TCP handler (#…
rajsinghtech Dec 11, 2025
3ef9787
tsweb: add Unwrap to loggingResponseWriter for ResponseController (#1…
zofrex Dec 12, 2025
cb5fa35
.github/workfkows,Dockerfile,Dockerfile.base: add a test for base ima…
irbekrm Dec 12, 2025
d7a5624
cmd/k8s-operator: fix statefulset template yaml indentation (#18194)
ChaosInTheCRD Dec 15, 2025
d0d993f
.github,cmd/cigocacher: add flags --version --stats --cigocached-host
tomhjp Dec 12, 2025
951d711
client/systray: add missing deferred unlock for httpCache mutex
willnorris Dec 15, 2025
a663639
net/udprelay: replace map+sync.Mutex with sync.Map for VNI lookup
jwhited Dec 15, 2025
f174ecb
words: 33 tails and 26 scales (#18213)
stratself Dec 16, 2025
0fd1670
client/local: add method to set gauge metric to a value
willnorris Dec 15, 2025
3e89068
net/netmon, wgengine/userspace: purge ChangeDelta.Major and address T…
barnstar Dec 17, 2025
323604b
net/dns/resolver: log source IP of forwarded queries
andrew-d Dec 16, 2025
b21cba0
cmd/k8s-operator: fixes helm template for oauth secret volume mount (…
ChaosInTheCRD Dec 17, 2025
ce7e1de
types/persist: omit Persist.AttestationKey based on IsZero (#18241)
awly Dec 18, 2025
e4847fa
go.toolchain.rev: update to Go 1.25.5 (#18123)
bcreane Dec 18, 2025
b73fb46
ipn/ipnlocal: log cert renewal failures (#18246)
irbekrm Dec 18, 2025
eed5e95
docs: use -x for cherry-picks
tomhjp Dec 17, 2025
bb3529f
cmd/containerboot: support egress to Tailscale Service FQDNs (#17493)
tomhjp Dec 18, 2025
c40f352
net/udprelay: expose peer relay metrics (#18218)
illotum Dec 19, 2025
90b4358
cmd/k8s-operator,ipn/ipnlocal: allow opting out of ACME order replace…
irbekrm Dec 19, 2025
ee59470
net/udprelay: remove tailscaled_peer_relay_endpoints_total (#18254)
illotum Dec 20, 2025
9c3a420
cmd/tailscale/cli: document why there's no --force-reauth on login
alexwlchan Dec 22, 2025
2917ea8
ipn/ipnauth, safesocket: defer named pipe client's token retrieval un…
nickkhyl Dec 19, 2025
d451cd5
cmd/derper: add --acme-email flag for GCP cert mode (#18278)
rajsinghtech Dec 25, 2025
b708152
scripts/installer.sh: add ultramarine to supported OS list
veighnsche Jan 5, 2026
39a6188
ssh/tailssh: send audit messages on SSH login (Linux)
raggi Jan 5, 2026
2e77b75
ipn/ipnlocal: don't fail profile unmarshal due to attestation keys (#…
awly Jan 6, 2026
68617bb
cmd/tailscaled: disable state encryption / attestation by default (#1…
awly Jan 6, 2026
8ea90ba
cmd/tailscaled,ipn/{ipnlocal,store/kubestore}: don't create attestati…
irbekrm Jan 6, 2026
7de1b0b
cmd/tailscale/cli: remove Services-specific subcommands from funnel (…
hwh33 Jan 6, 2026
9a6282b
.github: Bump actions/checkout from 4.2.2 to 5.0.0
dependabot[bot] Jan 6, 2026
a662c54
.github/workflows: bump create-pull-request to 8.0.0
mpminardi Jan 6, 2026
4c3cf8b
wgengine/magicsock: extract IMDS utilities into a standalone package …
illotum Jan 7, 2026
480ee9f
ipn,cmd/tailscale/cli: set correct SNI name for TLS-terminated TCP Se…
tendstofortytwo Jan 7, 2026
6c67def
cmd/distsign: add CLI for verifying package signatures (#18239)
awly Jan 7, 2026
e665310
cmd/containerboot: add OAuth and WIF auth support (#18311)
rajsinghtech Jan 7, 2026
522a6e3
cmd/tailscale/cli, util/qrcodes: format QR codes on Linux consoles (#…
sfllaw Jan 8, 2026
73cb3b4
cmd/k8s-operator/e2e: run self-contained e2e tests with devcontrol (#…
tomhjp Jan 8, 2026
5be02ee
cmd/k8s-operator/e2e,go.mod: remove client v2 dependency
tomhjp Jan 8, 2026
5019dc8
go.mod: bump mkctr dep (#18365)
tomhjp Jan 8, 2026
6aac87a
net/portmapper, go.mod: unfork our goupnp dependency
andrew-d Dec 18, 2025
3e45e5b
feature/featuretags: make QR codes modular (#18358)
sfllaw Jan 8, 2026
4c37141
cmd,internal,feature: add workload idenity support to gitops pusher
mpminardi Dec 17, 2025
5f34f14
net/udprelay: apply netns Control func to server socket(s)
jwhited Jan 7, 2026
f976206
tsnet: reset serve config only once
hwh33 Jan 9, 2026
3c1be08
tsnet: ensure funnel listener cleans up after itself when closed
hwh33 Jan 9, 2026
5db95ec
go.mod: bump github.com/containerd/containerd@v1.7.29 (#18374)
patrickod Jan 9, 2026
aadc4f2
wgengine/magicsock: add home DERP region usermetric (#18062)
rajsinghtech Jan 9, 2026
78c8d14
tsnet: use errors.Join and idiomatic field order
hwh33 Jan 9, 2026
87e108e
docs: add instructions on referencing pull requests in commit messages
hwh33 Jan 12, 2026
8c17d87
ipn/store/kubestore: don't load write replica certs in memory (#18395)
irbekrm Jan 13, 2026
76fb09c
.github/workflows: fix timeouts by caching packages for golangci-lint…
sfllaw Jan 13, 2026
17b0c7b
metrics: add a NewLabelMap helper to create and register label maps
knyar Jan 12, 2026
58042e2
metrics: add a NewSet and Set.NewLabelMap helpers
knyar Jan 13, 2026
6a6aa80
cmd,feature: add identity token auto generation for workload identity…
danni-popova Jan 14, 2026
28f1635
.github/actions/go-cache: build cigocacher using remote path, fall ba…
irbekrm Jan 14, 2026
02af7c9
tsnet: allow for automatic ID token generation
mpminardi Jan 14, 2026
e9d8276
cmd/containerboot: allow for automatic ID token generation
mpminardi Jan 14, 2026
c3b7f24
ipn,ipn/local: always accept routes for Tailscale Services (cgnat ran…
ChaosInTheCRD Jan 14, 2026
5aeee1d
.github/workflows: double the timeout for golangci-lint (#18404)
sfllaw Jan 14, 2026
8207707
VERSION.txt: this is v1.94.0
nickoneill Jan 14, 2026
919b2ac
net/netmon: move TailscaleInterfaceIndex out of netmon.State (#18428)
barnstar Jan 16, 2026
56442e2
ipn/ipnlocal: allow retrieval of serve config ETags from local API
hwh33 Jan 13, 2026
ab802bb
tsnet: add support for Services
hwh33 Jan 13, 2026
77af257
k8s-operator,kube: allow k8s api request events to be enabled via gra…
ChaosInTheCRD Jan 21, 2026
d885b34
VERSION.txt: this is v1.94.1
nickoneill Jan 22, 2026
1179da9
Merge tag 'v1.94.1' into cpierre/coreweave-v1.94.1
ChandonPierre Jan 27, 2026
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
54 changes: 54 additions & 0 deletions .github/actions/go-cache/action.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
#!/usr/bin/env bash
#
# This script sets up cigocacher, but should never fail the build if unsuccessful.
# It expects to run on a GitHub-hosted runner, and connects to cigocached over a
# private Azure network that is configured at the runner group level in GitHub.
#
# Usage: ./action.sh
# Inputs:
# URL: The cigocached server URL.
# HOST: The cigocached server host to dial.
# Outputs:
# success: Whether cigocacher was set up successfully.

set -euo pipefail

if [ -z "${GITHUB_ACTIONS:-}" ]; then
echo "This script is intended to run within GitHub Actions"
exit 1
fi

if [ -z "${URL:-}" ]; then
echo "No cigocached URL is set, skipping cigocacher setup"
exit 0
fi

GOPATH=$(command -v go || true)
if [ -z "${GOPATH}" ]; then
if [ ! -f "tool/go" ]; then
echo "Go not available, unable to proceed"
exit 1
fi
GOPATH="./tool/go"
fi

BIN_PATH="${RUNNER_TEMP:-/tmp}/cigocacher$(${GOPATH} env GOEXE)"
if [ -d "cmd/cigocacher" ]; then
echo "cmd/cigocacher found locally, building from local source"
"${GOPATH}" build -o "${BIN_PATH}" ./cmd/cigocacher
else
echo "cmd/cigocacher not found locally, fetching from tailscale.com/cmd/cigocacher"
"${GOPATH}" build -o "${BIN_PATH}" tailscale.com/cmd/cigocacher
fi

CIGOCACHER_TOKEN="$("${BIN_PATH}" --auth --cigocached-url "${URL}" --cigocached-host "${HOST}" )"
if [ -z "${CIGOCACHER_TOKEN:-}" ]; then
echo "Failed to fetch cigocacher token, skipping cigocacher setup"
exit 0
fi

echo "Fetched cigocacher token successfully"
echo "::add-mask::${CIGOCACHER_TOKEN}"

echo "GOCACHEPROG=${BIN_PATH} --cache-dir ${CACHE_DIR} --cigocached-url ${URL} --cigocached-host ${HOST} --token ${CIGOCACHER_TOKEN}" >> "${GITHUB_ENV}"
echo "success=true" >> "${GITHUB_OUTPUT}"
35 changes: 35 additions & 0 deletions .github/actions/go-cache/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
name: go-cache
description: Set up build to use cigocacher

inputs:
cigocached-url:
description: URL of the cigocached server
required: true
cigocached-host:
description: Host to dial for the cigocached server
required: true
checkout-path:
description: Path to cloned repository
required: true
cache-dir:
description: Directory to use for caching
required: true

outputs:
success:
description: Whether cigocacher was set up successfully
value: ${{ steps.setup.outputs.success }}

runs:
using: composite
steps:
- name: Setup cigocacher
id: setup
shell: bash
env:
URL: ${{ inputs.cigocached-url }}
HOST: ${{ inputs.cigocached-host }}
CACHE_DIR: ${{ inputs.cache-dir }}
working-directory: ${{ inputs.checkout-path }}
# https://github.com/orgs/community/discussions/25910
run: $GITHUB_ACTION_PATH/action.sh
34 changes: 34 additions & 0 deletions .github/workflows/checklocks.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
name: checklocks

on:
push:
branches:
- main
pull_request:
paths:
- '**/*.go'
- '.github/workflows/checklocks.yml'

concurrency:
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}
cancel-in-progress: true

jobs:
checklocks:
runs-on: [ ubuntu-latest ]
steps:
- name: Check out code
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1

- name: Build checklocks
run: ./tool/go build -o /tmp/checklocks gvisor.dev/gvisor/tools/checklocks/cmd/checklocks

- name: Run checklocks vet
# TODO(#12625): add more packages as we add annotations
run: |-
./tool/go vet -vettool=/tmp/checklocks \
./envknob \
./ipn/store/mem \
./net/stun/stuntest \
./net/wsconn \
./proxymap
73 changes: 73 additions & 0 deletions .github/workflows/cigocacher.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
name: Build cigocacher

on:
# Released on-demand. The commit will be used as part of the tag, so generally
# prefer to release from main where the commit is stable in linear history.
workflow_dispatch:

jobs:
build:
strategy:
matrix:
GOOS: ["linux", "darwin", "windows"]
GOARCH: ["amd64", "arm64"]
runs-on: ubuntu-24.04
env:
GOOS: "${{ matrix.GOOS }}"
GOARCH: "${{ matrix.GOARCH }}"
CGO_ENABLED: "0"
steps:
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
- name: Build
run: |
OUT="cigocacher$(./tool/go env GOEXE)"
./tool/go build -o "${OUT}" ./cmd/cigocacher/
tar -zcf cigocacher-${{ matrix.GOOS }}-${{ matrix.GOARCH }}.tar.gz "${OUT}"

- uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
with:
name: cigocacher-${{ matrix.GOOS }}-${{ matrix.GOARCH }}
path: cigocacher-${{ matrix.GOOS }}-${{ matrix.GOARCH }}.tar.gz

release:
runs-on: ubuntu-24.04
needs: build
permissions:
contents: write
steps:
- name: Download all artifacts
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
with:
pattern: 'cigocacher-*'
merge-multiple: true
# This step is a simplified version of actions/create-release and
# actions/upload-release-asset, which are archived and unmaintained.
- name: Create release
uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8.0.0
with:
script: |
const fs = require('fs');
const path = require('path');

const { data: release } = await github.rest.repos.createRelease({
owner: context.repo.owner,
repo: context.repo.repo,
tag_name: `cmd/cigocacher/${{ github.sha }}`,
name: `cigocacher-${{ github.sha }}`,
draft: false,
prerelease: true,
target_commitish: `${{ github.sha }}`
});

const files = fs.readdirSync('.').filter(f => f.endsWith('.tar.gz'));

for (const file of files) {
await github.rest.repos.uploadReleaseAsset({
owner: context.repo.owner,
repo: context.repo.repo,
release_id: release.id,
name: file,
data: fs.readFileSync(file)
});
console.log(`Uploaded ${file}`);
}
83 changes: 83 additions & 0 deletions .github/workflows/codeql-analysis.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,83 @@
# For most projects, this workflow file will not need changing; you simply need
# to commit it to your repository.
#
# You may wish to alter this file to override the set of languages analyzed,
# or to provide custom queries or build logic.
#
# ******** NOTE ********
# We have attempted to detect the languages in your repository. Please check
# the `language` matrix defined below to confirm you have the correct set of
# supported CodeQL languages.
#
name: "CodeQL"

on:
push:
branches: [ main, release-branch/* ]
pull_request:
# The branches below must be a subset of the branches above
branches: [ main ]
merge_group:
branches: [ main ]
schedule:
- cron: '31 14 * * 5'

concurrency:
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}
cancel-in-progress: true

jobs:
analyze:
name: Analyze
runs-on: ubuntu-latest
permissions:
actions: read
contents: read
security-events: write

strategy:
fail-fast: false
matrix:
language: [ 'go' ]
# CodeQL supports [ 'cpp', 'csharp', 'go', 'java', 'javascript', 'python' ]
# Learn more:
# https://docs.github.com/en/free-pro-team@latest/github/finding-security-vulnerabilities-and-errors-in-your-code/configuring-code-scanning#changing-the-languages-that-are-analyzed

steps:
- name: Checkout repository
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1

# Install a more recent Go that understands modern go.mod content.
- name: Install Go
uses: actions/setup-go@d35c59abb061a4a6fb18e82ac0862c26744d6ab5 # v5.5.0
with:
go-version-file: go.mod

# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
uses: github/codeql-action/init@76621b61decf072c1cee8dd1ce2d2a82d33c17ed # v3.29.5
with:
languages: ${{ matrix.language }}
# If you wish to specify custom queries, you can do so here or in a config file.
# By default, queries listed here will override any specified in a config file.
# Prefix the list here with "+" to use these queries and those in the config file.
# queries: ./path/to/local/query, your-org/your-repo/queries@main

# Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
# If this step fails, then you should remove it and run the build manually (see below)
- name: Autobuild
uses: github/codeql-action/autobuild@76621b61decf072c1cee8dd1ce2d2a82d33c17ed # v3.29.5

# ℹ️ Command-line programs to run using the OS shell.
# 📚 https://git.io/JvXDl

# ✏️ If the Autobuild fails above, remove it and uncomment the following three lines
# and modify them (or add more) to build your code if your project
# uses a compiled language

#- run: |
# make bootstrap
# make release

- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@76621b61decf072c1cee8dd1ce2d2a82d33c17ed # v3.29.5
29 changes: 29 additions & 0 deletions .github/workflows/docker-base.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
name: "Validate Docker base image"
on:
workflow_dispatch:
pull_request:
paths:
- "Dockerfile.base"
- ".github/workflows/docker-base.yml"
jobs:
build-and-test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
- name: "build and test"
run: |
set -e
IMG="test-base:$(head -c 8 /dev/urandom | xxd -p)"
docker build -t "$IMG" -f Dockerfile.base .

iptables_version=$(docker run --rm "$IMG" iptables --version)
if [[ "$iptables_version" != *"(legacy)"* ]]; then
echo "ERROR: Docker base image should contain legacy iptables; found ${iptables_version}"
exit 1
fi

ip6tables_version=$(docker run --rm "$IMG" ip6tables --version)
if [[ "$ip6tables_version" != *"(legacy)"* ]]; then
echo "ERROR: Docker base image should contain legacy ip6tables; found ${ip6tables_version}"
exit 1
fi
13 changes: 13 additions & 0 deletions .github/workflows/docker-file-build.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
name: "Dockerfile build"
on:
push:
branches:
- main
pull_request:
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
- name: "Build Docker image"
run: docker build .
27 changes: 27 additions & 0 deletions .github/workflows/flakehub-publish-tagged.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
name: update-flakehub

on:
push:
tags:
- "v[0-9]+.*[02468].[0-9]+"
workflow_dispatch:
inputs:
tag:
description: "The existing tag to publish to FlakeHub"
type: "string"
required: true
jobs:
flakehub-publish:
runs-on: "ubuntu-latest"
permissions:
id-token: "write"
contents: "read"
steps:
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
with:
ref: "${{ (inputs.tag != null) && format('refs/tags/{0}', inputs.tag) || '' }}"
- uses: DeterminateSystems/nix-installer-action@786fff0690178f1234e4e1fe9b536e94f5433196 # v20
- uses: DeterminateSystems/flakehub-push@71f57208810a5d299fc6545350981de98fdbc860 # v6
with:
visibility: "public"
tag: "${{ inputs.tag }}"
Loading
Loading