Skip to content

tagged-release

tagged-release #20

Workflow file for this run

name: "tagged-release"
on:
workflow_dispatch:
push:
tags:
- "v*-android"
permissions:
contents: write
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Set up Go
uses: actions/setup-go@v5
with:
go-version-file: 'go.mod'
check-latest: true
id: go
- run: go version
- name: Install Android NDK
id: setup-ndk
uses: nttld/setup-ndk@v1
with:
ndk-version: r27c
add-to-path: false
- name: Build arm
run: |
export ANDROID_NDK_PATH="${{ steps.setup-ndk.outputs.ndk-path }}/toolchains/llvm/prebuilt/linux-x86_64/bin"
./build_android.sh arm
- name: Build arm64
run: |
export ANDROID_NDK_PATH="${{ steps.setup-ndk.outputs.ndk-path }}/toolchains/llvm/prebuilt/linux-x86_64/bin"
./build_android.sh arm64
- name: Install UPX
uses: crazy-max/ghaction-upx@v3
with:
install-only: true
- name: Compress binaries with UPX
run: |
upx --lzma --best ./dist/tailscale.combined.arm
upx --lzma --best ./dist/tailscale.combined.arm64
- name: Compress artifacts
id: compress_artifacts
run: |
eval "$(./build_dist.sh shellvars)"
echo "VERSION_SHORT=$VERSION_SHORT" >> $GITHUB_OUTPUT
tar -czf dist/tailscale.combined.arm64.${VERSION_SHORT}.tar.gz -C dist --transform='s/tailscale.combined.arm64/tailscale.combined/' tailscale.combined.arm64
tar -czf dist/tailscale.combined.arm.${VERSION_SHORT}.tar.gz -C dist --transform='s/tailscale.combined.arm/tailscale.combined/' tailscale.combined.arm
ls -lh dist
- name: Upload artifacts
uses: actions/upload-artifact@v4
with:
name: release-artifacts
path: |
dist/*.tar.gz
- name: Upload artifacts for arm
uses: actions/upload-artifact@v4
with:
name: tailscale.combined.arm.${{ steps.compress_artifacts.outputs.VERSION_SHORT }}
path: |
dist/tailscale.combined.arm
- name: Upload artifacts for arm64
uses: actions/upload-artifact@v4
with:
name: tailscale.combined.arm64.${{ steps.compress_artifacts.outputs.VERSION_SHORT }}
path: |
dist/tailscale.combined.arm64
- name: Create Release
uses: "marvinpinto/action-automatic-releases@latest"
with:
repo_token: "${{ secrets.GITHUB_TOKEN }}"
prerelease: false
files: |
dist/*.tar.gz